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
@@ -2,7 +2,7 @@ import { checkCookieSupport, hasDeviceAccess, logError } from './utils.js';
2
2
  import { bidderSettings } from './bidderSettings.js';
3
3
  import { MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID } from './activities/modules.js';
4
4
  import { isActivityAllowed, registerActivityControl } from './activities/rules.js';
5
- import { ACTIVITY_PARAM_ADAPTER_CODE, ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY, ACTIVITY_PARAM_STORAGE_TYPE } from './activities/params.js';
5
+ import { ACTIVITY_PARAM_ADAPTER_CODE, ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY, ACTIVITY_PARAM_STORAGE_TYPE, ACTIVITY_PARAM_STORAGE_WRITE } from './activities/params.js';
6
6
  import { ACTIVITY_ACCESS_DEVICE, ACTIVITY_ACCESS_REQUEST_CREDENTIALS } from './activities/activities.js';
7
7
  import { config } from './config.js';
8
8
  import { hook } from "./hook.js";
@@ -26,14 +26,15 @@ export function newStorageManager() {
26
26
  let {
27
27
  isAllowed = isActivityAllowed
28
28
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
29
- function isValid(cb, storageType, storageKey) {
29
+ function isValid(cb, storageType, storageKey, isWrite) {
30
30
  let mod = moduleName;
31
31
  const curBidder = config.getCurrentBidder();
32
32
  if (curBidder && moduleType === MODULE_TYPE_BIDDER && adapterManager.aliasRegistry[curBidder] === moduleName) {
33
33
  mod = curBidder;
34
34
  }
35
35
  const params = {
36
- [ACTIVITY_PARAM_STORAGE_TYPE]: storageType
36
+ [ACTIVITY_PARAM_STORAGE_TYPE]: storageType,
37
+ [ACTIVITY_PARAM_STORAGE_WRITE]: isWrite
37
38
  };
38
39
  if (advertiseKeys && storageKey != null) {
39
40
  params[ACTIVITY_PARAM_STORAGE_KEY] = storageKey;
@@ -43,14 +44,14 @@ export function newStorageManager() {
43
44
  };
44
45
  return cb(result);
45
46
  }
46
- function schedule(operation, storageType, storageKey, done) {
47
+ function schedule(operation, storageType, storageKey, isWrite, done) {
47
48
  if (done && typeof done === 'function') {
48
49
  storageCallbacks.push(function () {
49
- const result = isValid(operation, storageType, storageKey);
50
+ let result = isValid(operation, storageType, storageKey, isWrite);
50
51
  done(result);
51
52
  });
52
53
  } else {
53
- return isValid(operation, storageType, storageKey);
54
+ return isValid(operation, storageType, storageKey, isWrite);
54
55
  }
55
56
  }
56
57
 
@@ -66,7 +67,7 @@ export function newStorageManager() {
66
67
  * @param {function} [done]
67
68
  */
68
69
  const setCookie = function (key, value, expires, sameSite, domain, done) {
69
- const cb = function (result) {
70
+ let cb = function (result) {
70
71
  if (result && result.valid) {
71
72
  const domainPortion = domain && domain !== '' ? ` ;domain=${encodeURIComponent(domain)}` : '';
72
73
  const expiresPortion = expires && expires !== '' ? ` ;expires=${expires}` : '';
@@ -75,7 +76,7 @@ export function newStorageManager() {
75
76
  document.cookie = `${key}=${encodeURIComponent(value)}${expiresPortion}; path=/${domainPortion}${sameSite ? `; SameSite=${sameSite}` : ''}${secure}`;
76
77
  }
77
78
  };
78
- return schedule(cb, STORAGE_TYPE_COOKIES, key, done);
79
+ return schedule(cb, STORAGE_TYPE_COOKIES, key, true, done);
79
80
  };
80
81
 
81
82
  /**
@@ -84,14 +85,14 @@ export function newStorageManager() {
84
85
  * @returns {(string|null)}
85
86
  */
86
87
  const getCookie = function (name, done) {
87
- const cb = function (result) {
88
+ let cb = function (result) {
88
89
  if (result && result.valid) {
89
- const m = window.document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]*)\\s*(;|$)');
90
+ let m = window.document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]*)\\s*(;|$)');
90
91
  return m ? decodeURIComponent(m[2]) : null;
91
92
  }
92
93
  return null;
93
94
  };
94
- return schedule(cb, STORAGE_TYPE_COOKIES, name, done);
95
+ return schedule(cb, STORAGE_TYPE_COOKIES, name, false, done);
95
96
  };
96
97
 
97
98
  /**
@@ -99,19 +100,19 @@ export function newStorageManager() {
99
100
  * @returns {boolean}
100
101
  */
101
102
  const cookiesAreEnabled = function (done) {
102
- const cb = function (result) {
103
+ let cb = function (result) {
103
104
  if (result && result.valid) {
104
105
  return checkCookieSupport();
105
106
  }
106
107
  return false;
107
108
  };
108
- return schedule(cb, STORAGE_TYPE_COOKIES, null, done);
109
+ return schedule(cb, STORAGE_TYPE_COOKIES, null, false, done);
109
110
  };
110
111
  function storageMethods(name) {
111
112
  const capName = name.charAt(0).toUpperCase() + name.substring(1);
112
113
  const backend = () => window[name];
113
114
  const hasStorage = function (done) {
114
- const cb = function (result) {
115
+ let cb = function (result) {
115
116
  if (result && result.valid) {
116
117
  try {
117
118
  return !!backend();
@@ -121,12 +122,12 @@ export function newStorageManager() {
121
122
  }
122
123
  return false;
123
124
  };
124
- return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);
125
+ return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);
125
126
  };
126
127
  return {
127
128
  [`has${capName}`]: hasStorage,
128
129
  [`${name}IsEnabled`](done) {
129
- const cb = function (result) {
130
+ let cb = function (result) {
130
131
  if (result && result.valid) {
131
132
  try {
132
133
  backend().setItem('prebid.cookieTest', '1');
@@ -139,32 +140,32 @@ export function newStorageManager() {
139
140
  }
140
141
  return false;
141
142
  };
142
- return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);
143
+ return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);
143
144
  },
144
145
  [`setDataIn${capName}`](key, value, done) {
145
- const cb = function (result) {
146
+ let cb = function (result) {
146
147
  if (result && result.valid && hasStorage()) {
147
148
  backend().setItem(key, value);
148
149
  }
149
150
  };
150
- return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);
151
+ return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);
151
152
  },
152
153
  [`getDataFrom${capName}`](key, done) {
153
- const cb = function (result) {
154
+ let cb = function (result) {
154
155
  if (result && result.valid && hasStorage()) {
155
156
  return backend().getItem(key);
156
157
  }
157
158
  return null;
158
159
  };
159
- return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);
160
+ return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, false, done);
160
161
  },
161
162
  [`removeDataFrom${capName}`](key, done) {
162
- const cb = function (result) {
163
+ let cb = function (result) {
163
164
  if (result && result.valid && hasStorage()) {
164
165
  backend().removeItem(key);
165
166
  }
166
167
  };
167
- return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);
168
+ return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);
168
169
  }
169
170
  };
170
171
  }
@@ -177,7 +178,7 @@ export function newStorageManager() {
177
178
  * @returns {string[]}
178
179
  */
179
180
  const findSimilarCookies = function (keyLike, done) {
180
- const cb = function (result) {
181
+ let cb = function (result) {
181
182
  if (result && result.valid) {
182
183
  const all = [];
183
184
  if (hasDeviceAccess()) {
@@ -195,7 +196,7 @@ export function newStorageManager() {
195
196
  return all;
196
197
  }
197
198
  };
198
- return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, done);
199
+ return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, false, done);
199
200
  };
200
201
  return {
201
202
  setCookie,
@@ -1 +1 @@
1
- {"version":3,"file":"storageManager.js","names":["checkCookieSupport","hasDeviceAccess","logError","bidderSettings","MODULE_TYPE_BIDDER","MODULE_TYPE_PREBID","isActivityAllowed","registerActivityControl","ACTIVITY_PARAM_ADAPTER_CODE","ACTIVITY_PARAM_COMPONENT_TYPE","ACTIVITY_PARAM_STORAGE_KEY","ACTIVITY_PARAM_STORAGE_TYPE","ACTIVITY_ACCESS_DEVICE","ACTIVITY_ACCESS_REQUEST_CREDENTIALS","config","hook","adapterManager","activityParams","STORAGE_TYPE_LOCALSTORAGE","STORAGE_TYPE_COOKIES","storageCallbacks","newStorageManager","moduleName","moduleType","advertiseKeys","arguments","length","undefined","isAllowed","isValid","cb","storageType","storageKey","mod","curBidder","getCurrentBidder","aliasRegistry","params","result","valid","schedule","operation","done","push","setCookie","key","value","expires","sameSite","domain","domainPortion","encodeURIComponent","expiresPortion","isNone","toLowerCase","secure","document","cookie","getCookie","name","m","window","match","decodeURIComponent","cookiesAreEnabled","storageMethods","capName","charAt","toUpperCase","substring","backend","hasStorage","e","setItem","getItem","error","removeItem","findSimilarCookies","keyLike","all","cookies","split","pop","separatorIndex","indexOf","cookieName","slice","replace","getStorageManager","bidderCode","err","Error","getCoreStorageManager","deviceAccessRule","allow","storageAllowedRule","bs","get","Array","isArray","some","resetData","discloseStorageUse","disclosure"],"sourceRoot":"../../..","sources":["src/storageManager.ts"],"sourcesContent":["import {checkCookieSupport, hasDeviceAccess, logError} from './utils.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID, type ModuleType} from './activities/modules.js';\nimport {isActivityAllowed, registerActivityControl} from './activities/rules.js';\nimport {\n ACTIVITY_PARAM_ADAPTER_CODE,\n ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY,\n ACTIVITY_PARAM_STORAGE_TYPE\n} from './activities/params.js';\n\nimport {ACTIVITY_ACCESS_DEVICE, ACTIVITY_ACCESS_REQUEST_CREDENTIALS} from './activities/activities.js';\nimport {config} from './config.js';\nimport {hook} from \"./hook.ts\";\nimport adapterManager from './adapterManager.js';\nimport {activityParams} from './activities/activityParams.js';\nimport type {AnyFunction} from \"./types/functions.d.ts\";\nimport type {BidderCode} from \"./types/common.d.ts\";\n\nexport const STORAGE_TYPE_LOCALSTORAGE = 'html5';\nexport const STORAGE_TYPE_COOKIES = 'cookie';\n\nexport type StorageType = typeof STORAGE_TYPE_LOCALSTORAGE | typeof STORAGE_TYPE_COOKIES;\n\nexport let storageCallbacks = [];\n\n/* eslint-disable no-restricted-properties */\n\ninterface AcceptsCallback<FN extends AnyFunction> {\n (...args: Parameters<FN>): ReturnType<FN>;\n (...args: [...Parameters<FN>, (result: ReturnType<FN>) => void]): void;\n}\n\ntype BrowserStorage = 'localStorage' | 'sessionStorage';\n\nexport type StorageManager = {\n [M in BrowserStorage as `has${Capitalize<M>}`]: AcceptsCallback<() => boolean>;\n} & {\n [M in BrowserStorage as `${M}IsEnabled`]: AcceptsCallback<() => boolean>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `setDataIn${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.setItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `getDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.getItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `removeDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.removeItem>\n} & {\n setCookie: AcceptsCallback<(name: string, value: string, expires?: string, sameSite?: string, domain?: string) => void>;\n getCookie: AcceptsCallback<(name: string) => string>;\n cookiesAreEnabled: AcceptsCallback<() => boolean>;\n findSimilarCookies: AcceptsCallback<(contains: string) => string[]>\n}\n\n/*\n * Storage manager constructor. Consumers should prefer one of `getStorageManager` or `getCoreStorageManager`.\n */\nexport function newStorageManager({moduleName, moduleType, advertiseKeys = true}: {\n moduleName: string;\n moduleType: ModuleType;\n /**\n * If false, do not pass the 'storageKey' to activity checks - turning off storageControl for this manager.\n */\n advertiseKeys?: boolean;\n} = {} as any, {isAllowed = isActivityAllowed} = {}) {\n function isValid(cb, storageType, storageKey) {\n let mod = moduleName;\n const curBidder = config.getCurrentBidder();\n if (curBidder && moduleType === MODULE_TYPE_BIDDER && adapterManager.aliasRegistry[curBidder] === moduleName) {\n mod = curBidder;\n }\n const params = {\n [ACTIVITY_PARAM_STORAGE_TYPE]: storageType,\n };\n if (advertiseKeys && storageKey != null) {\n params[ACTIVITY_PARAM_STORAGE_KEY] = storageKey;\n }\n const result = {\n valid: isAllowed(ACTIVITY_ACCESS_DEVICE, activityParams(moduleType, mod, params))\n };\n\n return cb(result);\n }\n\n function schedule(operation, storageType, storageKey, done) {\n if (done && typeof done === 'function') {\n storageCallbacks.push(function() {\n const result = isValid(operation, storageType, storageKey);\n done(result);\n });\n } else {\n return isValid(operation, storageType, storageKey);\n }\n }\n\n /**\n * @param {string} key\n * @param {string} value\n * @param {string} [expires='']\n * @param {string} [sameSite='/']\n * @param {string} [domain] domain (e.g., 'example.com' or 'subdomain.example.com').\n * If not specified, defaults to the host portion of the current document location.\n * If a domain is specified, subdomains are always included.\n * Domain must match the domain of the JavaScript origin. Setting cookies to foreign domains will be silently ignored.\n * @param {function} [done]\n */\n const setCookie = function (key, value, expires, sameSite, domain, done) {\n const cb = function (result) {\n if (result && result.valid) {\n const domainPortion = (domain && domain !== '') ? ` ;domain=${encodeURIComponent(domain)}` : '';\n const expiresPortion = (expires && expires !== '') ? ` ;expires=${expires}` : '';\n const isNone = (sameSite != null && sameSite.toLowerCase() == 'none')\n const secure = (isNone) ? '; Secure' : '';\n document.cookie = `${key}=${encodeURIComponent(value)}${expiresPortion}; path=/${domainPortion}${sameSite ? `; SameSite=${sameSite}` : ''}${secure}`;\n }\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, key, done);\n };\n\n /**\n * @param {string} name\n * @param {function} [done]\n * @returns {(string|null)}\n */\n const getCookie = function(name, done) {\n const cb = function (result) {\n if (result && result.valid) {\n const m = window.document.cookie.match('(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]*)\\\\s*(;|$)');\n return m ? decodeURIComponent(m[2]) : null;\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, name, done);\n };\n\n /**\n * @param {function} [done]\n * @returns {boolean}\n */\n const cookiesAreEnabled = function (done) {\n const cb = function (result) {\n if (result && result.valid) {\n return checkCookieSupport();\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, null, done);\n }\n\n function storageMethods(name) {\n const capName = name.charAt(0).toUpperCase() + name.substring(1);\n const backend = () => window[name] as any;\n\n const hasStorage: AcceptsCallback<() => boolean> = function (done) {\n const cb = function (result) {\n if (result && result.valid) {\n try {\n return !!backend();\n } catch (e) {\n logError(`${name} api disabled`);\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);\n } as any;\n\n return {\n [`has${capName}`]: hasStorage,\n [`${name}IsEnabled`](done) {\n const cb = function (result) {\n if (result && result.valid) {\n try {\n backend().setItem('prebid.cookieTest', '1');\n return backend().getItem('prebid.cookieTest') === '1';\n } catch (error) {\n } finally {\n try {\n backend().removeItem('prebid.cookieTest');\n } catch (error) {}\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);\n },\n [`setDataIn${capName}`](key, value, done) {\n const cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().setItem(key, value);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);\n },\n [`getDataFrom${capName}`](key, done) {\n const cb = function (result) {\n if (result && result.valid && hasStorage()) {\n return backend().getItem(key);\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);\n },\n [`removeDataFrom${capName}`](key, done) {\n const cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().removeItem(key);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);\n }\n }\n }\n\n /**\n * Returns all cookie values from the jar whose names contain the `keyLike`\n * Needs to exist in `utils.js` as it follows the StorageHandler interface defined in live-connect-js. If that module were to be removed, this function can go as well.\n * @param {string} keyLike\n * @param {function} [done]\n * @returns {string[]}\n */\n const findSimilarCookies = function(keyLike, done) {\n const cb = function (result) {\n if (result && result.valid) {\n const all = [];\n if (hasDeviceAccess()) {\n const cookies = document.cookie.split(';');\n while (cookies.length) {\n const cookie = cookies.pop();\n let separatorIndex = cookie.indexOf('=');\n separatorIndex = separatorIndex < 0 ? cookie.length : separatorIndex;\n const cookieName = decodeURIComponent(cookie.slice(0, separatorIndex).replace(/^\\s+/, ''));\n if (cookieName.indexOf(keyLike) >= 0) {\n all.push(decodeURIComponent(cookie.slice(separatorIndex + 1)));\n }\n }\n }\n return all;\n }\n }\n\n return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, done);\n }\n\n return {\n setCookie,\n getCookie,\n cookiesAreEnabled,\n ...storageMethods('localStorage'),\n ...storageMethods('sessionStorage'),\n findSimilarCookies\n } as StorageManager;\n}\n\n/**\n * Get a storage manager for a particular module.\n *\n * Either bidderCode or a combination of moduleType + moduleName must be provided. The former is a shorthand\n * for `{moduleType: 'bidder', moduleName: bidderCode}`.\n *\n */\nexport function getStorageManager({moduleType, moduleName, bidderCode}: {\n moduleType?: ModuleType;\n moduleName?: string;\n bidderCode?: BidderCode;\n} = {}) {\n function err() {\n throw new Error(`Invalid invocation for getStorageManager: must set either bidderCode, or moduleType + moduleName`)\n }\n if (bidderCode) {\n if ((moduleType && moduleType !== MODULE_TYPE_BIDDER) || moduleName) err()\n moduleType = MODULE_TYPE_BIDDER;\n moduleName = bidderCode;\n } else if (!moduleName || !moduleType) {\n err()\n }\n return newStorageManager({moduleType, moduleName});\n}\n\n/**\n * Get a storage manager for \"core\" (vendorless, or first-party) modules. Shorthand for `getStorageManager({moduleName, moduleType: 'core'})`.\n *\n * @param {string} moduleName Module name\n */\nexport function getCoreStorageManager(moduleName) {\n return newStorageManager({moduleName: moduleName, moduleType: MODULE_TYPE_PREBID});\n}\n\n/**\n * Block all access to storage when deviceAccess = false\n */\nexport function deviceAccessRule() {\n if (!hasDeviceAccess()) {\n return {allow: false}\n }\n}\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'deviceAccess config', deviceAccessRule);\n\n/**\n * Block all access to request credentials when deviceAccess = false\n */\nregisterActivityControl(ACTIVITY_ACCESS_REQUEST_CREDENTIALS, 'deviceAccess config', deviceAccessRule);\n\n/**\n * By default, deny bidders accessDevice unless they enable it through bidderSettings\n *\n * // TODO: for backwards compat, the check is done on the adapter - rather than bidder's code.\n */\nexport function storageAllowedRule(params, bs = bidderSettings) {\n if (params[ACTIVITY_PARAM_COMPONENT_TYPE] !== MODULE_TYPE_BIDDER) return;\n let allow = bs.get(params[ACTIVITY_PARAM_ADAPTER_CODE], 'storageAllowed');\n if (!allow || allow === true) {\n allow = !!allow\n } else {\n const storageType = params[ACTIVITY_PARAM_STORAGE_TYPE];\n allow = Array.isArray(allow) ? allow.some((e) => e === storageType) : allow === storageType;\n }\n if (!allow) {\n return {allow};\n }\n}\n\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'bidderSettings.*.storageAllowed', storageAllowedRule);\n\nexport function resetData() {\n storageCallbacks = [];\n}\n\ntype CookieStorageDisclosure = {\n type: 'cookie',\n /**\n * The number, in seconds, of the duration for storage on a device, as set when using cookie storage.\n */\n maxAgeSeconds: number;\n /**\n * Indicates the vendor is refreshing a cookie.\n */\n cookieRefresh: boolean;\n}\ntype HTML5StorageDisclosure = {\n type: 'web'\n maxAgeSeconds?: null;\n cookieRefresh?: null;\n}\n\n/**\n * First party storage use disclosure. Follows the same format as\n * https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/Vendor%20Device%20Storage%20%26%20Operational%20Disclosures.md\n * except that `domain` is omitted.\n */\nexport type StorageDisclosure = (CookieStorageDisclosure | HTML5StorageDisclosure) & {\n /**\n * Key or object name, depending on type, for the storage item.\n * Wildcards '*' are permitted. For example, \"id*\" or \"*id\" describes multiple prefixed or suffixed identifiers,\n * all having the same purpose(s).\n */\n identifier: string;\n /**\n * The purpose ID or purpose IDs from the Global Vendor List (GVL) for which the storage is used.\n */\n purposes: number[];\n}\n\n/**\n * Disclose first party storage use.\n */\nexport const discloseStorageUse = hook('sync', (moduleName: string, disclosure: StorageDisclosure) => {});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"storageManager.js","names":["checkCookieSupport","hasDeviceAccess","logError","bidderSettings","MODULE_TYPE_BIDDER","MODULE_TYPE_PREBID","isActivityAllowed","registerActivityControl","ACTIVITY_PARAM_ADAPTER_CODE","ACTIVITY_PARAM_COMPONENT_TYPE","ACTIVITY_PARAM_STORAGE_KEY","ACTIVITY_PARAM_STORAGE_TYPE","ACTIVITY_PARAM_STORAGE_WRITE","ACTIVITY_ACCESS_DEVICE","ACTIVITY_ACCESS_REQUEST_CREDENTIALS","config","hook","adapterManager","activityParams","STORAGE_TYPE_LOCALSTORAGE","STORAGE_TYPE_COOKIES","storageCallbacks","newStorageManager","moduleName","moduleType","advertiseKeys","arguments","length","undefined","isAllowed","isValid","cb","storageType","storageKey","isWrite","mod","curBidder","getCurrentBidder","aliasRegistry","params","result","valid","schedule","operation","done","push","setCookie","key","value","expires","sameSite","domain","domainPortion","encodeURIComponent","expiresPortion","isNone","toLowerCase","secure","document","cookie","getCookie","name","m","window","match","decodeURIComponent","cookiesAreEnabled","storageMethods","capName","charAt","toUpperCase","substring","backend","hasStorage","e","setItem","getItem","error","removeItem","findSimilarCookies","keyLike","all","cookies","split","pop","separatorIndex","indexOf","cookieName","slice","replace","getStorageManager","bidderCode","err","Error","getCoreStorageManager","deviceAccessRule","allow","storageAllowedRule","bs","get","Array","isArray","some","resetData","discloseStorageUse","disclosure"],"sourceRoot":"../../..","sources":["src/storageManager.ts"],"sourcesContent":["import {checkCookieSupport, hasDeviceAccess, logError} from './utils.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID, type ModuleType} from './activities/modules.js';\nimport {isActivityAllowed, registerActivityControl} from './activities/rules.js';\nimport {\n ACTIVITY_PARAM_ADAPTER_CODE,\n ACTIVITY_PARAM_COMPONENT_TYPE,\n ACTIVITY_PARAM_STORAGE_KEY,\n ACTIVITY_PARAM_STORAGE_TYPE,\n ACTIVITY_PARAM_STORAGE_WRITE\n} from './activities/params.js';\n\nimport {ACTIVITY_ACCESS_DEVICE, ACTIVITY_ACCESS_REQUEST_CREDENTIALS} from './activities/activities.js';\nimport {config} from './config.js';\nimport {hook} from \"./hook.ts\";\nimport adapterManager from './adapterManager.js';\nimport {activityParams} from './activities/activityParams.js';\nimport type {AnyFunction} from \"./types/functions.d.ts\";\nimport type {BidderCode} from \"./types/common.d.ts\";\n\nexport const STORAGE_TYPE_LOCALSTORAGE = 'html5';\nexport const STORAGE_TYPE_COOKIES = 'cookie';\n\nexport type StorageType = typeof STORAGE_TYPE_LOCALSTORAGE | typeof STORAGE_TYPE_COOKIES;\n\nexport let storageCallbacks = [];\n\n/* eslint-disable no-restricted-properties */\n\ninterface AcceptsCallback<FN extends AnyFunction> {\n (...args: Parameters<FN>): ReturnType<FN>;\n (...args: [...Parameters<FN>, (result: ReturnType<FN>) => void]): void;\n}\n\ntype BrowserStorage = 'localStorage' | 'sessionStorage';\n\nexport type StorageManager = {\n [M in BrowserStorage as `has${Capitalize<M>}`]: AcceptsCallback<() => boolean>;\n} & {\n [M in BrowserStorage as `${M}IsEnabled`]: AcceptsCallback<() => boolean>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `setDataIn${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.setItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `getDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.getItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `removeDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.removeItem>\n} & {\n setCookie: AcceptsCallback<(name: string, value: string, expires?: string, sameSite?: string, domain?: string) => void>;\n getCookie: AcceptsCallback<(name: string) => string>;\n cookiesAreEnabled: AcceptsCallback<() => boolean>;\n findSimilarCookies: AcceptsCallback<(contains: string) => string[]>\n}\n\n/*\n * Storage manager constructor. Consumers should prefer one of `getStorageManager` or `getCoreStorageManager`.\n */\nexport function newStorageManager({moduleName, moduleType, advertiseKeys = true}: {\n moduleName: string;\n moduleType: ModuleType;\n /**\n * If false, do not pass the 'storageKey' to activity checks - turning off storageControl for this manager.\n */\n advertiseKeys?: boolean;\n} = {} as any, {isAllowed = isActivityAllowed} = {}) {\n function isValid(cb, storageType, storageKey, isWrite) {\n let mod = moduleName;\n const curBidder = config.getCurrentBidder();\n if (curBidder && moduleType === MODULE_TYPE_BIDDER && adapterManager.aliasRegistry[curBidder] === moduleName) {\n mod = curBidder;\n }\n const params = {\n [ACTIVITY_PARAM_STORAGE_TYPE]: storageType,\n [ACTIVITY_PARAM_STORAGE_WRITE]: isWrite,\n };\n if (advertiseKeys && storageKey != null) {\n params[ACTIVITY_PARAM_STORAGE_KEY] = storageKey;\n }\n const result = {\n valid: isAllowed(ACTIVITY_ACCESS_DEVICE, activityParams(moduleType, mod, params))\n };\n\n return cb(result);\n }\n\n function schedule(operation, storageType, storageKey, isWrite, done) {\n if (done && typeof done === 'function') {\n storageCallbacks.push(function() {\n let result = isValid(operation, storageType, storageKey, isWrite);\n done(result);\n });\n } else {\n return isValid(operation, storageType, storageKey, isWrite);\n }\n }\n\n /**\n * @param {string} key\n * @param {string} value\n * @param {string} [expires='']\n * @param {string} [sameSite='/']\n * @param {string} [domain] domain (e.g., 'example.com' or 'subdomain.example.com').\n * If not specified, defaults to the host portion of the current document location.\n * If a domain is specified, subdomains are always included.\n * Domain must match the domain of the JavaScript origin. Setting cookies to foreign domains will be silently ignored.\n * @param {function} [done]\n */\n const setCookie = function (key, value, expires, sameSite, domain, done) {\n let cb = function (result) {\n if (result && result.valid) {\n const domainPortion = (domain && domain !== '') ? ` ;domain=${encodeURIComponent(domain)}` : '';\n const expiresPortion = (expires && expires !== '') ? ` ;expires=${expires}` : '';\n const isNone = (sameSite != null && sameSite.toLowerCase() == 'none')\n const secure = (isNone) ? '; Secure' : '';\n document.cookie = `${key}=${encodeURIComponent(value)}${expiresPortion}; path=/${domainPortion}${sameSite ? `; SameSite=${sameSite}` : ''}${secure}`;\n }\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, key, true, done);\n };\n\n /**\n * @param {string} name\n * @param {function} [done]\n * @returns {(string|null)}\n */\n const getCookie = function(name, done) {\n let cb = function (result) {\n if (result && result.valid) {\n let m = window.document.cookie.match('(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]*)\\\\s*(;|$)');\n return m ? decodeURIComponent(m[2]) : null;\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, name, false, done);\n };\n\n /**\n * @param {function} [done]\n * @returns {boolean}\n */\n const cookiesAreEnabled = function (done) {\n let cb = function (result) {\n if (result && result.valid) {\n return checkCookieSupport();\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, null, false, done);\n }\n\n function storageMethods(name) {\n const capName = name.charAt(0).toUpperCase() + name.substring(1);\n const backend = () => window[name] as any;\n\n const hasStorage: AcceptsCallback<() => boolean> = function (done) {\n let cb = function (result) {\n if (result && result.valid) {\n try {\n return !!backend();\n } catch (e) {\n logError(`${name} api disabled`);\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);\n } as any;\n\n return {\n [`has${capName}`]: hasStorage,\n [`${name}IsEnabled`](done) {\n let cb = function (result) {\n if (result && result.valid) {\n try {\n backend().setItem('prebid.cookieTest', '1');\n return backend().getItem('prebid.cookieTest') === '1';\n } catch (error) {\n } finally {\n try {\n backend().removeItem('prebid.cookieTest');\n } catch (error) {}\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);\n },\n [`setDataIn${capName}`](key, value, done) {\n let cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().setItem(key, value);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);\n },\n [`getDataFrom${capName}`](key, done) {\n let cb = function (result) {\n if (result && result.valid && hasStorage()) {\n return backend().getItem(key);\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, false, done);\n },\n [`removeDataFrom${capName}`](key, done) {\n let cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().removeItem(key);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);\n }\n }\n }\n\n /**\n * Returns all cookie values from the jar whose names contain the `keyLike`\n * Needs to exist in `utils.js` as it follows the StorageHandler interface defined in live-connect-js. If that module were to be removed, this function can go as well.\n * @param {string} keyLike\n * @param {function} [done]\n * @returns {string[]}\n */\n const findSimilarCookies = function(keyLike, done) {\n let cb = function (result) {\n if (result && result.valid) {\n const all = [];\n if (hasDeviceAccess()) {\n const cookies = document.cookie.split(';');\n while (cookies.length) {\n const cookie = cookies.pop();\n let separatorIndex = cookie.indexOf('=');\n separatorIndex = separatorIndex < 0 ? cookie.length : separatorIndex;\n const cookieName = decodeURIComponent(cookie.slice(0, separatorIndex).replace(/^\\s+/, ''));\n if (cookieName.indexOf(keyLike) >= 0) {\n all.push(decodeURIComponent(cookie.slice(separatorIndex + 1)));\n }\n }\n }\n return all;\n }\n }\n\n return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, false, done);\n }\n\n return {\n setCookie,\n getCookie,\n cookiesAreEnabled,\n ...storageMethods('localStorage'),\n ...storageMethods('sessionStorage'),\n findSimilarCookies\n } as StorageManager;\n}\n\n/**\n * Get a storage manager for a particular module.\n *\n * Either bidderCode or a combination of moduleType + moduleName must be provided. The former is a shorthand\n * for `{moduleType: 'bidder', moduleName: bidderCode}`.\n *\n */\nexport function getStorageManager({moduleType, moduleName, bidderCode}: {\n moduleType?: ModuleType;\n moduleName?: string;\n bidderCode?: BidderCode;\n} = {}) {\n function err() {\n throw new Error(`Invalid invocation for getStorageManager: must set either bidderCode, or moduleType + moduleName`)\n }\n if (bidderCode) {\n if ((moduleType && moduleType !== MODULE_TYPE_BIDDER) || moduleName) err()\n moduleType = MODULE_TYPE_BIDDER;\n moduleName = bidderCode;\n } else if (!moduleName || !moduleType) {\n err()\n }\n return newStorageManager({moduleType, moduleName});\n}\n\n/**\n * Get a storage manager for \"core\" (vendorless, or first-party) modules. Shorthand for `getStorageManager({moduleName, moduleType: 'core'})`.\n *\n * @param {string} moduleName Module name\n */\nexport function getCoreStorageManager(moduleName) {\n return newStorageManager({moduleName: moduleName, moduleType: MODULE_TYPE_PREBID});\n}\n\n/**\n * Block all access to storage when deviceAccess = false\n */\nexport function deviceAccessRule() {\n if (!hasDeviceAccess()) {\n return {allow: false}\n }\n}\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'deviceAccess config', deviceAccessRule);\n\n/**\n * Block all access to request credentials when deviceAccess = false\n */\nregisterActivityControl(ACTIVITY_ACCESS_REQUEST_CREDENTIALS, 'deviceAccess config', deviceAccessRule);\n\n/**\n * By default, deny bidders accessDevice unless they enable it through bidderSettings\n *\n * // TODO: for backwards compat, the check is done on the adapter - rather than bidder's code.\n */\nexport function storageAllowedRule(params, bs = bidderSettings) {\n if (params[ACTIVITY_PARAM_COMPONENT_TYPE] !== MODULE_TYPE_BIDDER) return;\n let allow = bs.get(params[ACTIVITY_PARAM_ADAPTER_CODE], 'storageAllowed');\n if (!allow || allow === true) {\n allow = !!allow\n } else {\n const storageType = params[ACTIVITY_PARAM_STORAGE_TYPE];\n allow = Array.isArray(allow) ? allow.some((e) => e === storageType) : allow === storageType;\n }\n if (!allow) {\n return {allow};\n }\n}\n\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'bidderSettings.*.storageAllowed', storageAllowedRule);\n\nexport function resetData() {\n storageCallbacks = [];\n}\n\ntype CookieStorageDisclosure = {\n type: 'cookie',\n /**\n * The number, in seconds, of the duration for storage on a device, as set when using cookie storage.\n */\n maxAgeSeconds: number;\n /**\n * Indicates the vendor is refreshing a cookie.\n */\n cookieRefresh: boolean;\n}\ntype HTML5StorageDisclosure = {\n type: 'web'\n maxAgeSeconds?: null;\n cookieRefresh?: null;\n}\n\n/**\n * First party storage use disclosure. Follows the same format as\n * https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/Vendor%20Device%20Storage%20%26%20Operational%20Disclosures.md\n * except that `domain` is omitted.\n */\nexport type StorageDisclosure = (CookieStorageDisclosure | HTML5StorageDisclosure) & {\n /**\n * Key or object name, depending on type, for the storage item.\n * Wildcards '*' are permitted. For example, \"id*\" or \"*id\" describes multiple prefixed or suffixed identifiers,\n * all having the same purpose(s).\n */\n identifier: string;\n /**\n * The purpose ID or purpose IDs from the Global Vendor List (GVL) for which the storage is used.\n */\n purposes: number[];\n}\n\n/**\n * Disclose first party storage use.\n */\nexport const discloseStorageUse = hook('sync', (moduleName: string, disclosure: StorageDisclosure) => {});\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import { EVENTS } from './constants.js';
2
- import type { Bid } from "./bidfactory.ts";
3
- import type { AdUnitCode, ByAdUnit, Identifier } from "./types/common.d.ts";
4
- import type { DefaultTargeting } from "./auction.ts";
1
+ import { EVENTS, TARGETING_KEYS } from './constants.js';
2
+ import type { Bid } from './bidfactory.ts';
3
+ import type { AdUnitCode, ByAdUnit, Identifier } from './types/common.d.ts';
4
+ import type { DefaultTargeting } from './auction.ts';
5
5
  export declare const TARGETING_KEYS_ARR: any[];
6
6
  export declare const filters: {
7
7
  isBidNotExpired: (bid: any) => boolean;
@@ -63,15 +63,15 @@ export interface TargetingControlsConfig {
63
63
  /**
64
64
  * Selects supported default targeting keys.
65
65
  */
66
- allowTargetingKeys?: (keyof DefaultTargeting)[];
66
+ allowTargetingKeys?: (keyof typeof TARGETING_KEYS)[];
67
67
  /**
68
68
  * Selects targeting keys to be supported in addition to the default ones
69
69
  */
70
- addTargetingKeys?: (keyof DefaultTargeting)[];
70
+ addTargetingKeys?: (keyof typeof TARGETING_KEYS)[];
71
71
  /**
72
72
  * Selects supported default targeting keys.
73
73
  */
74
- allowSendAllBidsTargetingKeys?: (keyof DefaultTargeting)[];
74
+ allowSendAllBidsTargetingKeys?: (keyof typeof TARGETING_KEYS)[];
75
75
  /**
76
76
  * Set to false to prevent custom targeting values from being set for non-winning bids
77
77
  */
@@ -1 +1 @@
1
- {"version":3,"file":"targeting.js","names":["auctionManager","getBufferedTTL","bidderSettings","config","BID_STATUS","DEFAULT_TARGETING_KEYS","EVENTS","JSON_MAPPING","TARGETING_KEYS","events","hook","ADPOD","deepAccess","deepClone","groupBy","isAdUnitCodeMatchingSlot","isArray","isFn","isStr","logError","logInfo","logMessage","logWarn","sortByHighestCpm","timestamp","uniques","getHighestCpm","getOldestHighestCpmBid","pbTargetingKeys","MAX_DFP_KEYLENGTH","CFG_ALLOW_TARGETING_KEYS","CFG_ADD_TARGETING_KEYS","TARGETING_KEY_CONFIGURATION_ERROR_MSG","TARGETING_KEYS_ARR","Object","keys","map","key","isBidNotExpired","bid","responseTimestamp","isUnusedBid","status","RENDERED","includes","filters","isBidUsable","values","some","predicate","getHighestCpmBidsFromBidPool","bidsReceived","winReducer","adUnitBidLimit","arguments","length","undefined","hasModified","winSorter","bids","dealPrioritization","getConfig","buckets","forEach","bucketKey","bucketBids","bidsByBidder","push","reduce","sort","sortByDealAndPriceBucketOrCpm","a","b","cpm","slice","useCpm","adserverTargeting","hb_deal","hb_pb","getGPTSlotsForAdUnits","adUnitCodes","customSlotMatching","getSlots","window","googletag","pubads","auToSlots","slot","customMatch","filter","au","fromEntries","newTargeting","latestAuctionForAdUnit","targeting","setLatestAuctionForAdUnit","adUnitCode","auctionId","resetPresetTargetingAST","getAdUnitCodes","unit","astTag","apntag","getTag","keywords","currentKeywords","newKeywords","toLowerCase","modifyTag","getAllTargeting","bidLimit","getBidsReceived","sendAllBids","bidLimitConfigValue","customKeysByUnit","filteredBids","getfilteredBidsAndCustomKeys","bidsSorted","getTargetingLevels","defaultKeys","assign","allowedKeys","addedKeys","Error","concat","Array","getAllowedTargetingKeyValues","flatTargeting","flattenTargeting","auctionKeysThreshold","filterTargetingKeys","code","setTargetingForGPT","adUnit","targetingSet","resetMap","entries","_ref","targetId","slots","value","indexOf","split","getSlotElementId","updateTargetingFromMap","targetingKey","setStatusForBids","BID_TARGETING_SET","targetingDone","emit","SET_TARGETING","getWinningBids","get","bidderCode","setTargetingForAst","astTargeting","e","keywordsObj","regex","search","toUpperCase","setKeywords","overrideKeyValue","isApntagDefined","addBidToTargeting","enableSendAllBids","deals","standardKeys","allowSendAllBidsTargetingKeys","allowedSendAllBidTargeting","result","dealId","targetingValue","getTargetingMap","getBidderTargeting","alwaysIncludeDeals","defaultKeyring","keyDispositions","k","join","keyring","kvPair","isCustom","defaultKey","found","find","allowedKey","allowedKeyName","removedKeys","d","filteredTargeting","updatePBTargetingKeys","targetKey","targetKeys","useAllBidsCustomTargeting","getWinningBidTargeting","getAdUnitTargeting","getCustomBidTargeting","adUnitIsEligible","cpmAllowed","isPreferredDeal","getCustomKeys","truncKey","substring","data","convertKeysToQueryForm","keyMap","queryString","encodedKeyPair","encodeURIComponent","targetingCopy","targetingMap","accMap","currMap","index","arr","adUnitQueryString","querySize","target","p","c","accumulator","bidCacheEnabled","filterFunction","isBidFromLastAuction","filterFunctionResult","cacheFilter","bidFilter","video","context","latestTargetedAuctionId","winners","getStandardKeys","winner","sendStandardTargeting","acc","DEAL","bidderCodeTargetingKey","bidderCodeTargeting","getStandardBidderAdServerTargeting","newBid","customKeysForUnit","getTargetingObj","ADSERVER_TARGETING","getTargetingValues","aut","s","trim","getAdUnits","targetingValues"],"sourceRoot":"../../..","sources":["src/targeting.ts"],"sourcesContent":["import {auctionManager} from './auctionManager.js';\nimport {getBufferedTTL} from './bidTTL.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {config} from './config.js';\nimport {\n BID_STATUS,\n DEFAULT_TARGETING_KEYS,\n EVENTS,\n JSON_MAPPING,\n TARGETING_KEYS\n} from './constants.js';\nimport * as events from './events.js';\nimport {hook} from './hook.js';\nimport {ADPOD} from './mediaTypes.js';\nimport {\n deepAccess,\n deepClone,\n groupBy,\n isAdUnitCodeMatchingSlot,\n isArray,\n isFn,\n isStr,\n logError,\n logInfo,\n logMessage,\n logWarn,\n sortByHighestCpm,\n timestamp,\n uniques,\n} from './utils.js';\nimport {getHighestCpm, getOldestHighestCpmBid} from './utils/reducers.js';\nimport type {Bid} from \"./bidfactory.ts\";\nimport type {AdUnitCode, ByAdUnit, Identifier} from \"./types/common.d.ts\";\nimport type {DefaultTargeting} from \"./auction.ts\";\n\nvar pbTargetingKeys = [];\n\nconst MAX_DFP_KEYLENGTH = 20;\n\nconst CFG_ALLOW_TARGETING_KEYS = `targetingControls.allowTargetingKeys`;\nconst CFG_ADD_TARGETING_KEYS = `targetingControls.addTargetingKeys`;\nconst TARGETING_KEY_CONFIGURATION_ERROR_MSG = `Only one of \"${CFG_ALLOW_TARGETING_KEYS}\" or \"${CFG_ADD_TARGETING_KEYS}\" can be set`;\n\nexport const TARGETING_KEYS_ARR = Object.keys(TARGETING_KEYS).map(\n key => TARGETING_KEYS[key]\n);\n\n// return unexpired bids\nconst isBidNotExpired = (bid) => (bid.responseTimestamp + getBufferedTTL(bid) * 1000) > timestamp();\n\n// return bids whose status is not set. Winning bids can only have a status of `rendered`.\nconst isUnusedBid = (bid) => bid && ((bid.status && ![BID_STATUS.RENDERED].includes(bid.status)) || !bid.status);\n\nexport const filters = {\n isBidNotExpired,\n isUnusedBid\n};\n\nexport function isBidUsable(bid) {\n return !Object.values(filters).some((predicate) => !predicate(bid));\n}\n\n// If two bids are found for same adUnitCode, we will use the highest one to take part in auction\n// This can happen in case of concurrent auctions\n// If adUnitBidLimit is set above 0 return top N number of bids\nexport const getHighestCpmBidsFromBidPool = hook('sync', function(bidsReceived, winReducer, adUnitBidLimit = 0, hasModified = false, winSorter = sortByHighestCpm) {\n if (!hasModified) {\n const bids = [];\n const dealPrioritization = config.getConfig('sendBidsControl.dealPrioritization');\n // bucket by adUnitcode\n const buckets = groupBy(bidsReceived, 'adUnitCode');\n // filter top bid for each bucket by bidder\n Object.keys(buckets).forEach(bucketKey => {\n let bucketBids = [];\n const bidsByBidder = groupBy(buckets[bucketKey], 'bidderCode')\n Object.keys(bidsByBidder).forEach(key => { bucketBids.push(bidsByBidder[key].reduce(winReducer)) });\n // if adUnitBidLimit is set, pass top N number bids\n if (adUnitBidLimit) {\n bucketBids = dealPrioritization ? bucketBids.sort(sortByDealAndPriceBucketOrCpm(true)) : bucketBids.sort((a, b) => b.cpm - a.cpm);\n bids.push(...bucketBids.slice(0, adUnitBidLimit));\n } else {\n bucketBids = bucketBids.sort(winSorter)\n bids.push(...bucketBids);\n }\n });\n\n return bids;\n }\n\n return bidsReceived;\n});\n\n/**\n * A descending sort function that will sort the list of objects based on the following two dimensions:\n * - bids with a deal are sorted before bids w/o a deal\n * - then sort bids in each grouping based on the hb_pb value\n * eg: the following list of bids would be sorted like:\n * [{\n * \"hb_adid\": \"vwx\",\n * \"hb_pb\": \"28\",\n * \"hb_deal\": \"7747\"\n * }, {\n * \"hb_adid\": \"jkl\",\n * \"hb_pb\": \"10\",\n * \"hb_deal\": \"9234\"\n * }, {\n * \"hb_adid\": \"stu\",\n * \"hb_pb\": \"50\"\n * }, {\n * \"hb_adid\": \"def\",\n * \"hb_pb\": \"2\"\n * }]\n */\nexport function sortByDealAndPriceBucketOrCpm(useCpm = false) {\n return function(a, b) {\n if (a.adserverTargeting.hb_deal !== undefined && b.adserverTargeting.hb_deal === undefined) {\n return -1;\n }\n\n if ((a.adserverTargeting.hb_deal === undefined && b.adserverTargeting.hb_deal !== undefined)) {\n return 1;\n }\n\n // assuming both values either have a deal or don't have a deal - sort by the hb_pb param\n if (useCpm) {\n return b.cpm - a.cpm;\n }\n\n return b.adserverTargeting.hb_pb - a.adserverTargeting.hb_pb;\n }\n}\n\n/**\n * Return a map where each code in `adUnitCodes` maps to a list of GPT slots that match it.\n *\n * @param adUnitCodes\n * @param customSlotMatching\n * @param getSlots\n */\nexport function getGPTSlotsForAdUnits(adUnitCodes: AdUnitCode[], customSlotMatching, getSlots = () => window.googletag.pubads().getSlots()): ByAdUnit<googletag.Slot[]> {\n return getSlots().reduce((auToSlots, slot) => {\n const customMatch = isFn(customSlotMatching) && customSlotMatching(slot);\n Object.keys(auToSlots).filter(isFn(customMatch) ? customMatch : isAdUnitCodeMatchingSlot(slot)).forEach(au => auToSlots[au].push(slot));\n return auToSlots;\n }, Object.fromEntries(adUnitCodes.map(au => [au, []])));\n}\n\nexport type TargetingMap<V> = Partial<DefaultTargeting> & {\n [targetingKey: string]: V\n}\n\nexport type TargetingValues = TargetingMap<string>;\ntype GPTTargetingValues = TargetingMap<string | string[]>;\n\ntype TargetingValueLists = TargetingMap<string[]>;\ntype TargetingArray = ByAdUnit<TargetingValueLists[]>[];\n\ntype AdUnitPredicate = (adUnitCode: AdUnitCode) => boolean;\nexport type SlotMatchingFn = (slot: googletag.Slot) => AdUnitPredicate;\n\ndeclare module './events' {\n interface Events {\n [EVENTS.SET_TARGETING]: [ByAdUnit<GPTTargetingValues>];\n }\n}\n\nexport interface TargetingControlsConfig {\n /**\n * Specifies the maximum number of characters the system can add to ad server targeting.\n */\n auctionKeyMaxChars?: number;\n /**\n * If enableSendAllBids is false, set this value to true to ensure that deals are sent along with the winning bid\n */\n alwaysIncludeDeals?: boolean;\n /**\n * Selects supported default targeting keys.\n */\n allowTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Selects targeting keys to be supported in addition to the default ones\n */\n addTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Selects supported default targeting keys.\n */\n allowSendAllBidsTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Set to false to prevent custom targeting values from being set for non-winning bids\n */\n allBidsCustomTargeting?: boolean\n}\n\ndeclare module './config' {\n interface Config {\n targetingControls?: TargetingControlsConfig;\n }\n}\n\nexport function newTargeting(auctionManager) {\n const latestAuctionForAdUnit = {};\n\n const targeting = {\n setLatestAuctionForAdUnit(adUnitCode: AdUnitCode, auctionId: Identifier) {\n latestAuctionForAdUnit[adUnitCode] = auctionId;\n },\n\n resetPresetTargetingAST(adUnitCode?: AdUnitCode | AdUnitCode[]) {\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n adUnitCodes.forEach(function(unit) {\n const astTag = window.apntag.getTag(unit);\n if (astTag && astTag.keywords) {\n const currentKeywords = Object.keys(astTag.keywords);\n const newKeywords = {};\n currentKeywords.forEach((key) => {\n if (!pbTargetingKeys.includes(key.toLowerCase())) {\n newKeywords[key] = astTag.keywords[key];\n }\n })\n window.apntag.modifyTag(unit, { keywords: newKeywords })\n }\n });\n },\n\n /**\n * Returns all ad server targeting for all ad units.\n * @param adUnitCode\n * @param bidLimit\n * @param bidsReceived - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return targeting\n */\n getAllTargeting(adUnitCode?: AdUnitCode | AdUnitCode[], bidLimit?: number, bidsReceived?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): ByAdUnit<TargetingValues> {\n bidsReceived ||= getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n const sendAllBids = config.getConfig('enableSendAllBids');\n const bidLimitConfigValue = config.getConfig('sendBidsControl.bidLimit');\n const adUnitBidLimit = (sendAllBids && (bidLimit || bidLimitConfigValue)) || 0;\n const { customKeysByUnit, filteredBids } = getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived);\n const bidsSorted = getHighestCpmBidsFromBidPool(filteredBids, winReducer, adUnitBidLimit, undefined, winSorter);\n let targeting = getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes);\n\n const defaultKeys = Object.keys(Object.assign({}, DEFAULT_TARGETING_KEYS));\n let allowedKeys = config.getConfig(CFG_ALLOW_TARGETING_KEYS);\n const addedKeys = config.getConfig(CFG_ADD_TARGETING_KEYS);\n\n if (addedKeys != null && allowedKeys != null) {\n throw new Error(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n } else if (addedKeys != null) {\n allowedKeys = defaultKeys.concat(addedKeys) as any;\n } else {\n allowedKeys = allowedKeys || defaultKeys as any;\n }\n\n if (Array.isArray(allowedKeys) && allowedKeys.length > 0) {\n targeting = getAllowedTargetingKeyValues(targeting, allowedKeys);\n }\n\n let flatTargeting = flattenTargeting(targeting);\n\n const auctionKeysThreshold = config.getConfig('targetingControls.auctionKeyMaxChars');\n if (auctionKeysThreshold) {\n logInfo(`Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ${auctionKeysThreshold} characters. Running checks on auction keys...`);\n flatTargeting = filterTargetingKeys(flatTargeting, auctionKeysThreshold);\n }\n\n // make sure at least there is a entry per adUnit code in the targetingSet so receivers of SET_TARGETING call's can know what ad units are being invoked\n adUnitCodes.forEach(code => {\n if (!flatTargeting[code]) {\n flatTargeting[code] = {};\n }\n });\n\n return flatTargeting;\n },\n\n setTargetingForGPT: hook('sync', function (adUnit?: AdUnitCode | AdUnitCode[], customSlotMatching?: SlotMatchingFn) {\n // get our ad unit codes\n const targetingSet: ByAdUnit<GPTTargetingValues> = targeting.getAllTargeting(adUnit);\n\n const resetMap = Object.fromEntries(pbTargetingKeys.map(key => [key, null]));\n\n Object.entries(getGPTSlotsForAdUnits(Object.keys(targetingSet), customSlotMatching)).forEach(([targetId, slots]) => {\n slots.forEach(slot => {\n // now set new targeting keys\n Object.keys(targetingSet[targetId]).forEach(key => {\n let value: string | string[] = targetingSet[targetId][key];\n if (typeof value === 'string' && value.indexOf(',') !== -1) {\n // due to the check the array will be formed only if string has ',' else plain string will be assigned as value\n value = value.split(',');\n }\n targetingSet[targetId][key] = value;\n });\n logMessage(`Attempting to set targeting-map for slot: ${slot.getSlotElementId()} with targeting-map:`, targetingSet[targetId]);\n slot.updateTargetingFromMap(Object.assign({}, resetMap, targetingSet[targetId]))\n })\n })\n\n Object.keys(targetingSet).forEach((adUnitCode) => {\n Object.keys(targetingSet[adUnitCode]).forEach((targetingKey) => {\n if (targetingKey === 'hb_adid') {\n auctionManager.setStatusForBids(targetingSet[adUnitCode][targetingKey], BID_STATUS.BID_TARGETING_SET);\n }\n });\n });\n\n targeting.targetingDone(targetingSet);\n\n // emit event\n events.emit(EVENTS.SET_TARGETING, targetingSet);\n }, 'setTargetingForGPT'),\n\n targetingDone: hook('sync', function (targetingSet: ByAdUnit<GPTTargetingValues>) {\n return targetingSet;\n }, 'targetingDone'),\n\n /**\n * Returns top bids for a given adUnit or set of adUnits.\n * @param adUnitCode adUnitCode or array of adUnitCodes\n * @param bids - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return An array of winning bids.\n */\n getWinningBids(adUnitCode: AdUnitCode | AdUnitCode[], bids?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): Bid[] {\n const bidsReceived = bids || getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n\n return bidsReceived\n .filter(bid => adUnitCodes.includes(bid.adUnitCode))\n .filter(bid => (bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true) ? bid.cpm >= 0 : bid.cpm > 0)\n .map(bid => bid.adUnitCode)\n .filter(uniques)\n .map(adUnitCode => bidsReceived\n .filter(bid => bid.adUnitCode === adUnitCode ? bid : null)\n .reduce(getHighestCpm));\n },\n\n /**\n * @param adUnitCodes adUnitCode or array of adUnitCodes\n * Sets targeting for AST\n */\n setTargetingForAst(adUnitCodes?: AdUnitCode | AdUnitCode[]) {\n const astTargeting = targeting.getAllTargeting(adUnitCodes);\n\n try {\n targeting.resetPresetTargetingAST(adUnitCodes);\n } catch (e) {\n logError('unable to reset targeting for AST' + e)\n }\n\n Object.keys(astTargeting).forEach(targetId =>\n Object.keys(astTargeting[targetId]).forEach(key => {\n logMessage(`Attempting to set targeting for targetId: ${targetId} key: ${key} value: ${astTargeting[targetId][key]}`);\n // setKeywords supports string and array as value\n if (isStr(astTargeting[targetId][key]) || isArray(astTargeting[targetId][key])) {\n const keywordsObj = {};\n const regex = /pt[0-9]/;\n if (key.search(regex) < 0) {\n keywordsObj[key.toUpperCase()] = astTargeting[targetId][key];\n } else {\n // pt${n} keys should not be uppercased\n keywordsObj[key] = astTargeting[targetId][key];\n }\n window.apntag.setKeywords(targetId, keywordsObj, { overrideKeyValue: true });\n }\n })\n );\n },\n isApntagDefined() {\n if (window.apntag && isFn(window.apntag.setKeywords)) {\n return true;\n }\n },\n }\n\n function addBidToTargeting(bids, enableSendAllBids = false, deals = false): TargetingArray {\n const standardKeys = TARGETING_KEYS_ARR.slice();\n const allowSendAllBidsTargetingKeys = config.getConfig('targetingControls.allowSendAllBidsTargetingKeys');\n\n const allowedSendAllBidTargeting = allowSendAllBidsTargetingKeys\n ? allowSendAllBidsTargetingKeys.map((key) => TARGETING_KEYS[key])\n : standardKeys;\n\n return bids.reduce((result, bid) => {\n if (enableSendAllBids || (deals && bid.dealId)) {\n const targetingValue = getTargetingMap(bid, standardKeys.filter(\n key => typeof bid.adserverTargeting[key] !== 'undefined' &&\n (deals || allowedSendAllBidTargeting.indexOf(key) !== -1)));\n\n if (targetingValue) {\n result.push({[bid.adUnitCode]: targetingValue})\n }\n }\n return result;\n }, []);\n }\n\n function getBidderTargeting(bids) {\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n const enableSendAllBids = config.getConfig('enableSendAllBids');\n return addBidToTargeting(bids, enableSendAllBids, alwaysIncludeDeals);\n }\n\n /**\n * Returns filtered ad server targeting for custom and allowed keys.\n * @param targeting\n * @param allowedKeys\n * @return filtered targeting\n */\n function getAllowedTargetingKeyValues(targeting: TargetingArray, allowedKeys: string[]): TargetingArray {\n const defaultKeyring = Object.assign({}, TARGETING_KEYS);\n const defaultKeys = Object.keys(TARGETING_KEYS);\n const keyDispositions = {};\n logInfo(`allowTargetingKeys - allowed keys [ ${allowedKeys.map(k => defaultKeyring[k]).join(', ')} ]`);\n targeting.map(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n const keys = keyring.filter(kvPair => {\n const key = Object.keys(kvPair)[0];\n // check if key is in default keys, if not, it's custom, we won't remove it.\n const isCustom = defaultKeys.filter(defaultKey => key.indexOf(defaultKeyring[defaultKey]) === 0).length === 0;\n // check if key explicitly allowed, if not, we'll remove it.\n const found = isCustom || allowedKeys.find(allowedKey => {\n const allowedKeyName = defaultKeyring[allowedKey];\n // we're looking to see if the key exactly starts with one of our default keys.\n // (which hopefully means it's not custom)\n const found = key.indexOf(allowedKeyName) === 0;\n return found;\n });\n keyDispositions[key] = !found;\n return found;\n });\n adUnit[adUnitCode] = keys;\n });\n const removedKeys = Object.keys(keyDispositions).filter(d => keyDispositions[d]);\n logInfo(`allowTargetingKeys - removed keys [ ${removedKeys.join(', ')} ]`);\n // remove any empty targeting objects, as they're unnecessary.\n const filteredTargeting = targeting.filter(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n return keyring.length > 0;\n });\n return filteredTargeting\n }\n\n function updatePBTargetingKeys(adUnitCode) {\n (Object.keys(adUnitCode)).forEach(key => {\n adUnitCode[key].forEach(targetKey => {\n const targetKeys = Object.keys(targetKey);\n if (pbTargetingKeys.indexOf(targetKeys[0]) === -1) {\n pbTargetingKeys = targetKeys.concat(pbTargetingKeys);\n }\n });\n });\n }\n\n function getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes) {\n const useAllBidsCustomTargeting = config.getConfig('targetingControls.allBidsCustomTargeting') === true;\n\n const targeting = getWinningBidTargeting(bidsSorted, adUnitCodes)\n .concat(getBidderTargeting(bidsSorted))\n .concat(getAdUnitTargeting(adUnitCodes));\n\n if (useAllBidsCustomTargeting) {\n targeting.push(...getCustomBidTargeting(bidsSorted, customKeysByUnit))\n }\n\n targeting.forEach(adUnitCode => {\n updatePBTargetingKeys(adUnitCode);\n });\n\n return targeting;\n }\n\n function getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived) {\n const filteredBids = [];\n const customKeysByUnit = {};\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n\n bidsReceived.forEach(bid => {\n const adUnitIsEligible = adUnitCodes.includes(bid.adUnitCode);\n const cpmAllowed = bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true ? bid.cpm >= 0 : bid.cpm > 0;\n const isPreferredDeal = alwaysIncludeDeals && bid.dealId;\n\n if (adUnitIsEligible && (isPreferredDeal || cpmAllowed)) {\n filteredBids.push(bid);\n Object.keys(bid.adserverTargeting)\n .filter(getCustomKeys())\n .forEach(key => {\n const truncKey = key.substring(0, MAX_DFP_KEYLENGTH);\n const data = customKeysByUnit[bid.adUnitCode] || {};\n const value = [bid.adserverTargeting[key]];\n\n if (data[truncKey]) {\n data[truncKey] = data[truncKey].concat(value).filter(uniques);\n } else {\n data[truncKey] = value;\n }\n\n customKeysByUnit[bid.adUnitCode] = data;\n })\n }\n });\n\n return {filteredBids, customKeysByUnit};\n }\n\n // warn about conflicting configuration\n config.getConfig('targetingControls', function (config) {\n if (deepAccess(config, CFG_ALLOW_TARGETING_KEYS) != null && deepAccess(config, CFG_ADD_TARGETING_KEYS) != null) {\n logError(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n }\n });\n\n // create an encoded string variant based on the keypairs of the provided object\n // - note this will encode the characters between the keys (ie = and &)\n function convertKeysToQueryForm(keyMap) {\n return Object.keys(keyMap).reduce(function (queryString, key) {\n const encodedKeyPair = `${key}%3d${encodeURIComponent(keyMap[key])}%26`;\n return queryString += encodedKeyPair;\n }, '');\n }\n\n function filterTargetingKeys(targeting: ByAdUnit<TargetingValues>, auctionKeysThreshold: number) {\n // read each targeting.adUnit object and sort the adUnits into a list of adUnitCodes based on priorization setting (eg CPM)\n const targetingCopy = deepClone(targeting);\n\n const targetingMap = Object.keys(targetingCopy).map(adUnitCode => {\n return {\n adUnitCode,\n adserverTargeting: targetingCopy[adUnitCode]\n };\n }).sort(sortByDealAndPriceBucketOrCpm());\n\n // iterate through the targeting based on above list and transform the keys into the query-equivalent and count characters\n return targetingMap.reduce(function (accMap, currMap, index, arr) {\n let adUnitQueryString = convertKeysToQueryForm(currMap.adserverTargeting);\n\n // for the last adUnit - trim last encoded ampersand from the converted query string\n if ((index + 1) === arr.length) {\n adUnitQueryString = adUnitQueryString.slice(0, -3);\n }\n\n // if under running threshold add to result\n const code = currMap.adUnitCode;\n const querySize = adUnitQueryString.length;\n if (querySize <= auctionKeysThreshold) {\n auctionKeysThreshold -= querySize;\n logInfo(`AdUnit '${code}' auction keys comprised of ${querySize} characters. Deducted from running threshold; new limit is ${auctionKeysThreshold}`, targetingCopy[code]);\n\n accMap[code] = targetingCopy[code];\n } else {\n logWarn(`The following keys for adUnitCode '${code}' exceeded the current limit of the 'auctionKeyMaxChars' setting.\\nThe key-set size was ${querySize}, the current allotted amount was ${auctionKeysThreshold}.\\n`, targetingCopy[code]);\n }\n\n if ((index + 1) === arr.length && Object.keys(accMap).length === 0) {\n logError('No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting.');\n }\n return accMap;\n }, {});\n }\n\n /**\n * Converts targeting array and flattens to make it easily iteratable\n * e.g: Sample input to this function\n * ```\n * [\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder\": [\"appnexusAst\"]}]\n * },\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder_appnexusAs\": [\"appnexusAst\", \"other\"]}]\n * }\n * ]\n * ```\n * Resulting array\n * ```\n * {\n * \"div-gpt-ad-1460505748561-0\": {\n * \"hb_bidder\": \"appnexusAst\",\n * \"hb_bidder_appnexusAs\": \"appnexusAst,other\"\n * }\n * }\n * ```\n *\n * @param targeting\n * @return targeting\n */\n function flattenTargeting(targeting: TargetingArray): ByAdUnit<TargetingValues> {\n return targeting.map(targeting => {\n return {\n [Object.keys(targeting)[0]]: targeting[Object.keys(targeting)[0]]\n .map(target => {\n return {\n [Object.keys(target)[0]]: target[Object.keys(target)[0]].join(',')\n };\n }).reduce((p, c) => Object.assign(c, p), {})\n };\n }).reduce(function (accumulator, targeting) {\n var key = Object.keys(targeting)[0];\n accumulator[key] = Object.assign({}, accumulator[key], targeting[key]);\n return accumulator;\n }, {});\n }\n\n /**\n * normlizes input to a `adUnit.code` array\n * @param adUnitCode\n * @return AdUnit code array\n */\n function getAdUnitCodes(adUnitCode?: AdUnitCode | AdUnitCode[]): AdUnitCode[] {\n if (typeof adUnitCode === 'string') {\n return [adUnitCode];\n } else if (isArray(adUnitCode)) {\n return adUnitCode;\n }\n return auctionManager.getAdUnitCodes() || [];\n }\n\n function getBidsReceived(winReducer = getOldestHighestCpmBid, winSorter = undefined) {\n const bidsReceived = auctionManager.getBidsReceived().reduce((bids, bid) => {\n const bidCacheEnabled = config.getConfig('useBidCache');\n const filterFunction = config.getConfig('bidCacheFilterFunction');\n const isBidFromLastAuction = latestAuctionForAdUnit[bid.adUnitCode] === bid.auctionId;\n const filterFunctionResult = bidCacheEnabled && !isBidFromLastAuction && typeof filterFunction === 'function' ? !!filterFunction(bid) : true;\n const cacheFilter = bidCacheEnabled || isBidFromLastAuction;\n const bidFilter = cacheFilter && filterFunctionResult;\n\n if (bidFilter && bid?.video?.context !== ADPOD && isBidUsable(bid)) {\n bid.latestTargetedAuctionId = latestAuctionForAdUnit[bid.adUnitCode];\n bids.push(bid)\n }\n\n return bids;\n }, []);\n\n return getHighestCpmBidsFromBidPool(bidsReceived, winReducer, undefined, undefined, winSorter);\n }\n\n /**\n * Get targeting key value pairs for winning bid.\n * @param bidsReceived code array\n * @param adUnitCodes code array\n * @return winning bids targeting\n */\n function getWinningBidTargeting(bidsReceived, adUnitCodes): TargetingArray {\n const winners = targeting.getWinningBids(adUnitCodes, bidsReceived);\n const standardKeys = getStandardKeys();\n\n return winners.map(winner => {\n return {\n [winner.adUnitCode]: Object.keys(winner.adserverTargeting)\n .filter(key =>\n typeof winner.sendStandardTargeting === 'undefined' ||\n winner.sendStandardTargeting ||\n standardKeys.indexOf(key) === -1)\n .reduce((acc, key) => {\n const targetingValue = [winner.adserverTargeting[key]];\n const targeting = { [key.substring(0, MAX_DFP_KEYLENGTH)]: targetingValue };\n if (key === TARGETING_KEYS.DEAL) {\n const bidderCodeTargetingKey = `${key}_${winner.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH);\n const bidderCodeTargeting = { [bidderCodeTargetingKey]: targetingValue };\n return [...acc, targeting, bidderCodeTargeting];\n }\n return [...acc, targeting];\n }, [])\n };\n });\n }\n\n function getStandardKeys() {\n return auctionManager.getStandardBidderAdServerTargeting() // in case using a custom standard key set\n .map(targeting => targeting.key)\n .concat(TARGETING_KEYS_ARR).filter(uniques); // standard keys defined in the library.\n }\n\n function getCustomKeys() {\n const standardKeys = getStandardKeys();\n return function(key) {\n return standardKeys.indexOf(key) === -1;\n }\n }\n\n /**\n * Get custom targeting key value pairs for bids.\n * @param {Array<Object>} bidsSorted code array\n * @param {Object} customKeysByUnit code array\n * @return bids with custom targeting defined in bidderSettings\n */\n function getCustomBidTargeting(bidsSorted: Bid[], customKeysByUnit: ByAdUnit<any>): TargetingArray {\n return bidsSorted\n .reduce((acc, bid) => {\n const newBid = Object.assign({}, bid);\n const customKeysForUnit = customKeysByUnit[newBid.adUnitCode];\n const targeting = [];\n\n if (customKeysForUnit) {\n Object.keys(customKeysForUnit).forEach(key => {\n if (key && customKeysForUnit[key]) targeting.push({[key]: customKeysForUnit[key]});\n })\n }\n\n acc.push({[newBid.adUnitCode]: targeting});\n\n return acc;\n }, []);\n }\n\n function getTargetingMap(bid: Bid, keys: string[]): TargetingValueLists[] {\n return keys.reduce((targeting, key) => {\n const value = bid.adserverTargeting[key];\n if (value) {\n targeting.push({[`${key}_${bid.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH)]: [bid.adserverTargeting[key]]})\n }\n return targeting;\n }, []);\n }\n\n function getAdUnitTargeting(adUnitCodes) {\n function getTargetingObj(adUnit) {\n return adUnit?.[JSON_MAPPING.ADSERVER_TARGETING];\n }\n\n function getTargetingValues(adUnit) {\n const aut = getTargetingObj(adUnit);\n\n return Object.keys(aut)\n .map(function(key) {\n if (isStr(aut[key])) aut[key] = aut[key].split(',').map(s => s.trim());\n if (!isArray(aut[key])) aut[key] = [ aut[key] ];\n return { [key]: aut[key] };\n });\n }\n\n return auctionManager.getAdUnits()\n .filter(adUnit => adUnitCodes.includes(adUnit.code) && getTargetingObj(adUnit))\n .reduce((result, adUnit) => {\n const targetingValues = getTargetingValues(adUnit);\n\n if (targetingValues)result.push({[adUnit.code]: targetingValues});\n return result;\n }, []);\n }\n\n return targeting;\n}\n\nexport const targeting = newTargeting(auctionManager);\n"],"mappings":"AAAA,SAAQA,cAAc,QAAO,qBAAqB;AAClD,SAAQC,cAAc,QAAO,aAAa;AAC1C,SAAQC,cAAc,QAAO,qBAAqB;AAClD,SAAQC,MAAM,QAAO,aAAa;AAClC,SACIC,UAAU,EACVC,sBAAsB,EACtBC,MAAM,EACNC,YAAY,EACZC,cAAc,QACX,gBAAgB;AACvB,OAAO,KAAKC,MAAM,MAAM,aAAa;AACrC,SAAQC,IAAI,QAAO,WAAW;AAC9B,SAAQC,KAAK,QAAO,iBAAiB;AACrC,SACIC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,wBAAwB,EACxBC,OAAO,EACPC,IAAI,EACJC,KAAK,EACLC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,OAAO,EACPC,gBAAgB,EAChBC,SAAS,EACTC,OAAO,QACJ,YAAY;AACnB,SAAQC,aAAa,EAAEC,sBAAsB,QAAO,qBAAqB;AAKzE,IAAIC,eAAe,GAAG,EAAE;AAExB,MAAMC,iBAAiB,GAAG,EAAE;AAE5B,MAAMC,wBAAwB,GAAG,sCAAsC;AACvE,MAAMC,sBAAsB,GAAG,oCAAoC;AACnE,MAAMC,qCAAqC,GAAG,gBAAgBF,wBAAwB,SAASC,sBAAsB,cAAc;AAEnI,OAAO,MAAME,kBAAkB,GAAGC,MAAM,CAACC,IAAI,CAAC3B,cAAc,CAAC,CAAC4B,GAAG,CAC/DC,GAAG,IAAI7B,cAAc,CAAC6B,GAAG,CAC3B,CAAC;;AAED;AACA,MAAMC,eAAe,GAAIC,GAAG,IAAMA,GAAG,CAACC,iBAAiB,GAAGvC,cAAc,CAACsC,GAAG,CAAC,GAAG,IAAI,GAAIf,SAAS,CAAC,CAAC;;AAEnG;AACA,MAAMiB,WAAW,GAAIF,GAAG,IAAKA,GAAG,KAAMA,GAAG,CAACG,MAAM,IAAI,CAAC,CAACtC,UAAU,CAACuC,QAAQ,CAAC,CAACC,QAAQ,CAACL,GAAG,CAACG,MAAM,CAAC,IAAK,CAACH,GAAG,CAACG,MAAM,CAAC;AAEhH,OAAO,MAAMG,OAAO,GAAG;EACrBP,eAAe;EACfG;AACF,CAAC;AAED,OAAO,SAASK,WAAWA,CAACP,GAAG,EAAE;EAC/B,OAAO,CAACL,MAAM,CAACa,MAAM,CAACF,OAAO,CAAC,CAACG,IAAI,CAAEC,SAAS,IAAK,CAACA,SAAS,CAACV,GAAG,CAAC,CAAC;AACrE;;AAEA;AACA;AACA;AACA,OAAO,MAAMW,4BAA4B,GAAGxC,IAAI,CAAC,MAAM,EAAE,UAASyC,YAAY,EAAEC,UAAU,EAAyE;EAAA,IAAvEC,cAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEG,WAAW,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IAAEI,SAAS,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG/B,gBAAgB;EAC/J,IAAI,CAACkC,WAAW,EAAE;IAChB,MAAME,IAAI,GAAG,EAAE;IACf,MAAMC,kBAAkB,GAAGzD,MAAM,CAAC0D,SAAS,CAAC,oCAAoC,CAAC;IACjF;IACA,MAAMC,OAAO,GAAGhD,OAAO,CAACqC,YAAY,EAAE,YAAY,CAAC;IACnD;IACAjB,MAAM,CAACC,IAAI,CAAC2B,OAAO,CAAC,CAACC,OAAO,CAACC,SAAS,IAAI;MACxC,IAAIC,UAAU,GAAG,EAAE;MACnB,MAAMC,YAAY,GAAGpD,OAAO,CAACgD,OAAO,CAACE,SAAS,CAAC,EAAE,YAAY,CAAC;MAC9D9B,MAAM,CAACC,IAAI,CAAC+B,YAAY,CAAC,CAACH,OAAO,CAAC1B,GAAG,IAAI;QAAE4B,UAAU,CAACE,IAAI,CAACD,YAAY,CAAC7B,GAAG,CAAC,CAAC+B,MAAM,CAAChB,UAAU,CAAC,CAAC;MAAC,CAAC,CAAC;MACnG;MACA,IAAIC,cAAc,EAAE;QAClBY,UAAU,GAAGL,kBAAkB,GAAGK,UAAU,CAACI,IAAI,CAACC,6BAA6B,CAAC,IAAI,CAAC,CAAC,GAAGL,UAAU,CAACI,IAAI,CAAC,CAACE,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACC,GAAG,GAAGF,CAAC,CAACE,GAAG,CAAC;QACjId,IAAI,CAACQ,IAAI,CAAC,GAAGF,UAAU,CAACS,KAAK,CAAC,CAAC,EAAErB,cAAc,CAAC,CAAC;MACnD,CAAC,MAAM;QACLY,UAAU,GAAGA,UAAU,CAACI,IAAI,CAACX,SAAS,CAAC;QACvCC,IAAI,CAACQ,IAAI,CAAC,GAAGF,UAAU,CAAC;MAC1B;IACF,CAAC,CAAC;IAEF,OAAON,IAAI;EACb;EAEA,OAAOR,YAAY;AACrB,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASmB,6BAA6BA,CAAA,EAAiB;EAAA,IAAhBK,MAAM,GAAArB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAC1D,OAAO,UAASiB,CAAC,EAAEC,CAAC,EAAE;IACpB,IAAID,CAAC,CAACK,iBAAiB,CAACC,OAAO,KAAKrB,SAAS,IAAIgB,CAAC,CAACI,iBAAiB,CAACC,OAAO,KAAKrB,SAAS,EAAE;MAC1F,OAAO,CAAC,CAAC;IACX;IAEA,IAAKe,CAAC,CAACK,iBAAiB,CAACC,OAAO,KAAKrB,SAAS,IAAIgB,CAAC,CAACI,iBAAiB,CAACC,OAAO,KAAKrB,SAAS,EAAG;MAC5F,OAAO,CAAC;IACV;;IAEA;IACA,IAAImB,MAAM,EAAE;MACV,OAAOH,CAAC,CAACC,GAAG,GAAGF,CAAC,CAACE,GAAG;IACtB;IAEA,OAAOD,CAAC,CAACI,iBAAiB,CAACE,KAAK,GAAGP,CAAC,CAACK,iBAAiB,CAACE,KAAK;EAC9D,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACC,WAAyB,EAAEC,kBAAkB,EAAqF;EAAA,IAAnFC,QAAQ,GAAA5B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,MAAM6B,MAAM,CAACC,SAAS,CAACC,MAAM,CAAC,CAAC,CAACH,QAAQ,CAAC,CAAC;EACxI,OAAOA,QAAQ,CAAC,CAAC,CAACd,MAAM,CAAC,CAACkB,SAAS,EAAEC,IAAI,KAAK;IAC5C,MAAMC,WAAW,GAAGvE,IAAI,CAACgE,kBAAkB,CAAC,IAAIA,kBAAkB,CAACM,IAAI,CAAC;IACxErD,MAAM,CAACC,IAAI,CAACmD,SAAS,CAAC,CAACG,MAAM,CAACxE,IAAI,CAACuE,WAAW,CAAC,GAAGA,WAAW,GAAGzE,wBAAwB,CAACwE,IAAI,CAAC,CAAC,CAACxB,OAAO,CAAC2B,EAAE,IAAIJ,SAAS,CAACI,EAAE,CAAC,CAACvB,IAAI,CAACoB,IAAI,CAAC,CAAC;IACvI,OAAOD,SAAS;EAClB,CAAC,EAAEpD,MAAM,CAACyD,WAAW,CAACX,WAAW,CAAC5C,GAAG,CAACsD,EAAE,IAAI,CAACA,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD;AAsDA,OAAO,SAASE,YAAYA,CAAC5F,cAAc,EAAE;EAC3C,MAAM6F,sBAAsB,GAAG,CAAC,CAAC;EAEjC,MAAMC,SAAS,GAAG;IACdC,yBAAyBA,CAACC,UAAsB,EAAEC,SAAqB,EAAE;MACrEJ,sBAAsB,CAACG,UAAU,CAAC,GAAGC,SAAS;IAClD,CAAC;IAEDC,uBAAuBA,CAACF,UAAsC,EAAE;MAC5D,MAAMhB,WAAW,GAAGmB,cAAc,CAACH,UAAU,CAAC;MAC9ChB,WAAW,CAACjB,OAAO,CAAC,UAASqC,IAAI,EAAE;QAC/B,MAAMC,MAAM,GAAGlB,MAAM,CAACmB,MAAM,CAACC,MAAM,CAACH,IAAI,CAAC;QACzC,IAAIC,MAAM,IAAIA,MAAM,CAACG,QAAQ,EAAE;UAC3B,MAAMC,eAAe,GAAGvE,MAAM,CAACC,IAAI,CAACkE,MAAM,CAACG,QAAQ,CAAC;UACpD,MAAME,WAAW,GAAG,CAAC,CAAC;UACtBD,eAAe,CAAC1C,OAAO,CAAE1B,GAAG,IAAK;YAC7B,IAAI,CAACT,eAAe,CAACgB,QAAQ,CAACP,GAAG,CAACsE,WAAW,CAAC,CAAC,CAAC,EAAE;cAC9CD,WAAW,CAACrE,GAAG,CAAC,GAAGgE,MAAM,CAACG,QAAQ,CAACnE,GAAG,CAAC;YAC3C;UACJ,CAAC,CAAC;UACF8C,MAAM,CAACmB,MAAM,CAACM,SAAS,CAACR,IAAI,EAAE;YAAEI,QAAQ,EAAEE;UAAY,CAAC,CAAC;QAC5D;MACJ,CAAC,CAAC;IACN,CAAC;IAED;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACMG,eAAeA,CAACb,UAAsC,EAAEc,QAAiB,EAAE3D,YAAoB,EAAuF;MAAA,IAArFC,UAAU,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG5B,aAAa;MAAA,IAAEgC,SAAS,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG/B,gBAAgB;MACrJ4B,YAAY,KAAK4D,eAAe,CAAC3D,UAAU,EAAEM,SAAS,CAAC;MACvD,MAAMsB,WAAW,GAAGmB,cAAc,CAACH,UAAU,CAAC;MAC9C,MAAMgB,WAAW,GAAG7G,MAAM,CAAC0D,SAAS,CAAC,mBAAmB,CAAC;MACzD,MAAMoD,mBAAmB,GAAG9G,MAAM,CAAC0D,SAAS,CAAC,0BAA0B,CAAC;MACxE,MAAMR,cAAc,GAAI2D,WAAW,KAAKF,QAAQ,IAAIG,mBAAmB,CAAC,IAAK,CAAC;MAC9E,MAAM;QAAEC,gBAAgB;QAAEC;MAAa,CAAC,GAAGC,4BAA4B,CAACpC,WAAW,EAAE7B,YAAY,CAAC;MAClG,MAAMkE,UAAU,GAAGnE,4BAA4B,CAACiE,YAAY,EAAE/D,UAAU,EAAEC,cAAc,EAAEG,SAAS,EAAEE,SAAS,CAAC;MAC/G,IAAIoC,SAAS,GAAGwB,kBAAkB,CAACD,UAAU,EAAEH,gBAAgB,EAAElC,WAAW,CAAC;MAE7E,MAAMuC,WAAW,GAAGrF,MAAM,CAACC,IAAI,CAACD,MAAM,CAACsF,MAAM,CAAC,CAAC,CAAC,EAAEnH,sBAAsB,CAAC,CAAC;MAC1E,IAAIoH,WAAW,GAAGtH,MAAM,CAAC0D,SAAS,CAAC/B,wBAAwB,CAAC;MAC5D,MAAM4F,SAAS,GAAGvH,MAAM,CAAC0D,SAAS,CAAC9B,sBAAsB,CAAC;MAE1D,IAAI2F,SAAS,IAAI,IAAI,IAAID,WAAW,IAAI,IAAI,EAAE;QAC1C,MAAM,IAAIE,KAAK,CAAC3F,qCAAqC,CAAC;MAC1D,CAAC,MAAM,IAAI0F,SAAS,IAAI,IAAI,EAAE;QAC1BD,WAAW,GAAGF,WAAW,CAACK,MAAM,CAACF,SAAS,CAAQ;MACtD,CAAC,MAAM;QACHD,WAAW,GAAGA,WAAW,IAAIF,WAAkB;MACnD;MAEA,IAAIM,KAAK,CAAC7G,OAAO,CAACyG,WAAW,CAAC,IAAIA,WAAW,CAAClE,MAAM,GAAG,CAAC,EAAE;QACtDuC,SAAS,GAAGgC,4BAA4B,CAAChC,SAAS,EAAE2B,WAAW,CAAC;MACpE;MAEA,IAAIM,aAAa,GAAGC,gBAAgB,CAAClC,SAAS,CAAC;MAE/C,MAAMmC,oBAAoB,GAAG9H,MAAM,CAAC0D,SAAS,CAAC,sCAAsC,CAAC;MACrF,IAAIoE,oBAAoB,EAAE;QACtB7G,OAAO,CAAC,oGAAoG6G,oBAAoB,iDAAiD,CAAC;QAClLF,aAAa,GAAGG,mBAAmB,CAACH,aAAa,EAAEE,oBAAoB,CAAC;MAC5E;;MAEA;MACAjD,WAAW,CAACjB,OAAO,CAACoE,IAAI,IAAI;QACxB,IAAI,CAACJ,aAAa,CAACI,IAAI,CAAC,EAAE;UACtBJ,aAAa,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B;MACJ,CAAC,CAAC;MAEF,OAAOJ,aAAa;IACxB,CAAC;IAEDK,kBAAkB,EAAE1H,IAAI,CAAC,MAAM,EAAE,UAAU2H,MAAkC,EAAEpD,kBAAmC,EAAE;MAChH;MACA,MAAMqD,YAA0C,GAAGxC,SAAS,CAACe,eAAe,CAACwB,MAAM,CAAC;MAEpF,MAAME,QAAQ,GAAGrG,MAAM,CAACyD,WAAW,CAAC/D,eAAe,CAACQ,GAAG,CAACC,GAAG,IAAI,CAACA,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;MAE5EH,MAAM,CAACsG,OAAO,CAACzD,qBAAqB,CAAC7C,MAAM,CAACC,IAAI,CAACmG,YAAY,CAAC,EAAErD,kBAAkB,CAAC,CAAC,CAAClB,OAAO,CAAC0E,IAAA,IAAuB;QAAA,IAAtB,CAACC,QAAQ,EAAEC,KAAK,CAAC,GAAAF,IAAA;QAC3GE,KAAK,CAAC5E,OAAO,CAACwB,IAAI,IAAI;UAClB;UACArD,MAAM,CAACC,IAAI,CAACmG,YAAY,CAACI,QAAQ,CAAC,CAAC,CAAC3E,OAAO,CAAC1B,GAAG,IAAI;YAC/C,IAAIuG,KAAwB,GAAGN,YAAY,CAACI,QAAQ,CAAC,CAACrG,GAAG,CAAC;YAC1D,IAAI,OAAOuG,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;cACxD;cACAD,KAAK,GAAGA,KAAK,CAACE,KAAK,CAAC,GAAG,CAAC;YAC5B;YACAR,YAAY,CAACI,QAAQ,CAAC,CAACrG,GAAG,CAAC,GAAGuG,KAAK;UACvC,CAAC,CAAC;UACFvH,UAAU,CAAC,6CAA6CkE,IAAI,CAACwD,gBAAgB,CAAC,CAAC,sBAAsB,EAAET,YAAY,CAACI,QAAQ,CAAC,CAAC;UAC9HnD,IAAI,CAACyD,sBAAsB,CAAC9G,MAAM,CAACsF,MAAM,CAAC,CAAC,CAAC,EAAEe,QAAQ,EAAED,YAAY,CAACI,QAAQ,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC;MACN,CAAC,CAAC;MAEFxG,MAAM,CAACC,IAAI,CAACmG,YAAY,CAAC,CAACvE,OAAO,CAAEiC,UAAU,IAAK;QAC9C9D,MAAM,CAACC,IAAI,CAACmG,YAAY,CAACtC,UAAU,CAAC,CAAC,CAACjC,OAAO,CAAEkF,YAAY,IAAK;UAC5D,IAAIA,YAAY,KAAK,SAAS,EAAE;YAC5BjJ,cAAc,CAACkJ,gBAAgB,CAACZ,YAAY,CAACtC,UAAU,CAAC,CAACiD,YAAY,CAAC,EAAE7I,UAAU,CAAC+I,iBAAiB,CAAC;UACzG;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MAEFrD,SAAS,CAACsD,aAAa,CAACd,YAAY,CAAC;;MAErC;MACA7H,MAAM,CAAC4I,IAAI,CAAC/I,MAAM,CAACgJ,aAAa,EAAEhB,YAAY,CAAC;IACnD,CAAC,EAAE,oBAAoB,CAAC;IAExBc,aAAa,EAAE1I,IAAI,CAAC,MAAM,EAAE,UAAU4H,YAA0C,EAAE;MAC9E,OAAOA,YAAY;IACvB,CAAC,EAAE,eAAe,CAAC;IAEnB;AACN;AACA;AACA;AACA;AACA;AACA;AACA;IACMiB,cAAcA,CAACvD,UAAqC,EAAErC,IAAY,EAAmE;MAAA,IAAjEP,UAAU,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG5B,aAAa;MAAA,IAAEgC,SAAS,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG/B,gBAAgB;MACxH,MAAM4B,YAAY,GAAGQ,IAAI,IAAIoD,eAAe,CAAC3D,UAAU,EAAEM,SAAS,CAAC;MACnE,MAAMsB,WAAW,GAAGmB,cAAc,CAACH,UAAU,CAAC;MAE9C,OAAO7C,YAAY,CACdsC,MAAM,CAAClD,GAAG,IAAIyC,WAAW,CAACpC,QAAQ,CAACL,GAAG,CAACyD,UAAU,CAAC,CAAC,CACnDP,MAAM,CAAClD,GAAG,IAAKrC,cAAc,CAACsJ,GAAG,CAACjH,GAAG,CAACkH,UAAU,EAAE,kBAAkB,CAAC,KAAK,IAAI,GAAIlH,GAAG,CAACkC,GAAG,IAAI,CAAC,GAAGlC,GAAG,CAACkC,GAAG,GAAG,CAAC,CAAC,CAC7GrC,GAAG,CAACG,GAAG,IAAIA,GAAG,CAACyD,UAAU,CAAC,CAC1BP,MAAM,CAAChE,OAAO,CAAC,CACfW,GAAG,CAAC4D,UAAU,IAAI7C,YAAY,CAC1BsC,MAAM,CAAClD,GAAG,IAAIA,GAAG,CAACyD,UAAU,KAAKA,UAAU,GAAGzD,GAAG,GAAG,IAAI,CAAC,CACzD6B,MAAM,CAAC1C,aAAa,CAAC,CAAC;IACnC,CAAC;IAED;AACN;AACA;AACA;IACMgI,kBAAkBA,CAAC1E,WAAuC,EAAE;MACxD,MAAM2E,YAAY,GAAG7D,SAAS,CAACe,eAAe,CAAC7B,WAAW,CAAC;MAE3D,IAAI;QACAc,SAAS,CAACI,uBAAuB,CAAClB,WAAW,CAAC;MAClD,CAAC,CAAC,OAAO4E,CAAC,EAAE;QACRzI,QAAQ,CAAC,mCAAmC,GAAGyI,CAAC,CAAC;MACrD;MAEA1H,MAAM,CAACC,IAAI,CAACwH,YAAY,CAAC,CAAC5F,OAAO,CAAC2E,QAAQ,IACtCxG,MAAM,CAACC,IAAI,CAACwH,YAAY,CAACjB,QAAQ,CAAC,CAAC,CAAC3E,OAAO,CAAC1B,GAAG,IAAI;QAC/ChB,UAAU,CAAC,6CAA6CqH,QAAQ,SAASrG,GAAG,WAAWsH,YAAY,CAACjB,QAAQ,CAAC,CAACrG,GAAG,CAAC,EAAE,CAAC;QACrH;QACA,IAAInB,KAAK,CAACyI,YAAY,CAACjB,QAAQ,CAAC,CAACrG,GAAG,CAAC,CAAC,IAAIrB,OAAO,CAAC2I,YAAY,CAACjB,QAAQ,CAAC,CAACrG,GAAG,CAAC,CAAC,EAAE;UAC5E,MAAMwH,WAAW,GAAG,CAAC,CAAC;UACtB,MAAMC,KAAK,GAAG,SAAS;UACvB,IAAIzH,GAAG,CAAC0H,MAAM,CAACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACvBD,WAAW,CAACxH,GAAG,CAAC2H,WAAW,CAAC,CAAC,CAAC,GAAGL,YAAY,CAACjB,QAAQ,CAAC,CAACrG,GAAG,CAAC;UAChE,CAAC,MAAM;YACH;YACAwH,WAAW,CAACxH,GAAG,CAAC,GAAGsH,YAAY,CAACjB,QAAQ,CAAC,CAACrG,GAAG,CAAC;UAClD;UACA8C,MAAM,CAACmB,MAAM,CAAC2D,WAAW,CAACvB,QAAQ,EAAEmB,WAAW,EAAE;YAAEK,gBAAgB,EAAE;UAAK,CAAC,CAAC;QAChF;MACJ,CAAC,CACL,CAAC;IACL,CAAC;IACDC,eAAeA,CAAA,EAAG;MACd,IAAIhF,MAAM,CAACmB,MAAM,IAAIrF,IAAI,CAACkE,MAAM,CAACmB,MAAM,CAAC2D,WAAW,CAAC,EAAE;QAClD,OAAO,IAAI;MACf;IACJ;EACJ,CAAC;EAED,SAASG,iBAAiBA,CAACzG,IAAI,EAA4D;IAAA,IAA1D0G,iBAAiB,GAAA/G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IAAA,IAAEgH,KAAK,GAAAhH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IACvE,MAAMiH,YAAY,GAAGtI,kBAAkB,CAACyC,KAAK,CAAC,CAAC;IAC/C,MAAM8F,6BAA6B,GAAGrK,MAAM,CAAC0D,SAAS,CAAC,iDAAiD,CAAC;IAEzG,MAAM4G,0BAA0B,GAAGD,6BAA6B,GAC5DA,6BAA6B,CAACpI,GAAG,CAAEC,GAAG,IAAK7B,cAAc,CAAC6B,GAAG,CAAC,CAAC,GAC/DkI,YAAY;IAEhB,OAAO5G,IAAI,CAACS,MAAM,CAAC,CAACsG,MAAM,EAAEnI,GAAG,KAAK;MAClC,IAAI8H,iBAAiB,IAAKC,KAAK,IAAI/H,GAAG,CAACoI,MAAO,EAAE;QAC9C,MAAMC,cAAc,GAAGC,eAAe,CAACtI,GAAG,EAAEgI,YAAY,CAAC9E,MAAM,CAC7DpD,GAAG,IAAI,OAAOE,GAAG,CAACqC,iBAAiB,CAACvC,GAAG,CAAC,KAAK,WAAW,KACrDiI,KAAK,IAAIG,0BAA0B,CAAC5B,OAAO,CAACxG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/D,IAAIuI,cAAc,EAAE;UAClBF,MAAM,CAACvG,IAAI,CAAC;YAAC,CAAC5B,GAAG,CAACyD,UAAU,GAAG4E;UAAc,CAAC,CAAC;QACjD;MACF;MACA,OAAOF,MAAM;IACf,CAAC,EAAE,EAAE,CAAC;EACR;EAEA,SAASI,kBAAkBA,CAACnH,IAAI,EAAE;IAChC,MAAMoH,kBAAkB,GAAG5K,MAAM,CAAC0D,SAAS,CAAC,sCAAsC,CAAC;IACnF,MAAMwG,iBAAiB,GAAGlK,MAAM,CAAC0D,SAAS,CAAC,mBAAmB,CAAC;IAC/D,OAAOuG,iBAAiB,CAACzG,IAAI,EAAE0G,iBAAiB,EAAEU,kBAAkB,CAAC;EACvE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,SAASjD,4BAA4BA,CAAChC,SAAyB,EAAE2B,WAAqB,EAAkB;IACtG,MAAMuD,cAAc,GAAG9I,MAAM,CAACsF,MAAM,CAAC,CAAC,CAAC,EAAEhH,cAAc,CAAC;IACxD,MAAM+G,WAAW,GAAGrF,MAAM,CAACC,IAAI,CAAC3B,cAAc,CAAC;IAC/C,MAAMyK,eAAe,GAAG,CAAC,CAAC;IAC1B7J,OAAO,CAAC,uCAAuCqG,WAAW,CAACrF,GAAG,CAAC8I,CAAC,IAAIF,cAAc,CAACE,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACtGrF,SAAS,CAAC1D,GAAG,CAACiG,MAAM,IAAI;MACtB,MAAMrC,UAAU,GAAG9D,MAAM,CAACC,IAAI,CAACkG,MAAM,CAAC,CAAC,CAAC,CAAC;MACzC,MAAM+C,OAAO,GAAG/C,MAAM,CAACrC,UAAU,CAAC;MAClC,MAAM7D,IAAI,GAAGiJ,OAAO,CAAC3F,MAAM,CAAC4F,MAAM,IAAI;QACpC,MAAMhJ,GAAG,GAAGH,MAAM,CAACC,IAAI,CAACkJ,MAAM,CAAC,CAAC,CAAC,CAAC;QAClC;QACA,MAAMC,QAAQ,GAAG/D,WAAW,CAAC9B,MAAM,CAAC8F,UAAU,IAAIlJ,GAAG,CAACwG,OAAO,CAACmC,cAAc,CAACO,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAChI,MAAM,KAAK,CAAC;QAC7G;QACA,MAAMiI,KAAK,GAAGF,QAAQ,IAAI7D,WAAW,CAACgE,IAAI,CAACC,UAAU,IAAI;UACvD,MAAMC,cAAc,GAAGX,cAAc,CAACU,UAAU,CAAC;UACjD;UACA;UACA,MAAMF,KAAK,GAAGnJ,GAAG,CAACwG,OAAO,CAAC8C,cAAc,CAAC,KAAK,CAAC;UAC/C,OAAOH,KAAK;QACd,CAAC,CAAC;QACFP,eAAe,CAAC5I,GAAG,CAAC,GAAG,CAACmJ,KAAK;QAC7B,OAAOA,KAAK;MACd,CAAC,CAAC;MACFnD,MAAM,CAACrC,UAAU,CAAC,GAAG7D,IAAI;IAC3B,CAAC,CAAC;IACF,MAAMyJ,WAAW,GAAG1J,MAAM,CAACC,IAAI,CAAC8I,eAAe,CAAC,CAACxF,MAAM,CAACoG,CAAC,IAAIZ,eAAe,CAACY,CAAC,CAAC,CAAC;IAChFzK,OAAO,CAAC,uCAAuCwK,WAAW,CAACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1E;IACA,MAAMW,iBAAiB,GAAGhG,SAAS,CAACL,MAAM,CAAC4C,MAAM,IAAI;MACnD,MAAMrC,UAAU,GAAG9D,MAAM,CAACC,IAAI,CAACkG,MAAM,CAAC,CAAC,CAAC,CAAC;MACzC,MAAM+C,OAAO,GAAG/C,MAAM,CAACrC,UAAU,CAAC;MAClC,OAAOoF,OAAO,CAAC7H,MAAM,GAAG,CAAC;IAC3B,CAAC,CAAC;IACF,OAAOuI,iBAAiB;EAC1B;EAEA,SAASC,qBAAqBA,CAAC/F,UAAU,EAAE;IACxC9D,MAAM,CAACC,IAAI,CAAC6D,UAAU,CAAC,CAAEjC,OAAO,CAAC1B,GAAG,IAAI;MACvC2D,UAAU,CAAC3D,GAAG,CAAC,CAAC0B,OAAO,CAACiI,SAAS,IAAI;QACnC,MAAMC,UAAU,GAAG/J,MAAM,CAACC,IAAI,CAAC6J,SAAS,CAAC;QACzC,IAAIpK,eAAe,CAACiH,OAAO,CAACoD,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;UACjDrK,eAAe,GAAGqK,UAAU,CAACrE,MAAM,CAAChG,eAAe,CAAC;QACtD;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,SAAS0F,kBAAkBA,CAACD,UAAU,EAAEH,gBAAgB,EAAElC,WAAW,EAAE;IACrE,MAAMkH,yBAAyB,GAAG/L,MAAM,CAAC0D,SAAS,CAAC,0CAA0C,CAAC,KAAK,IAAI;IAEvG,MAAMiC,SAAS,GAAGqG,sBAAsB,CAAC9E,UAAU,EAAErC,WAAW,CAAC,CAC9D4C,MAAM,CAACkD,kBAAkB,CAACzD,UAAU,CAAC,CAAC,CACtCO,MAAM,CAACwE,kBAAkB,CAACpH,WAAW,CAAC,CAAC;IAE1C,IAAIkH,yBAAyB,EAAE;MAC7BpG,SAAS,CAAC3B,IAAI,CAAC,GAAGkI,qBAAqB,CAAChF,UAAU,EAAEH,gBAAgB,CAAC,CAAC;IACxE;IAEApB,SAAS,CAAC/B,OAAO,CAACiC,UAAU,IAAI;MAC9B+F,qBAAqB,CAAC/F,UAAU,CAAC;IACnC,CAAC,CAAC;IAEF,OAAOF,SAAS;EAClB;EAEA,SAASsB,4BAA4BA,CAACpC,WAAW,EAAE7B,YAAY,EAAE;IAC/D,MAAMgE,YAAY,GAAG,EAAE;IACvB,MAAMD,gBAAgB,GAAG,CAAC,CAAC;IAC3B,MAAM6D,kBAAkB,GAAG5K,MAAM,CAAC0D,SAAS,CAAC,sCAAsC,CAAC;IAEnFV,YAAY,CAACY,OAAO,CAACxB,GAAG,IAAI;MAC1B,MAAM+J,gBAAgB,GAAGtH,WAAW,CAACpC,QAAQ,CAACL,GAAG,CAACyD,UAAU,CAAC;MAC7D,MAAMuG,UAAU,GAAGrM,cAAc,CAACsJ,GAAG,CAACjH,GAAG,CAACkH,UAAU,EAAE,kBAAkB,CAAC,KAAK,IAAI,GAAGlH,GAAG,CAACkC,GAAG,IAAI,CAAC,GAAGlC,GAAG,CAACkC,GAAG,GAAG,CAAC;MAC/G,MAAM+H,eAAe,GAAGzB,kBAAkB,IAAIxI,GAAG,CAACoI,MAAM;MAExD,IAAI2B,gBAAgB,KAAKE,eAAe,IAAID,UAAU,CAAC,EAAE;QACvDpF,YAAY,CAAChD,IAAI,CAAC5B,GAAG,CAAC;QACtBL,MAAM,CAACC,IAAI,CAACI,GAAG,CAACqC,iBAAiB,CAAC,CAC/Ba,MAAM,CAACgH,aAAa,CAAC,CAAC,CAAC,CACvB1I,OAAO,CAAC1B,GAAG,IAAI;UACd,MAAMqK,QAAQ,GAAGrK,GAAG,CAACsK,SAAS,CAAC,CAAC,EAAE9K,iBAAiB,CAAC;UACpD,MAAM+K,IAAI,GAAG1F,gBAAgB,CAAC3E,GAAG,CAACyD,UAAU,CAAC,IAAI,CAAC,CAAC;UACnD,MAAM4C,KAAK,GAAG,CAACrG,GAAG,CAACqC,iBAAiB,CAACvC,GAAG,CAAC,CAAC;UAE1C,IAAIuK,IAAI,CAACF,QAAQ,CAAC,EAAE;YAClBE,IAAI,CAACF,QAAQ,CAAC,GAAGE,IAAI,CAACF,QAAQ,CAAC,CAAC9E,MAAM,CAACgB,KAAK,CAAC,CAACnD,MAAM,CAAChE,OAAO,CAAC;UAC/D,CAAC,MAAM;YACLmL,IAAI,CAACF,QAAQ,CAAC,GAAG9D,KAAK;UACxB;UAEA1B,gBAAgB,CAAC3E,GAAG,CAACyD,UAAU,CAAC,GAAG4G,IAAI;QACzC,CAAC,CAAC;MACN;IACF,CAAC,CAAC;IAEF,OAAO;MAACzF,YAAY;MAAED;IAAgB,CAAC;EACzC;;EAEA;EACA/G,MAAM,CAAC0D,SAAS,CAAC,mBAAmB,EAAE,UAAU1D,MAAM,EAAE;IACtD,IAAIS,UAAU,CAACT,MAAM,EAAE2B,wBAAwB,CAAC,IAAI,IAAI,IAAIlB,UAAU,CAACT,MAAM,EAAE4B,sBAAsB,CAAC,IAAI,IAAI,EAAE;MAC9GZ,QAAQ,CAACa,qCAAqC,CAAC;IACjD;EACF,CAAC,CAAC;;EAEF;EACA;EACA,SAAS6K,sBAAsBA,CAACC,MAAM,EAAE;IACtC,OAAO5K,MAAM,CAACC,IAAI,CAAC2K,MAAM,CAAC,CAAC1I,MAAM,CAAC,UAAU2I,WAAW,EAAE1K,GAAG,EAAE;MAC5D,MAAM2K,cAAc,GAAG,GAAG3K,GAAG,MAAM4K,kBAAkB,CAACH,MAAM,CAACzK,GAAG,CAAC,CAAC,KAAK;MACvE,OAAO0K,WAAW,IAAIC,cAAc;IACtC,CAAC,EAAE,EAAE,CAAC;EACR;EAEA,SAAS9E,mBAAmBA,CAACpC,SAAoC,EAAEmC,oBAA4B,EAAE;IAC/F;IACA,MAAMiF,aAAa,GAAGrM,SAAS,CAACiF,SAAS,CAAC;IAE1C,MAAMqH,YAAY,GAAGjL,MAAM,CAACC,IAAI,CAAC+K,aAAa,CAAC,CAAC9K,GAAG,CAAC4D,UAAU,IAAI;MAChE,OAAO;QACLA,UAAU;QACVpB,iBAAiB,EAAEsI,aAAa,CAAClH,UAAU;MAC7C,CAAC;IACH,CAAC,CAAC,CAAC3B,IAAI,CAACC,6BAA6B,CAAC,CAAC,CAAC;;IAExC;IACA,OAAO6I,YAAY,CAAC/I,MAAM,CAAC,UAAUgJ,MAAM,EAAEC,OAAO,EAAEC,KAAK,EAAEC,GAAG,EAAE;MAChE,IAAIC,iBAAiB,GAAGX,sBAAsB,CAACQ,OAAO,CAACzI,iBAAiB,CAAC;;MAEzE;MACA,IAAK0I,KAAK,GAAG,CAAC,KAAMC,GAAG,CAAChK,MAAM,EAAE;QAC9BiK,iBAAiB,GAAGA,iBAAiB,CAAC9I,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACpD;;MAEA;MACA,MAAMyD,IAAI,GAAGkF,OAAO,CAACrH,UAAU;MAC/B,MAAMyH,SAAS,GAAGD,iBAAiB,CAACjK,MAAM;MAC1C,IAAIkK,SAAS,IAAIxF,oBAAoB,EAAE;QACrCA,oBAAoB,IAAIwF,SAAS;QACjCrM,OAAO,CAAC,WAAW+G,IAAI,+BAA+BsF,SAAS,+DAA+DxF,oBAAoB,EAAE,EAAEiF,aAAa,CAAC/E,IAAI,CAAC,CAAC;QAE1KiF,MAAM,CAACjF,IAAI,CAAC,GAAG+E,aAAa,CAAC/E,IAAI,CAAC;MACpC,CAAC,MAAM;QACL7G,OAAO,CAAC,sCAAsC6G,IAAI,2FAA2FsF,SAAS,qCAAqCxF,oBAAoB,KAAK,EAAEiF,aAAa,CAAC/E,IAAI,CAAC,CAAC;MAC5O;MAEA,IAAKmF,KAAK,GAAG,CAAC,KAAMC,GAAG,CAAChK,MAAM,IAAIrB,MAAM,CAACC,IAAI,CAACiL,MAAM,CAAC,CAAC7J,MAAM,KAAK,CAAC,EAAE;QAClEpC,QAAQ,CAAC,8JAA8J,CAAC;MAC1K;MACA,OAAOiM,MAAM;IACf,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,SAASpF,gBAAgBA,CAAClC,SAAyB,EAA6B;IAC9E,OAAOA,SAAS,CAAC1D,GAAG,CAAC0D,SAAS,IAAI;MAChC,OAAO;QACL,CAAC5D,MAAM,CAACC,IAAI,CAAC2D,SAAS,CAAC,CAAC,CAAC,CAAC,GAAGA,SAAS,CAAC5D,MAAM,CAACC,IAAI,CAAC2D,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9D1D,GAAG,CAACsL,MAAM,IAAI;UACb,OAAO;YACL,CAACxL,MAAM,CAACC,IAAI,CAACuL,MAAM,CAAC,CAAC,CAAC,CAAC,GAAGA,MAAM,CAACxL,MAAM,CAACC,IAAI,CAACuL,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAACvC,IAAI,CAAC,GAAG;UACnE,CAAC;QACH,CAAC,CAAC,CAAC/G,MAAM,CAAC,CAACuJ,CAAC,EAAEC,CAAC,KAAK1L,MAAM,CAACsF,MAAM,CAACoG,CAAC,EAAED,CAAC,CAAC,EAAE,CAAC,CAAC;MAC/C,CAAC;IACH,CAAC,CAAC,CAACvJ,MAAM,CAAC,UAAUyJ,WAAW,EAAE/H,SAAS,EAAE;MAC1C,IAAIzD,GAAG,GAAGH,MAAM,CAACC,IAAI,CAAC2D,SAAS,CAAC,CAAC,CAAC,CAAC;MACnC+H,WAAW,CAACxL,GAAG,CAAC,GAAGH,MAAM,CAACsF,MAAM,CAAC,CAAC,CAAC,EAAEqG,WAAW,CAACxL,GAAG,CAAC,EAAEyD,SAAS,CAACzD,GAAG,CAAC,CAAC;MACtE,OAAOwL,WAAW;IACpB,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;;EAEA;AACF;AACA;AACA;AACA;EACE,SAAS1H,cAAcA,CAACH,UAAsC,EAAgB;IAC5E,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;MAClC,OAAO,CAACA,UAAU,CAAC;IACrB,CAAC,MAAM,IAAIhF,OAAO,CAACgF,UAAU,CAAC,EAAE;MAC9B,OAAOA,UAAU;IACnB;IACA,OAAOhG,cAAc,CAACmG,cAAc,CAAC,CAAC,IAAI,EAAE;EAC9C;EAEA,SAASY,eAAeA,CAAA,EAA6D;IAAA,IAA5D3D,UAAU,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG3B,sBAAsB;IAAA,IAAE+B,SAAS,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;IACjF,MAAML,YAAY,GAAGnD,cAAc,CAAC+G,eAAe,CAAC,CAAC,CAAC3C,MAAM,CAAC,CAACT,IAAI,EAAEpB,GAAG,KAAK;MAC1E,MAAMuL,eAAe,GAAG3N,MAAM,CAAC0D,SAAS,CAAC,aAAa,CAAC;MACvD,MAAMkK,cAAc,GAAG5N,MAAM,CAAC0D,SAAS,CAAC,wBAAwB,CAAC;MACjE,MAAMmK,oBAAoB,GAAGnI,sBAAsB,CAACtD,GAAG,CAACyD,UAAU,CAAC,KAAKzD,GAAG,CAAC0D,SAAS;MACrF,MAAMgI,oBAAoB,GAAGH,eAAe,IAAI,CAACE,oBAAoB,IAAI,OAAOD,cAAc,KAAK,UAAU,GAAG,CAAC,CAACA,cAAc,CAACxL,GAAG,CAAC,GAAG,IAAI;MAC5I,MAAM2L,WAAW,GAAGJ,eAAe,IAAIE,oBAAoB;MAC3D,MAAMG,SAAS,GAAGD,WAAW,IAAID,oBAAoB;MAErD,IAAIE,SAAS,IAAI5L,GAAG,EAAE6L,KAAK,EAAEC,OAAO,KAAK1N,KAAK,IAAImC,WAAW,CAACP,GAAG,CAAC,EAAE;QAClEA,GAAG,CAAC+L,uBAAuB,GAAGzI,sBAAsB,CAACtD,GAAG,CAACyD,UAAU,CAAC;QACpErC,IAAI,CAACQ,IAAI,CAAC5B,GAAG,CAAC;MAChB;MAEA,OAAOoB,IAAI;IACb,CAAC,EAAE,EAAE,CAAC;IAEN,OAAOT,4BAA4B,CAACC,YAAY,EAAEC,UAAU,EAAEI,SAAS,EAAEA,SAAS,EAAEE,SAAS,CAAC;EAChG;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,SAASyI,sBAAsBA,CAAChJ,YAAY,EAAE6B,WAAW,EAAkB;IACzE,MAAMuJ,OAAO,GAAGzI,SAAS,CAACyD,cAAc,CAACvE,WAAW,EAAE7B,YAAY,CAAC;IACnE,MAAMoH,YAAY,GAAGiE,eAAe,CAAC,CAAC;IAEtC,OAAOD,OAAO,CAACnM,GAAG,CAACqM,MAAM,IAAI;MAC3B,OAAO;QACL,CAACA,MAAM,CAACzI,UAAU,GAAG9D,MAAM,CAACC,IAAI,CAACsM,MAAM,CAAC7J,iBAAiB,CAAC,CACvDa,MAAM,CAACpD,GAAG,IACT,OAAOoM,MAAM,CAACC,qBAAqB,KAAK,WAAW,IACnDD,MAAM,CAACC,qBAAqB,IAC5BnE,YAAY,CAAC1B,OAAO,CAACxG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAClC+B,MAAM,CAAC,CAACuK,GAAG,EAAEtM,GAAG,KAAK;UACpB,MAAMuI,cAAc,GAAG,CAAC6D,MAAM,CAAC7J,iBAAiB,CAACvC,GAAG,CAAC,CAAC;UACtD,MAAMyD,SAAS,GAAG;YAAE,CAACzD,GAAG,CAACsK,SAAS,CAAC,CAAC,EAAE9K,iBAAiB,CAAC,GAAG+I;UAAe,CAAC;UAC3E,IAAIvI,GAAG,KAAK7B,cAAc,CAACoO,IAAI,EAAE;YAC/B,MAAMC,sBAAsB,GAAG,GAAGxM,GAAG,IAAIoM,MAAM,CAAChF,UAAU,EAAE,CAACkD,SAAS,CAAC,CAAC,EAAE9K,iBAAiB,CAAC;YAC5F,MAAMiN,mBAAmB,GAAG;cAAE,CAACD,sBAAsB,GAAGjE;YAAe,CAAC;YACxE,OAAO,CAAC,GAAG+D,GAAG,EAAE7I,SAAS,EAAEgJ,mBAAmB,CAAC;UACjD;UACA,OAAO,CAAC,GAAGH,GAAG,EAAE7I,SAAS,CAAC;QAC5B,CAAC,EAAE,EAAE;MACT,CAAC;IACH,CAAC,CAAC;EACJ;EAEA,SAAS0I,eAAeA,CAAA,EAAG;IACzB,OAAOxO,cAAc,CAAC+O,kCAAkC,CAAC,CAAC,CAAC;IAAA,CACxD3M,GAAG,CAAC0D,SAAS,IAAIA,SAAS,CAACzD,GAAG,CAAC,CAC/BuF,MAAM,CAAC3F,kBAAkB,CAAC,CAACwD,MAAM,CAAChE,OAAO,CAAC,CAAC,CAAC;EACjD;EAEA,SAASgL,aAAaA,CAAA,EAAG;IACvB,MAAMlC,YAAY,GAAGiE,eAAe,CAAC,CAAC;IACtC,OAAO,UAASnM,GAAG,EAAE;MACnB,OAAOkI,YAAY,CAAC1B,OAAO,CAACxG,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,SAASgK,qBAAqBA,CAAChF,UAAiB,EAAEH,gBAA+B,EAAkB;IACjG,OAAOG,UAAU,CACdjD,MAAM,CAAC,CAACuK,GAAG,EAAEpM,GAAG,KAAK;MACpB,MAAMyM,MAAM,GAAG9M,MAAM,CAACsF,MAAM,CAAC,CAAC,CAAC,EAAEjF,GAAG,CAAC;MACrC,MAAM0M,iBAAiB,GAAG/H,gBAAgB,CAAC8H,MAAM,CAAChJ,UAAU,CAAC;MAC7D,MAAMF,SAAS,GAAG,EAAE;MAEpB,IAAImJ,iBAAiB,EAAE;QACrB/M,MAAM,CAACC,IAAI,CAAC8M,iBAAiB,CAAC,CAAClL,OAAO,CAAC1B,GAAG,IAAI;UAC5C,IAAIA,GAAG,IAAI4M,iBAAiB,CAAC5M,GAAG,CAAC,EAAEyD,SAAS,CAAC3B,IAAI,CAAC;YAAC,CAAC9B,GAAG,GAAG4M,iBAAiB,CAAC5M,GAAG;UAAC,CAAC,CAAC;QACpF,CAAC,CAAC;MACJ;MAEAsM,GAAG,CAACxK,IAAI,CAAC;QAAC,CAAC6K,MAAM,CAAChJ,UAAU,GAAGF;MAAS,CAAC,CAAC;MAE1C,OAAO6I,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC;EACV;EAEA,SAAS9D,eAAeA,CAACtI,GAAQ,EAAEJ,IAAc,EAAyB;IACxE,OAAOA,IAAI,CAACiC,MAAM,CAAC,CAAC0B,SAAS,EAAEzD,GAAG,KAAK;MACrC,MAAMuG,KAAK,GAAGrG,GAAG,CAACqC,iBAAiB,CAACvC,GAAG,CAAC;MACxC,IAAIuG,KAAK,EAAE;QACT9C,SAAS,CAAC3B,IAAI,CAAC;UAAC,CAAC,GAAG9B,GAAG,IAAIE,GAAG,CAACkH,UAAU,EAAE,CAACkD,SAAS,CAAC,CAAC,EAAE9K,iBAAiB,CAAC,GAAG,CAACU,GAAG,CAACqC,iBAAiB,CAACvC,GAAG,CAAC;QAAC,CAAC,CAAC;MAC9G;MACA,OAAOyD,SAAS;IAClB,CAAC,EAAE,EAAE,CAAC;EACR;EAEA,SAASsG,kBAAkBA,CAACpH,WAAW,EAAE;IACvC,SAASkK,eAAeA,CAAC7G,MAAM,EAAE;MAC/B,OAAOA,MAAM,GAAG9H,YAAY,CAAC4O,kBAAkB,CAAC;IAClD;IAEA,SAASC,kBAAkBA,CAAC/G,MAAM,EAAE;MAClC,MAAMgH,GAAG,GAAGH,eAAe,CAAC7G,MAAM,CAAC;MAEnC,OAAOnG,MAAM,CAACC,IAAI,CAACkN,GAAG,CAAC,CACpBjN,GAAG,CAAC,UAASC,GAAG,EAAE;QACjB,IAAInB,KAAK,CAACmO,GAAG,CAAChN,GAAG,CAAC,CAAC,EAAEgN,GAAG,CAAChN,GAAG,CAAC,GAAGgN,GAAG,CAAChN,GAAG,CAAC,CAACyG,KAAK,CAAC,GAAG,CAAC,CAAC1G,GAAG,CAACkN,CAAC,IAAIA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,CAACvO,OAAO,CAACqO,GAAG,CAAChN,GAAG,CAAC,CAAC,EAAEgN,GAAG,CAAChN,GAAG,CAAC,GAAG,CAAEgN,GAAG,CAAChN,GAAG,CAAC,CAAE;QAC/C,OAAO;UAAE,CAACA,GAAG,GAAGgN,GAAG,CAAChN,GAAG;QAAE,CAAC;MAC5B,CAAC,CAAC;IACN;IAEA,OAAOrC,cAAc,CAACwP,UAAU,CAAC,CAAC,CAC/B/J,MAAM,CAAC4C,MAAM,IAAIrD,WAAW,CAACpC,QAAQ,CAACyF,MAAM,CAACF,IAAI,CAAC,IAAI+G,eAAe,CAAC7G,MAAM,CAAC,CAAC,CAC9EjE,MAAM,CAAC,CAACsG,MAAM,EAAErC,MAAM,KAAK;MAC1B,MAAMoH,eAAe,GAAGL,kBAAkB,CAAC/G,MAAM,CAAC;MAElD,IAAIoH,eAAe,EAAC/E,MAAM,CAACvG,IAAI,CAAC;QAAC,CAACkE,MAAM,CAACF,IAAI,GAAGsH;MAAe,CAAC,CAAC;MACjE,OAAO/E,MAAM;IACf,CAAC,EAAE,EAAE,CAAC;EACV;EAEA,OAAO5E,SAAS;AAClB;AAEA,OAAO,MAAMA,SAAS,GAAGF,YAAY,CAAC5F,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"targeting.js","names":["auctionManager","getBufferedTTL","bidderSettings","config","BID_STATUS","DEFAULT_TARGETING_KEYS","EVENTS","JSON_MAPPING","TARGETING_KEYS","events","hook","ADPOD","deepAccess","deepClone","groupBy","isAdUnitCodeMatchingSlot","isArray","isFn","isStr","logError","logInfo","logMessage","logWarn","sortByHighestCpm","timestamp","uniques","getHighestCpm","getOldestHighestCpmBid","pbTargetingKeys","MAX_DFP_KEYLENGTH","CFG_ALLOW_TARGETING_KEYS","CFG_ADD_TARGETING_KEYS","TARGETING_KEY_CONFIGURATION_ERROR_MSG","TARGETING_KEYS_ARR","Object","keys","map","key","isBidNotExpired","bid","responseTimestamp","isUnusedBid","status","RENDERED","includes","filters","isBidUsable","values","some","predicate","getHighestCpmBidsFromBidPool","bidsReceived","winReducer","adUnitBidLimit","arguments","length","undefined","hasModified","winSorter","bids","dealPrioritization","getConfig","buckets","forEach","bucketKey","bucketBids","bidsByBidder","push","reduce","sort","sortByDealAndPriceBucketOrCpm","a","b","cpm","slice","useCpm","adserverTargeting","hb_deal","hb_pb","getGPTSlotsForAdUnits","adUnitCodes","customSlotMatching","getSlots","window","googletag","pubads","auToSlots","slot","customMatch","filter","au","fromEntries","newTargeting","latestAuctionForAdUnit","targeting","setLatestAuctionForAdUnit","adUnitCode","auctionId","resetPresetTargetingAST","getAdUnitCodes","unit","astTag","apntag","getTag","keywords","currentKeywords","newKeywords","toLowerCase","modifyTag","getAllTargeting","bidLimit","getBidsReceived","sendAllBids","bidLimitConfigValue","customKeysByUnit","filteredBids","getfilteredBidsAndCustomKeys","bidsSorted","getTargetingLevels","defaultKeys","assign","allowedKeys","addedKeys","Error","concat","Array","getAllowedTargetingKeyValues","flatTargeting","flattenTargeting","auctionKeysThreshold","filterTargetingKeys","code","setTargetingForGPT","adUnit","targetingSet","resetMap","entries","_ref","targetId","slots","value","indexOf","split","getSlotElementId","updateTargetingFromMap","targetingKey","setStatusForBids","BID_TARGETING_SET","targetingDone","emit","SET_TARGETING","getWinningBids","get","bidderCode","setTargetingForAst","astTargeting","e","keywordsObj","regex","search","toUpperCase","setKeywords","overrideKeyValue","isApntagDefined","addBidToTargeting","enableSendAllBids","deals","standardKeys","allowSendAllBidsTargetingKeys","allowedSendAllBidTargeting","result","dealId","targetingValue","getTargetingMap","getBidderTargeting","alwaysIncludeDeals","defaultKeyring","keyDispositions","k","join","keyring","kvPair","isCustom","defaultKey","found","find","allowedKey","allowedKeyName","removedKeys","d","filteredTargeting","updatePBTargetingKeys","targetKey","targetKeys","useAllBidsCustomTargeting","getWinningBidTargeting","getAdUnitTargeting","getCustomBidTargeting","adUnitIsEligible","cpmAllowed","isPreferredDeal","getCustomKeys","truncKey","substring","data","convertKeysToQueryForm","keyMap","queryString","encodedKeyPair","encodeURIComponent","targetingCopy","targetingMap","accMap","currMap","index","arr","adUnitQueryString","querySize","target","p","c","accumulator","bidCacheEnabled","filterFunction","isBidFromLastAuction","filterFunctionResult","cacheFilter","bidFilter","video","context","latestTargetedAuctionId","winners","getStandardKeys","winner","sendStandardTargeting","acc","DEAL","bidderCodeTargetingKey","bidderCodeTargeting","getStandardBidderAdServerTargeting","newBid","customKeysForUnit","getTargetingObj","ADSERVER_TARGETING","getTargetingValues","aut","s","trim","getAdUnits","targetingValues"],"sourceRoot":"../../..","sources":["src/targeting.ts"],"sourcesContent":["import {auctionManager} from './auctionManager.js';\nimport {getBufferedTTL} from './bidTTL.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {config} from './config.js';\nimport {\n BID_STATUS,\n DEFAULT_TARGETING_KEYS,\n EVENTS,\n JSON_MAPPING,\n TARGETING_KEYS\n} from './constants.js';\nimport * as events from './events.js';\nimport {hook} from './hook.js';\nimport {ADPOD} from './mediaTypes.js';\nimport {\n deepAccess,\n deepClone,\n groupBy,\n isAdUnitCodeMatchingSlot,\n isArray,\n isFn,\n isStr,\n logError,\n logInfo,\n logMessage,\n logWarn,\n sortByHighestCpm,\n timestamp,\n uniques,\n} from './utils.js';\nimport {getHighestCpm, getOldestHighestCpmBid} from './utils/reducers.js';\nimport type {Bid} from './bidfactory.ts';\nimport type {AdUnitCode, ByAdUnit, Identifier} from './types/common.d.ts';\nimport type {DefaultTargeting} from './auction.ts';\n\nvar pbTargetingKeys = [];\n\nconst MAX_DFP_KEYLENGTH = 20;\n\nconst CFG_ALLOW_TARGETING_KEYS = `targetingControls.allowTargetingKeys`;\nconst CFG_ADD_TARGETING_KEYS = `targetingControls.addTargetingKeys`;\nconst TARGETING_KEY_CONFIGURATION_ERROR_MSG = `Only one of \"${CFG_ALLOW_TARGETING_KEYS}\" or \"${CFG_ADD_TARGETING_KEYS}\" can be set`;\n\nexport const TARGETING_KEYS_ARR = Object.keys(TARGETING_KEYS).map(\n key => TARGETING_KEYS[key]\n);\n\n// return unexpired bids\nconst isBidNotExpired = (bid) => (bid.responseTimestamp + getBufferedTTL(bid) * 1000) > timestamp();\n\n// return bids whose status is not set. Winning bids can only have a status of `rendered`.\nconst isUnusedBid = (bid) => bid && ((bid.status && ![BID_STATUS.RENDERED].includes(bid.status)) || !bid.status);\n\nexport const filters = {\n isBidNotExpired,\n isUnusedBid\n};\n\nexport function isBidUsable(bid) {\n return !Object.values(filters).some((predicate) => !predicate(bid));\n}\n\n// If two bids are found for same adUnitCode, we will use the highest one to take part in auction\n// This can happen in case of concurrent auctions\n// If adUnitBidLimit is set above 0 return top N number of bids\nexport const getHighestCpmBidsFromBidPool = hook('sync', function(bidsReceived, winReducer, adUnitBidLimit = 0, hasModified = false, winSorter = sortByHighestCpm) {\n if (!hasModified) {\n const bids = [];\n const dealPrioritization = config.getConfig('sendBidsControl.dealPrioritization');\n // bucket by adUnitcode\n const buckets = groupBy(bidsReceived, 'adUnitCode');\n // filter top bid for each bucket by bidder\n Object.keys(buckets).forEach(bucketKey => {\n let bucketBids = [];\n const bidsByBidder = groupBy(buckets[bucketKey], 'bidderCode')\n Object.keys(bidsByBidder).forEach(key => { bucketBids.push(bidsByBidder[key].reduce(winReducer)) });\n // if adUnitBidLimit is set, pass top N number bids\n if (adUnitBidLimit) {\n bucketBids = dealPrioritization ? bucketBids.sort(sortByDealAndPriceBucketOrCpm(true)) : bucketBids.sort((a, b) => b.cpm - a.cpm);\n bids.push(...bucketBids.slice(0, adUnitBidLimit));\n } else {\n bucketBids = bucketBids.sort(winSorter)\n bids.push(...bucketBids);\n }\n });\n\n return bids;\n }\n\n return bidsReceived;\n});\n\n/**\n * A descending sort function that will sort the list of objects based on the following two dimensions:\n * - bids with a deal are sorted before bids w/o a deal\n * - then sort bids in each grouping based on the hb_pb value\n * eg: the following list of bids would be sorted like:\n * [{\n * \"hb_adid\": \"vwx\",\n * \"hb_pb\": \"28\",\n * \"hb_deal\": \"7747\"\n * }, {\n * \"hb_adid\": \"jkl\",\n * \"hb_pb\": \"10\",\n * \"hb_deal\": \"9234\"\n * }, {\n * \"hb_adid\": \"stu\",\n * \"hb_pb\": \"50\"\n * }, {\n * \"hb_adid\": \"def\",\n * \"hb_pb\": \"2\"\n * }]\n */\nexport function sortByDealAndPriceBucketOrCpm(useCpm = false) {\n return function(a, b) {\n if (a.adserverTargeting.hb_deal !== undefined && b.adserverTargeting.hb_deal === undefined) {\n return -1;\n }\n\n if ((a.adserverTargeting.hb_deal === undefined && b.adserverTargeting.hb_deal !== undefined)) {\n return 1;\n }\n\n // assuming both values either have a deal or don't have a deal - sort by the hb_pb param\n if (useCpm) {\n return b.cpm - a.cpm;\n }\n\n return b.adserverTargeting.hb_pb - a.adserverTargeting.hb_pb;\n }\n}\n\n/**\n * Return a map where each code in `adUnitCodes` maps to a list of GPT slots that match it.\n *\n * @param adUnitCodes\n * @param customSlotMatching\n * @param getSlots\n */\nexport function getGPTSlotsForAdUnits(adUnitCodes: AdUnitCode[], customSlotMatching, getSlots = () => window.googletag.pubads().getSlots()): ByAdUnit<googletag.Slot[]> {\n return getSlots().reduce((auToSlots, slot) => {\n const customMatch = isFn(customSlotMatching) && customSlotMatching(slot);\n Object.keys(auToSlots).filter(isFn(customMatch) ? customMatch : isAdUnitCodeMatchingSlot(slot)).forEach(au => auToSlots[au].push(slot));\n return auToSlots;\n }, Object.fromEntries(adUnitCodes.map(au => [au, []])));\n}\n\nexport type TargetingMap<V> = Partial<DefaultTargeting> & {\n [targetingKey: string]: V\n}\n\nexport type TargetingValues = TargetingMap<string>;\ntype GPTTargetingValues = TargetingMap<string | string[]>;\n\ntype TargetingValueLists = TargetingMap<string[]>;\ntype TargetingArray = ByAdUnit<TargetingValueLists[]>[];\n\ntype AdUnitPredicate = (adUnitCode: AdUnitCode) => boolean;\nexport type SlotMatchingFn = (slot: googletag.Slot) => AdUnitPredicate;\n\ndeclare module './events' {\n interface Events {\n [EVENTS.SET_TARGETING]: [ByAdUnit<GPTTargetingValues>];\n }\n}\n\nexport interface TargetingControlsConfig {\n /**\n * Specifies the maximum number of characters the system can add to ad server targeting.\n */\n auctionKeyMaxChars?: number;\n /**\n * If enableSendAllBids is false, set this value to true to ensure that deals are sent along with the winning bid\n */\n alwaysIncludeDeals?: boolean;\n /**\n * Selects supported default targeting keys.\n */\n allowTargetingKeys?: (keyof typeof TARGETING_KEYS)[];\n /**\n * Selects targeting keys to be supported in addition to the default ones\n */\n addTargetingKeys?: (keyof typeof TARGETING_KEYS)[];\n /**\n * Selects supported default targeting keys.\n */\n allowSendAllBidsTargetingKeys?: (keyof typeof TARGETING_KEYS)[];\n /**\n * Set to false to prevent custom targeting values from being set for non-winning bids\n */\n allBidsCustomTargeting?: boolean\n}\n\ndeclare module './config' {\n interface Config {\n targetingControls?: TargetingControlsConfig;\n }\n}\n\nexport function newTargeting(auctionManager) {\n const latestAuctionForAdUnit = {};\n\n const targeting = {\n setLatestAuctionForAdUnit(adUnitCode: AdUnitCode, auctionId: Identifier) {\n latestAuctionForAdUnit[adUnitCode] = auctionId;\n },\n\n resetPresetTargetingAST(adUnitCode?: AdUnitCode | AdUnitCode[]) {\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n adUnitCodes.forEach(function(unit) {\n const astTag = window.apntag.getTag(unit);\n if (astTag && astTag.keywords) {\n const currentKeywords = Object.keys(astTag.keywords);\n const newKeywords = {};\n currentKeywords.forEach((key) => {\n if (!pbTargetingKeys.includes(key.toLowerCase())) {\n newKeywords[key] = astTag.keywords[key];\n }\n })\n window.apntag.modifyTag(unit, { keywords: newKeywords })\n }\n });\n },\n\n /**\n * Returns all ad server targeting for all ad units.\n * @param adUnitCode\n * @param bidLimit\n * @param bidsReceived - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return targeting\n */\n getAllTargeting(adUnitCode?: AdUnitCode | AdUnitCode[], bidLimit?: number, bidsReceived?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): ByAdUnit<TargetingValues> {\n bidsReceived ||= getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n const sendAllBids = config.getConfig('enableSendAllBids');\n const bidLimitConfigValue = config.getConfig('sendBidsControl.bidLimit');\n const adUnitBidLimit = (sendAllBids && (bidLimit || bidLimitConfigValue)) || 0;\n const { customKeysByUnit, filteredBids } = getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived);\n const bidsSorted = getHighestCpmBidsFromBidPool(filteredBids, winReducer, adUnitBidLimit, undefined, winSorter);\n let targeting = getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes);\n\n const defaultKeys = Object.keys(Object.assign({}, DEFAULT_TARGETING_KEYS));\n let allowedKeys = config.getConfig(CFG_ALLOW_TARGETING_KEYS);\n const addedKeys = config.getConfig(CFG_ADD_TARGETING_KEYS);\n\n if (addedKeys != null && allowedKeys != null) {\n throw new Error(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n } else if (addedKeys != null) {\n allowedKeys = defaultKeys.concat(addedKeys) as any;\n } else {\n allowedKeys = allowedKeys || defaultKeys as any;\n }\n\n if (Array.isArray(allowedKeys) && allowedKeys.length > 0) {\n targeting = getAllowedTargetingKeyValues(targeting, allowedKeys);\n }\n\n let flatTargeting = flattenTargeting(targeting);\n\n const auctionKeysThreshold = config.getConfig('targetingControls.auctionKeyMaxChars');\n if (auctionKeysThreshold) {\n logInfo(`Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ${auctionKeysThreshold} characters. Running checks on auction keys...`);\n flatTargeting = filterTargetingKeys(flatTargeting, auctionKeysThreshold);\n }\n\n // make sure at least there is a entry per adUnit code in the targetingSet so receivers of SET_TARGETING call's can know what ad units are being invoked\n adUnitCodes.forEach(code => {\n if (!flatTargeting[code]) {\n flatTargeting[code] = {};\n }\n });\n\n return flatTargeting;\n },\n\n setTargetingForGPT: hook('sync', function (adUnit?: AdUnitCode | AdUnitCode[], customSlotMatching?: SlotMatchingFn) {\n // get our ad unit codes\n const targetingSet: ByAdUnit<GPTTargetingValues> = targeting.getAllTargeting(adUnit);\n\n const resetMap = Object.fromEntries(pbTargetingKeys.map(key => [key, null]));\n\n Object.entries(getGPTSlotsForAdUnits(Object.keys(targetingSet), customSlotMatching)).forEach(([targetId, slots]) => {\n slots.forEach(slot => {\n // now set new targeting keys\n Object.keys(targetingSet[targetId]).forEach(key => {\n let value: string | string[] = targetingSet[targetId][key];\n if (typeof value === 'string' && value.indexOf(',') !== -1) {\n // due to the check the array will be formed only if string has ',' else plain string will be assigned as value\n value = value.split(',');\n }\n targetingSet[targetId][key] = value;\n });\n logMessage(`Attempting to set targeting-map for slot: ${slot.getSlotElementId()} with targeting-map:`, targetingSet[targetId]);\n slot.updateTargetingFromMap(Object.assign({}, resetMap, targetingSet[targetId]))\n })\n })\n\n Object.keys(targetingSet).forEach((adUnitCode) => {\n Object.keys(targetingSet[adUnitCode]).forEach((targetingKey) => {\n if (targetingKey === 'hb_adid') {\n auctionManager.setStatusForBids(targetingSet[adUnitCode][targetingKey], BID_STATUS.BID_TARGETING_SET);\n }\n });\n });\n\n targeting.targetingDone(targetingSet);\n\n // emit event\n events.emit(EVENTS.SET_TARGETING, targetingSet);\n }, 'setTargetingForGPT'),\n\n targetingDone: hook('sync', function (targetingSet: ByAdUnit<GPTTargetingValues>) {\n return targetingSet;\n }, 'targetingDone'),\n\n /**\n * Returns top bids for a given adUnit or set of adUnits.\n * @param adUnitCode adUnitCode or array of adUnitCodes\n * @param bids - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return An array of winning bids.\n */\n getWinningBids(adUnitCode: AdUnitCode | AdUnitCode[], bids?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): Bid[] {\n const bidsReceived = bids || getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n\n return bidsReceived\n .filter(bid => adUnitCodes.includes(bid.adUnitCode))\n .filter(bid => (bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true) ? bid.cpm >= 0 : bid.cpm > 0)\n .map(bid => bid.adUnitCode)\n .filter(uniques)\n .map(adUnitCode => bidsReceived\n .filter(bid => bid.adUnitCode === adUnitCode ? bid : null)\n .reduce(getHighestCpm));\n },\n\n /**\n * @param adUnitCodes adUnitCode or array of adUnitCodes\n * Sets targeting for AST\n */\n setTargetingForAst(adUnitCodes?: AdUnitCode | AdUnitCode[]) {\n const astTargeting = targeting.getAllTargeting(adUnitCodes);\n\n try {\n targeting.resetPresetTargetingAST(adUnitCodes);\n } catch (e) {\n logError('unable to reset targeting for AST' + e)\n }\n\n Object.keys(astTargeting).forEach(targetId =>\n Object.keys(astTargeting[targetId]).forEach(key => {\n logMessage(`Attempting to set targeting for targetId: ${targetId} key: ${key} value: ${astTargeting[targetId][key]}`);\n // setKeywords supports string and array as value\n if (isStr(astTargeting[targetId][key]) || isArray(astTargeting[targetId][key])) {\n const keywordsObj = {};\n const regex = /pt[0-9]/;\n if (key.search(regex) < 0) {\n keywordsObj[key.toUpperCase()] = astTargeting[targetId][key];\n } else {\n // pt${n} keys should not be uppercased\n keywordsObj[key] = astTargeting[targetId][key];\n }\n window.apntag.setKeywords(targetId, keywordsObj, { overrideKeyValue: true });\n }\n })\n );\n },\n isApntagDefined() {\n if (window.apntag && isFn(window.apntag.setKeywords)) {\n return true;\n }\n },\n }\n\n function addBidToTargeting(bids, enableSendAllBids = false, deals = false): TargetingArray {\n const standardKeys = TARGETING_KEYS_ARR.slice();\n const allowSendAllBidsTargetingKeys = config.getConfig('targetingControls.allowSendAllBidsTargetingKeys');\n\n const allowedSendAllBidTargeting = allowSendAllBidsTargetingKeys\n ? allowSendAllBidsTargetingKeys.map((key) => TARGETING_KEYS[key])\n : standardKeys;\n\n return bids.reduce((result, bid) => {\n if (enableSendAllBids || (deals && bid.dealId)) {\n const targetingValue = getTargetingMap(bid, standardKeys.filter(\n key => typeof bid.adserverTargeting[key] !== 'undefined' &&\n (deals || allowedSendAllBidTargeting.indexOf(key) !== -1)));\n\n if (targetingValue) {\n result.push({[bid.adUnitCode]: targetingValue})\n }\n }\n return result;\n }, []);\n }\n\n function getBidderTargeting(bids) {\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n const enableSendAllBids = config.getConfig('enableSendAllBids');\n return addBidToTargeting(bids, enableSendAllBids, alwaysIncludeDeals);\n }\n\n /**\n * Returns filtered ad server targeting for custom and allowed keys.\n * @param targeting\n * @param allowedKeys\n * @return filtered targeting\n */\n function getAllowedTargetingKeyValues(targeting: TargetingArray, allowedKeys: string[]): TargetingArray {\n const defaultKeyring = Object.assign({}, TARGETING_KEYS);\n const defaultKeys = Object.keys(TARGETING_KEYS);\n const keyDispositions = {};\n logInfo(`allowTargetingKeys - allowed keys [ ${allowedKeys.map(k => defaultKeyring[k]).join(', ')} ]`);\n targeting.map(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n const keys = keyring.filter(kvPair => {\n const key = Object.keys(kvPair)[0];\n // check if key is in default keys, if not, it's custom, we won't remove it.\n const isCustom = defaultKeys.filter(defaultKey => key.indexOf(defaultKeyring[defaultKey]) === 0).length === 0;\n // check if key explicitly allowed, if not, we'll remove it.\n const found = isCustom || allowedKeys.find(allowedKey => {\n const allowedKeyName = defaultKeyring[allowedKey];\n // we're looking to see if the key exactly starts with one of our default keys.\n // (which hopefully means it's not custom)\n const found = key.indexOf(allowedKeyName) === 0;\n return found;\n });\n keyDispositions[key] = !found;\n return found;\n });\n adUnit[adUnitCode] = keys;\n });\n const removedKeys = Object.keys(keyDispositions).filter(d => keyDispositions[d]);\n logInfo(`allowTargetingKeys - removed keys [ ${removedKeys.join(', ')} ]`);\n // remove any empty targeting objects, as they're unnecessary.\n const filteredTargeting = targeting.filter(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n return keyring.length > 0;\n });\n return filteredTargeting\n }\n\n function updatePBTargetingKeys(adUnitCode) {\n (Object.keys(adUnitCode)).forEach(key => {\n adUnitCode[key].forEach(targetKey => {\n const targetKeys = Object.keys(targetKey);\n if (pbTargetingKeys.indexOf(targetKeys[0]) === -1) {\n pbTargetingKeys = targetKeys.concat(pbTargetingKeys);\n }\n });\n });\n }\n\n function getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes) {\n const useAllBidsCustomTargeting = config.getConfig('targetingControls.allBidsCustomTargeting') === true;\n\n const targeting = getWinningBidTargeting(bidsSorted, adUnitCodes)\n .concat(getBidderTargeting(bidsSorted))\n .concat(getAdUnitTargeting(adUnitCodes));\n\n if (useAllBidsCustomTargeting) {\n targeting.push(...getCustomBidTargeting(bidsSorted, customKeysByUnit))\n }\n\n targeting.forEach(adUnitCode => {\n updatePBTargetingKeys(adUnitCode);\n });\n\n return targeting;\n }\n\n function getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived) {\n const filteredBids = [];\n const customKeysByUnit = {};\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n\n bidsReceived.forEach(bid => {\n const adUnitIsEligible = adUnitCodes.includes(bid.adUnitCode);\n const cpmAllowed = bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true ? bid.cpm >= 0 : bid.cpm > 0;\n const isPreferredDeal = alwaysIncludeDeals && bid.dealId;\n\n if (adUnitIsEligible && (isPreferredDeal || cpmAllowed)) {\n filteredBids.push(bid);\n Object.keys(bid.adserverTargeting)\n .filter(getCustomKeys())\n .forEach(key => {\n const truncKey = key.substring(0, MAX_DFP_KEYLENGTH);\n const data = customKeysByUnit[bid.adUnitCode] || {};\n const value = [bid.adserverTargeting[key]];\n\n if (data[truncKey]) {\n data[truncKey] = data[truncKey].concat(value).filter(uniques);\n } else {\n data[truncKey] = value;\n }\n\n customKeysByUnit[bid.adUnitCode] = data;\n })\n }\n });\n\n return {filteredBids, customKeysByUnit};\n }\n\n // warn about conflicting configuration\n config.getConfig('targetingControls', function (config) {\n if (deepAccess(config, CFG_ALLOW_TARGETING_KEYS) != null && deepAccess(config, CFG_ADD_TARGETING_KEYS) != null) {\n logError(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n }\n });\n\n // create an encoded string variant based on the keypairs of the provided object\n // - note this will encode the characters between the keys (ie = and &)\n function convertKeysToQueryForm(keyMap) {\n return Object.keys(keyMap).reduce(function (queryString, key) {\n const encodedKeyPair = `${key}%3d${encodeURIComponent(keyMap[key])}%26`;\n return queryString += encodedKeyPair;\n }, '');\n }\n\n function filterTargetingKeys(targeting: ByAdUnit<TargetingValues>, auctionKeysThreshold: number) {\n // read each targeting.adUnit object and sort the adUnits into a list of adUnitCodes based on priorization setting (eg CPM)\n const targetingCopy = deepClone(targeting);\n\n const targetingMap = Object.keys(targetingCopy).map(adUnitCode => {\n return {\n adUnitCode,\n adserverTargeting: targetingCopy[adUnitCode]\n };\n }).sort(sortByDealAndPriceBucketOrCpm());\n\n // iterate through the targeting based on above list and transform the keys into the query-equivalent and count characters\n return targetingMap.reduce(function (accMap, currMap, index, arr) {\n let adUnitQueryString = convertKeysToQueryForm(currMap.adserverTargeting);\n\n // for the last adUnit - trim last encoded ampersand from the converted query string\n if ((index + 1) === arr.length) {\n adUnitQueryString = adUnitQueryString.slice(0, -3);\n }\n\n // if under running threshold add to result\n const code = currMap.adUnitCode;\n const querySize = adUnitQueryString.length;\n if (querySize <= auctionKeysThreshold) {\n auctionKeysThreshold -= querySize;\n logInfo(`AdUnit '${code}' auction keys comprised of ${querySize} characters. Deducted from running threshold; new limit is ${auctionKeysThreshold}`, targetingCopy[code]);\n\n accMap[code] = targetingCopy[code];\n } else {\n logWarn(`The following keys for adUnitCode '${code}' exceeded the current limit of the 'auctionKeyMaxChars' setting.\\nThe key-set size was ${querySize}, the current allotted amount was ${auctionKeysThreshold}.\\n`, targetingCopy[code]);\n }\n\n if ((index + 1) === arr.length && Object.keys(accMap).length === 0) {\n logError('No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting.');\n }\n return accMap;\n }, {});\n }\n\n /**\n * Converts targeting array and flattens to make it easily iteratable\n * e.g: Sample input to this function\n * ```\n * [\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder\": [\"appnexusAst\"]}]\n * },\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder_appnexusAs\": [\"appnexusAst\", \"other\"]}]\n * }\n * ]\n * ```\n * Resulting array\n * ```\n * {\n * \"div-gpt-ad-1460505748561-0\": {\n * \"hb_bidder\": \"appnexusAst\",\n * \"hb_bidder_appnexusAs\": \"appnexusAst,other\"\n * }\n * }\n * ```\n *\n * @param targeting\n * @return targeting\n */\n function flattenTargeting(targeting: TargetingArray): ByAdUnit<TargetingValues> {\n return targeting.map(targeting => {\n return {\n [Object.keys(targeting)[0]]: targeting[Object.keys(targeting)[0]]\n .map(target => {\n return {\n [Object.keys(target)[0]]: target[Object.keys(target)[0]].join(',')\n };\n }).reduce((p, c) => Object.assign(c, p), {})\n };\n }).reduce(function (accumulator, targeting) {\n var key = Object.keys(targeting)[0];\n accumulator[key] = Object.assign({}, accumulator[key], targeting[key]);\n return accumulator;\n }, {});\n }\n\n /**\n * normlizes input to a `adUnit.code` array\n * @param adUnitCode\n * @return AdUnit code array\n */\n function getAdUnitCodes(adUnitCode?: AdUnitCode | AdUnitCode[]): AdUnitCode[] {\n if (typeof adUnitCode === 'string') {\n return [adUnitCode];\n } else if (isArray(adUnitCode)) {\n return adUnitCode;\n }\n return auctionManager.getAdUnitCodes() || [];\n }\n\n function getBidsReceived(winReducer = getOldestHighestCpmBid, winSorter = undefined) {\n const bidsReceived = auctionManager.getBidsReceived().reduce((bids, bid) => {\n const bidCacheEnabled = config.getConfig('useBidCache');\n const filterFunction = config.getConfig('bidCacheFilterFunction');\n const isBidFromLastAuction = latestAuctionForAdUnit[bid.adUnitCode] === bid.auctionId;\n const filterFunctionResult = bidCacheEnabled && !isBidFromLastAuction && typeof filterFunction === 'function' ? !!filterFunction(bid) : true;\n const cacheFilter = bidCacheEnabled || isBidFromLastAuction;\n const bidFilter = cacheFilter && filterFunctionResult;\n\n if (bidFilter && bid?.video?.context !== ADPOD && isBidUsable(bid)) {\n bid.latestTargetedAuctionId = latestAuctionForAdUnit[bid.adUnitCode];\n bids.push(bid)\n }\n\n return bids;\n }, []);\n\n return getHighestCpmBidsFromBidPool(bidsReceived, winReducer, undefined, undefined, winSorter);\n }\n\n /**\n * Get targeting key value pairs for winning bid.\n * @param bidsReceived code array\n * @param adUnitCodes code array\n * @return winning bids targeting\n */\n function getWinningBidTargeting(bidsReceived, adUnitCodes): TargetingArray {\n const winners = targeting.getWinningBids(adUnitCodes, bidsReceived);\n const standardKeys = getStandardKeys();\n\n return winners.map(winner => {\n return {\n [winner.adUnitCode]: Object.keys(winner.adserverTargeting)\n .filter(key =>\n typeof winner.sendStandardTargeting === 'undefined' ||\n winner.sendStandardTargeting ||\n standardKeys.indexOf(key) === -1)\n .reduce((acc, key) => {\n const targetingValue = [winner.adserverTargeting[key]];\n const targeting = { [key.substring(0, MAX_DFP_KEYLENGTH)]: targetingValue };\n if (key === TARGETING_KEYS.DEAL) {\n const bidderCodeTargetingKey = `${key}_${winner.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH);\n const bidderCodeTargeting = { [bidderCodeTargetingKey]: targetingValue };\n return [...acc, targeting, bidderCodeTargeting];\n }\n return [...acc, targeting];\n }, [])\n };\n });\n }\n\n function getStandardKeys() {\n return auctionManager.getStandardBidderAdServerTargeting() // in case using a custom standard key set\n .map(targeting => targeting.key)\n .concat(TARGETING_KEYS_ARR).filter(uniques); // standard keys defined in the library.\n }\n\n function getCustomKeys() {\n const standardKeys = getStandardKeys();\n return function(key) {\n return standardKeys.indexOf(key) === -1;\n }\n }\n\n /**\n * Get custom targeting key value pairs for bids.\n * @param {Array<Object>} bidsSorted code array\n * @param {Object} customKeysByUnit code array\n * @return bids with custom targeting defined in bidderSettings\n */\n function getCustomBidTargeting(bidsSorted: Bid[], customKeysByUnit: ByAdUnit<any>): TargetingArray {\n return bidsSorted\n .reduce((acc, bid) => {\n const newBid = Object.assign({}, bid);\n const customKeysForUnit = customKeysByUnit[newBid.adUnitCode];\n const targeting = [];\n\n if (customKeysForUnit) {\n Object.keys(customKeysForUnit).forEach(key => {\n if (key && customKeysForUnit[key]) targeting.push({[key]: customKeysForUnit[key]});\n })\n }\n\n acc.push({[newBid.adUnitCode]: targeting});\n\n return acc;\n }, []);\n }\n\n function getTargetingMap(bid: Bid, keys: string[]): TargetingValueLists[] {\n return keys.reduce((targeting, key) => {\n const value = bid.adserverTargeting[key];\n if (value) {\n targeting.push({[`${key}_${bid.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH)]: [bid.adserverTargeting[key]]})\n }\n return targeting;\n }, []);\n }\n\n function getAdUnitTargeting(adUnitCodes) {\n function getTargetingObj(adUnit) {\n return adUnit?.[JSON_MAPPING.ADSERVER_TARGETING];\n }\n\n function getTargetingValues(adUnit) {\n const aut = getTargetingObj(adUnit);\n\n return Object.keys(aut)\n .map(function(key) {\n if (isStr(aut[key])) aut[key] = aut[key].split(',').map(s => s.trim());\n if (!isArray(aut[key])) aut[key] = [ aut[key] ];\n return { [key]: aut[key] };\n });\n }\n\n return auctionManager.getAdUnits()\n .filter(adUnit => adUnitCodes.includes(adUnit.code) && getTargetingObj(adUnit))\n .reduce((result, adUnit) => {\n const targetingValues = getTargetingValues(adUnit);\n\n if (targetingValues)result.push({[adUnit.code]: targetingValues});\n return result;\n }, []);\n }\n\n return targeting;\n}\n\nexport const targeting = newTargeting(auctionManager);\n"],"mappings":"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","ignoreList":[]}