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.
- package/.github/dependabot.yml +8 -0
- package/.github/workflows/scripts/codepath-notification +1 -0
- package/creative/renderers/display/renderer.js +3 -4
- package/dist/chunks/1plusXRtdProvider.js +1 -1
- package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
- package/dist/chunks/33acrossIdSystem.js +1 -1
- package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
- package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
- package/dist/chunks/adagioUtils.js +1 -1
- package/dist/chunks/addefendBidAdapter.js +1 -1
- package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
- package/dist/chunks/adgenerationBidAdapter.js +1 -1
- package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
- package/dist/chunks/adlooxRtdProvider.js +1 -1
- package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerBidAdapter.js +1 -1
- package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerIdSystem.metadata.js +1 -1
- package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
- package/dist/chunks/adotBidAdapter.metadata.js +1 -1
- package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryBidAdapter.js +1 -1
- package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
- package/dist/chunks/adrelevantisBidAdapter.js +1 -1
- package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
- package/dist/chunks/adstirBidAdapter.js +1 -1
- package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
- package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
- package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
- package/dist/chunks/advertisingBidAdapter.js +1 -1
- package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
- package/dist/chunks/adxcgBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
- package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
- package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
- package/dist/chunks/ajaBidAdapter.js +1 -1
- package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxBidAdapter.js +1 -1
- package/dist/chunks/amxBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxIdSystem.js +1 -1
- package/dist/chunks/amxIdSystem.metadata.js +1 -1
- package/dist/chunks/aniviewBidAdapter.js +1 -1
- package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
- package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
- package/dist/chunks/appierAnalyticsAdapter.js +1 -1
- package/dist/chunks/appierBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusBidAdapter.js +1 -1
- package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusUtils.js +1 -1
- package/dist/chunks/appushBidAdapter.metadata.js +1 -1
- package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
- package/dist/chunks/asoBidAdapter.js +1 -1
- package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
- package/dist/chunks/axisBidAdapter.metadata.js +1 -1
- package/dist/chunks/axonixBidAdapter.js +1 -1
- package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
- package/dist/chunks/beopBidAdapter.js +1 -1
- package/dist/chunks/beopBidAdapter.metadata.js +1 -1
- package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidglassBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
- package/dist/chunks/big-richmediaBidAdapter.js +1 -1
- package/dist/chunks/bitmediaBidAdapter.js +1 -1
- package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/blueBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmtmBidAdapter.js +1 -1
- package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridBidAdapter.js +1 -1
- package/dist/chunks/bridBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridgewellBidAdapter.js +1 -1
- package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
- package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
- package/dist/chunks/carodaBidAdapter.js +1 -1
- package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
- package/dist/chunks/categoryTranslation.metadata.js +1 -1
- package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
- package/dist/chunks/ceeIdSystem.metadata.js +1 -1
- package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/chtnwBidAdapter.js +1 -1
- package/dist/chunks/chunk-core.js +1 -1
- package/dist/chunks/compassBidAdapter.metadata.js +1 -1
- package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
- package/dist/chunks/concertBidAdapter.js +1 -1
- package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
- package/dist/chunks/connectIdSystem.metadata.js +1 -1
- package/dist/chunks/connectadBidAdapter.js +1 -1
- package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
- package/dist/chunks/consumableBidAdapter.js +1 -1
- package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
- package/dist/chunks/contxtfulBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
- package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
- package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
- package/dist/chunks/craftBidAdapter.js +1 -1
- package/dist/chunks/creative-renderer-display.js +1 -1
- package/dist/chunks/criteoBidAdapter.js +1 -1
- package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/criteoIdSystem.metadata.js +1 -1
- package/dist/chunks/cryptoUtils.js +1 -0
- package/dist/chunks/cwireBidAdapter.js +1 -1
- package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
- package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
- package/dist/chunks/debugging-standalone.js +1 -1
- package/dist/chunks/debugging.metadata.js +1 -1
- package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
- package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
- package/dist/chunks/dependencies.json +13 -0
- package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
- package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
- package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
- package/dist/chunks/dspxBidAdapter.js +1 -1
- package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
- package/dist/chunks/dxkultureBidAdapter.js +1 -1
- package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
- package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
- package/dist/chunks/eplanningBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.metadata.js +1 -1
- package/dist/chunks/eskimiBidAdapter.js +1 -1
- package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/euidIdSystem.js +1 -1
- package/dist/chunks/euidIdSystem.metadata.js +1 -1
- package/dist/chunks/exadsBidAdapter.js +1 -1
- package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/excoBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
- package/dist/chunks/finativeBidAdapter.js +1 -1
- package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
- package/dist/chunks/getintentBidAdapter.js +1 -1
- package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
- package/dist/chunks/gmosspBidAdapter.js +1 -1
- package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsRtdProvider.js +1 -1
- package/dist/chunks/gridBidAdapter.js +1 -1
- package/dist/chunks/gridBidAdapter.metadata.js +1 -1
- package/dist/chunks/gumgumBidAdapter.js +1 -1
- package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
- package/dist/chunks/h12mediaBidAdapter.js +1 -1
- package/dist/chunks/hadronIdSystem.metadata.js +1 -1
- package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
- package/dist/chunks/holidBidAdapter.metadata.js +1 -1
- package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
- package/dist/chunks/hypelabBidAdapter.js +1 -1
- package/dist/chunks/iasRtdProvider.js +1 -1
- package/dist/chunks/id5AnalyticsAdapter.js +1 -1
- package/dist/chunks/id5IdSystem.js +1 -1
- package/dist/chunks/id5IdSystem.metadata.js +1 -1
- package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
- package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
- package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/inmobiBidAdapter.js +1 -1
- package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/innityBidAdapter.metadata.js +1 -1
- package/dist/chunks/insticatorBidAdapter.js +1 -1
- package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
- package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
- package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
- package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
- package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
- package/dist/chunks/ixBidAdapter.js +1 -1
- package/dist/chunks/ixBidAdapter.metadata.js +1 -1
- package/dist/chunks/jixieBidAdapter.js +1 -1
- package/dist/chunks/justIdSystem.metadata.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerRtdProvider.js +1 -1
- package/dist/chunks/jwplayerVideoProvider.js +1 -1
- package/dist/chunks/kargoBidAdapter.js +1 -1
- package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
- package/dist/chunks/kimberliteBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
- package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
- package/dist/chunks/lassoBidAdapter.js +1 -1
- package/dist/chunks/lifestreetBidAdapter.js +1 -1
- package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/liveIntentId.js +1 -1
- package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
- package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
- package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
- package/dist/chunks/logicadBidAdapter.js +1 -1
- package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
- package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
- package/dist/chunks/luceadBidAdapter.js +1 -1
- package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
- package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mabidderBidAdapter.js +1 -1
- package/dist/chunks/madsenseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
- package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
- package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetBidAdapter.js +1 -1
- package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetUtils.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidBidAdapter.js +1 -1
- package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
- package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
- package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/missenaBidAdapter.js +1 -1
- package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
- package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
- package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
- package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360Utils.js +1 -1
- package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
- package/dist/chunks/oguryBidAdapter.js +1 -1
- package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
- package/dist/chunks/omsBidAdapter.metadata.js +1 -1
- package/dist/chunks/onetagBidAdapter.js +1 -1
- package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
- package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
- package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
- package/dist/chunks/openxBidAdapter.js +1 -1
- package/dist/chunks/openxBidAdapter.metadata.js +1 -1
- package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
- package/dist/chunks/orbidderBidAdapter.js +1 -1
- package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
- package/dist/chunks/outbrainBidAdapter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
- package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/pairIdSystem.metadata.js +1 -1
- package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
- package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
- package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prebid-core.metadata.js +1 -1
- package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
- package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
- package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/publinkIdSystem.js +1 -1
- package/dist/chunks/publinkIdSystem.metadata.js +1 -1
- package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
- package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
- package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
- package/dist/chunks/pxyzBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastBidAdapter.js +1 -1
- package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
- package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
- package/dist/chunks/raynRtdProvider.metadata.js +1 -1
- package/dist/chunks/readpeakBidAdapter.js +1 -1
- package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
- package/dist/chunks/relaidoBidAdapter.js +1 -1
- package/dist/chunks/relayBidAdapter.metadata.js +1 -1
- package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/retailspotBidAdapter.js +1 -1
- package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
- package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseUtils.js +1 -1
- package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
- package/dist/chunks/rubiconBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
- package/dist/chunks/rumbleBidAdapter.js +1 -0
- package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
- package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedtagBidAdapter.js +1 -1
- package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
- package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
- package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
- package/dist/chunks/sevioBidAdapter.js +1 -0
- package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
- package/dist/chunks/sharedIdSystem.metadata.js +1 -1
- package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
- package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
- package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
- package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
- package/dist/chunks/smaatoBidAdapter.js +1 -1
- package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartxBidAdapter.js +1 -1
- package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
- package/dist/chunks/snigelBidAdapter.js +1 -1
- package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonobiBidAdapter.js +1 -1
- package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/sovrnBidAdapter.js +1 -1
- package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
- package/dist/chunks/sparteoBidAdapter.js +1 -1
- package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
- package/dist/chunks/sspBCBidAdapter.js +1 -1
- package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
- package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
- package/dist/chunks/startioBidAdapter.metadata.js +1 -1
- package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/stvBidAdapter.js +1 -1
- package/dist/chunks/stvBidAdapter.metadata.js +1 -1
- package/dist/chunks/sublimeBidAdapter.js +1 -1
- package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaBidAdapter.js +1 -1
- package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
- package/dist/chunks/tappxBidAdapter.js +1 -1
- package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsBidAdapter.js +1 -1
- package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsIdSystem.metadata.js +1 -1
- package/dist/chunks/tealBidAdapter.metadata.js +1 -1
- package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
- package/dist/chunks/tncIdSystem.metadata.js +1 -1
- package/dist/chunks/topicsFpdModule.metadata.js +1 -1
- package/dist/chunks/trionBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/ttdBidAdapter.js +1 -1
- package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
- package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/chunks/uid2IdSystem.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/undertoneBidAdapter.js +1 -1
- package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
- package/dist/chunks/unrulyBidAdapter.js +1 -1
- package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
- package/dist/chunks/userId.js +1 -1
- package/dist/chunks/userId.metadata.js +1 -1
- package/dist/chunks/validationFpdModule.metadata.js +1 -1
- package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidazooUtils.js +1 -1
- package/dist/chunks/videobyteBidAdapter.js +1 -1
- package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
- package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
- package/dist/chunks/visxBidAdapter.js +1 -1
- package/dist/chunks/visxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
- package/dist/chunks/voxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
- package/dist/chunks/vuukleBidAdapter.js +1 -1
- package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
- package/dist/chunks/weboramaRtdProvider.js +1 -1
- package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
- package/dist/chunks/welectBidAdapter.metadata.js +1 -1
- package/dist/chunks/widespaceBidAdapter.js +1 -1
- package/dist/chunks/winrBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/yandexBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
- package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
- package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
- package/dist/not-for-prod/prebid.js +443 -438
- package/dist/src/creative/renderers/display/renderer.js +3 -4
- package/dist/src/creative/renderers/display/renderer.js.map +1 -1
- package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
- package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
- package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
- package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
- package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
- package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
- package/dist/src/libraries/impUtils.js +36 -0
- package/dist/src/libraries/impUtils.js.map +1 -0
- package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/shared.js +20 -0
- package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
- package/dist/src/libraries/medianetUtils/constants.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
- package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
- package/dist/src/libraries/riseUtils/index.js +1 -1
- package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
- package/dist/src/libraries/video/constants/events.js.map +1 -1
- package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
- package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
- package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
- package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
- package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
- package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
- package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
- package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
- package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxIdSystem.js +1 -1
- package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
- package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
- package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
- package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
- package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
- package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
- package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
- package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/categoryTranslation.js +1 -1
- package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
- package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connectIdSystem.js +1 -1
- package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
- package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
- package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
- package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
- package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/debugging.js +1 -1
- package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
- package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
- package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
- package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/euidIdSystem.js +1 -1
- package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
- package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
- package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
- package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/id5IdSystem.js +1 -1
- package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
- package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
- package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
- package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/justIdSystem.js +1 -1
- package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
- package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
- package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
- package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
- package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
- package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
- package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
- package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
- package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pairIdSystem.js +1 -1
- package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
- package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prebid-core.js +1 -1
- package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
- package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
- package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
- package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
- package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
- package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
- package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
- package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
- package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
- package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
- package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
- package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
- package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
- package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tncIdSystem.js +1 -1
- package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
- package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
- package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
- package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/userId.js +1 -1
- package/dist/src/metadata/modules/validationFpdModule.js +1 -1
- package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
- package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
- package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
- package/dist/src/modules/1plusXRtdProvider.js +6 -2
- package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
- package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
- package/dist/src/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/modules/33acrossIdSystem.js +1 -1
- package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
- package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adagioBidAdapter.js +1 -1
- package/dist/src/modules/addefendBidAdapter.js +1 -1
- package/dist/src/modules/adgenerationBidAdapter.js +1 -1
- package/dist/src/modules/adlooxRtdProvider.js +1 -1
- package/dist/src/modules/admixerBidAdapter.js +5 -4
- package/dist/src/modules/admixerBidAdapter.js.map +1 -1
- package/dist/src/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
- package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
- package/dist/src/modules/adstirBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
- package/dist/src/modules/advertisingBidAdapter.js +2 -2
- package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adxcgBidAdapter.js +4 -39
- package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
- package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
- package/dist/src/modules/ajaBidAdapter.js +1 -1
- package/dist/src/modules/amxBidAdapter.js +2 -2
- package/dist/src/modules/amxBidAdapter.js.map +1 -1
- package/dist/src/modules/amxIdSystem.js +1 -1
- package/dist/src/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
- package/dist/src/modules/appnexusBidAdapter.js +2 -2
- package/dist/src/modules/asoBidAdapter.js +1 -1
- package/dist/src/modules/axonixBidAdapter.js +1 -1
- package/dist/src/modules/beopBidAdapter.js +2 -2
- package/dist/src/modules/bidglassBidAdapter.js +1 -1
- package/dist/src/modules/bitmediaBidAdapter.js +1 -1
- package/dist/src/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/modules/bmtmBidAdapter.js +1 -1
- package/dist/src/modules/bridBidAdapter.js +1 -1
- package/dist/src/modules/bridgewellBidAdapter.js +1 -1
- package/dist/src/modules/carodaBidAdapter.js +1 -1
- package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
- package/dist/src/modules/chtnwBidAdapter.js +1 -1
- package/dist/src/modules/concertBidAdapter.js +1 -1
- package/dist/src/modules/connectadBidAdapter.js +1 -1
- package/dist/src/modules/consentManagementGpp.js.map +1 -1
- package/dist/src/modules/consentManagementTcf.js.map +1 -1
- package/dist/src/modules/consentManagementUsp.js.map +1 -1
- package/dist/src/modules/consumableBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulBidAdapter.js +1 -1
- package/dist/src/modules/conversantBidAdapter.js +1 -1
- package/dist/src/modules/craftBidAdapter.js +1 -1
- package/dist/src/modules/criteoBidAdapter.js +2 -2
- package/dist/src/modules/currency.js.map +1 -1
- package/dist/src/modules/cwireBidAdapter.js +1 -1
- package/dist/src/modules/cwireBidAdapter.js.map +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
- package/dist/src/modules/dchain.js.map +1 -1
- package/dist/src/modules/dspxBidAdapter.js +1 -1
- package/dist/src/modules/dspxBidAdapter.js.map +1 -1
- package/dist/src/modules/dxkultureBidAdapter.js +1 -1
- package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
- package/dist/src/modules/eplanningBidAdapter.js +1 -1
- package/dist/src/modules/equativBidAdapter.js +1 -1
- package/dist/src/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/modules/euidIdSystem.js +1 -1
- package/dist/src/modules/exadsBidAdapter.js +1 -1
- package/dist/src/modules/excoBidAdapter.js +3 -3
- package/dist/src/modules/feedadBidAdapter.js +2 -2
- package/dist/src/modules/finativeBidAdapter.js +1 -1
- package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
- package/dist/src/modules/getintentBidAdapter.js +4 -2
- package/dist/src/modules/getintentBidAdapter.js.map +1 -1
- package/dist/src/modules/gmosspBidAdapter.js +1 -1
- package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
- package/dist/src/modules/gppControl_usstates.js.map +1 -1
- package/dist/src/modules/gptPreAuction.d.ts +3 -3
- package/dist/src/modules/gptPreAuction.js.map +1 -1
- package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/src/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsRtdProvider.js +1 -1
- package/dist/src/modules/gridBidAdapter.js +2 -2
- package/dist/src/modules/gumgumBidAdapter.js +2 -2
- package/dist/src/modules/h12mediaBidAdapter.js +1 -1
- package/dist/src/modules/hypelabBidAdapter.js +1 -1
- package/dist/src/modules/iasRtdProvider.js +110 -5
- package/dist/src/modules/iasRtdProvider.js.map +1 -1
- package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
- package/dist/src/modules/id5IdSystem.js +1 -1
- package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/intentIqIdSystem.js.map +1 -1
- package/dist/src/modules/ixBidAdapter.js +1 -1
- package/dist/src/modules/jixieBidAdapter.js +1 -1
- package/dist/src/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/modules/jwplayerRtdProvider.js +6 -2
- package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
- package/dist/src/modules/jwplayerVideoProvider.js +12 -9
- package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
- package/dist/src/modules/kargoBidAdapter.js +1 -1
- package/dist/src/modules/kimberliteBidAdapter.js +1 -1
- package/dist/src/modules/kubientBidAdapter.js +0 -1
- package/dist/src/modules/kubientBidAdapter.js.map +1 -1
- package/dist/src/modules/lassoBidAdapter.js +1 -1
- package/dist/src/modules/lifestreetBidAdapter.js +1 -1
- package/dist/src/modules/logicadBidAdapter.js +1 -1
- package/dist/src/modules/luceadBidAdapter.js +1 -1
- package/dist/src/modules/mabidderBidAdapter.js +1 -1
- package/dist/src/modules/madsenseBidAdapter.js +1 -1
- package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
- package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
- package/dist/src/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/modules/mediafuseBidAdapter.js +2 -2
- package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/medianetBidAdapter.js +6 -2
- package/dist/src/modules/medianetBidAdapter.js.map +1 -1
- package/dist/src/modules/mediasquareBidAdapter.js +2 -2
- package/dist/src/modules/mgidBidAdapter.js +1 -1
- package/dist/src/modules/michaoBidAdapter.js.map +1 -1
- package/dist/src/modules/missenaBidAdapter.js +1 -1
- package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/modules/multibid/index.js.map +1 -1
- package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
- package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
- package/dist/src/modules/nobidBidAdapter.js +1 -1
- package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
- package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
- package/dist/src/modules/oguryBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js.map +1 -1
- package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
- package/dist/src/modules/openxBidAdapter.js +7 -2
- package/dist/src/modules/openxBidAdapter.js.map +1 -1
- package/dist/src/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/modules/pixfutureBidAdapter.js +2 -2
- package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
- package/dist/src/modules/priceFloors.d.ts +2 -2
- package/dist/src/modules/priceFloors.js.map +1 -1
- package/dist/src/modules/publinkIdSystem.js +1 -1
- package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
- package/dist/src/modules/pubmaticBidAdapter.js +23 -3
- package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
- package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
- package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pulsepointBidAdapter.js +2 -38
- package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
- package/dist/src/modules/pxyzBidAdapter.js +1 -1
- package/dist/src/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
- package/dist/src/modules/relaidoBidAdapter.js +1 -1
- package/dist/src/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/modules/rtdModule/index.js.map +1 -1
- package/dist/src/modules/rtdModule/spec.js.map +1 -1
- package/dist/src/modules/rubiconBidAdapter.js +6 -2
- package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
- package/dist/src/modules/rumbleBidAdapter.js +103 -0
- package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
- package/dist/src/modules/schain.js.map +1 -1
- package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/modules/sevioBidAdapter.js +254 -0
- package/dist/src/modules/sevioBidAdapter.js.map +1 -0
- package/dist/src/modules/sharedIdSystem.js.map +1 -1
- package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/src/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/modules/smartxBidAdapter.js +1 -1
- package/dist/src/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/modules/snigelBidAdapter.js +1 -1
- package/dist/src/modules/sonaradsBidAdapter.js +2 -2
- package/dist/src/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/modules/storageControl.js.map +1 -1
- package/dist/src/modules/stvBidAdapter.js +1 -1
- package/dist/src/modules/sublimeBidAdapter.js +2 -2
- package/dist/src/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/modules/tappxBidAdapter.js +1 -1
- package/dist/src/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/modules/tcfControl.js.map +1 -1
- package/dist/src/modules/teadsBidAdapter.js +1 -1
- package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
- package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
- package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
- package/dist/src/modules/trionBidAdapter.js +1 -1
- package/dist/src/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/modules/ttdBidAdapter.js +9 -2
- package/dist/src/modules/ttdBidAdapter.js.map +1 -1
- package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/src/modules/uid2IdSystem.js +1 -1
- package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/modules/userId/index.js +12 -8
- package/dist/src/modules/userId/index.js.map +1 -1
- package/dist/src/modules/userId/spec.js.map +1 -1
- package/dist/src/modules/validationFpdModule/index.js.map +1 -1
- package/dist/src/modules/videoModule/index.js.map +1 -1
- package/dist/src/modules/videobyteBidAdapter.js +1 -1
- package/dist/src/modules/visxBidAdapter.js +1 -1
- package/dist/src/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/modules/weboramaRtdProvider.js +30 -11
- package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
- package/dist/src/modules/welectBidAdapter.js.map +1 -1
- package/dist/src/modules/widespaceBidAdapter.js +1 -1
- package/dist/src/modules/winrBidAdapter.js +1 -1
- package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/modules/yandexBidAdapter.js +47 -15
- package/dist/src/modules/yandexBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldmoBidAdapter.js +2 -2
- package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/src/package.json +2 -3
- package/dist/src/public/rumbleBidAdapter.js +1 -0
- package/dist/src/public/sevioBidAdapter.js +1 -0
- package/dist/src/src/activities/params.d.ts +5 -0
- package/dist/src/src/activities/params.js +6 -0
- package/dist/src/src/activities/params.js.map +1 -1
- package/dist/src/src/activities/redactor.js.map +1 -1
- package/dist/src/src/adRendering.js.map +1 -1
- package/dist/src/src/adUnits.js.map +1 -1
- package/dist/src/src/adapterManager.js.map +1 -1
- package/dist/src/src/adapters/bidderFactory.js.map +1 -1
- package/dist/src/src/ajax.js.map +1 -1
- package/dist/src/src/auction.js.map +1 -1
- package/dist/src/src/banner.js.map +1 -1
- package/dist/src/src/bidTTL.js.map +1 -1
- package/dist/src/src/bidderSettings.js.map +1 -1
- package/dist/src/src/bidfactory.js.map +1 -1
- package/dist/src/src/config.js +3 -3
- package/dist/src/src/config.js.map +1 -1
- package/dist/src/src/consentHandler.js.map +1 -1
- package/dist/src/src/constants.js.map +1 -1
- package/dist/src/src/cpmBucketManager.js.map +1 -1
- package/dist/src/src/debugging.js +1 -1
- package/dist/src/src/events.js.map +1 -1
- package/dist/src/src/fpd/enrichment.js.map +1 -1
- package/dist/src/src/hook.js.map +1 -1
- package/dist/src/src/mediaTypes.js.map +1 -1
- package/dist/src/src/native.js.map +1 -1
- package/dist/src/src/prebid.js +2 -2
- package/dist/src/src/prebid.js.map +1 -1
- package/dist/src/src/prebidGlobal.js.map +1 -1
- package/dist/src/src/refererDetection.js.map +1 -1
- package/dist/src/src/storageManager.js +26 -25
- package/dist/src/src/storageManager.js.map +1 -1
- package/dist/src/src/targeting.d.ts +7 -7
- package/dist/src/src/targeting.js.map +1 -1
- package/dist/src/src/types/common.d.js.map +1 -1
- package/dist/src/src/types/common.d.ts +29 -29
- package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
- package/dist/src/src/types/local/shim.d.js.map +1 -1
- package/dist/src/src/types/objects.d.js.map +1 -1
- package/dist/src/src/types/objects.d.ts +15 -15
- package/dist/src/src/types/ortb/common.d.js.map +1 -1
- package/dist/src/src/types/ortb/common.d.ts +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
- package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
- package/dist/src/src/types/ortb/request.d.js.map +1 -1
- package/dist/src/src/types/ortb/request.d.ts +21 -21
- package/dist/src/src/types/ortb/response.d.js.map +1 -1
- package/dist/src/src/types/ortb/response.d.ts +6 -6
- package/dist/src/src/types/summary/core.d.ts +5 -5
- package/dist/src/src/userSync.js.map +1 -1
- package/dist/src/src/utils/objects.js.map +1 -1
- package/dist/src/src/utils/perfMetrics.js.map +1 -1
- package/dist/src/src/utils/promise.js.map +1 -1
- package/dist/src/src/utils/ttlCollection.js.map +1 -1
- package/dist/src/src/video.js.map +1 -1
- package/dist/src/src/videoCache.js.map +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
- package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
- package/dist/src/test/mocks/timers.js +12 -12
- package/dist/src/test/mocks/timers.js.map +1 -1
- package/dist/src/test/spec/adloader_spec.js.map +1 -1
- package/dist/src/test/spec/config_spec.js +9 -3
- package/dist/src/test/spec/config_spec.js.map +1 -1
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
- package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
- package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
- package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
- package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/userId_spec.js +41 -6
- package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
- package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
- package/dist/src/test/spec/utils_spec.js.map +1 -1
- package/eslint.config.js +2 -6
- package/gulpfile.js +0 -7
- package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
- package/libraries/appnexusUtils/anKeywords.js +11 -0
- package/libraries/consentManagement/cmUtils.ts +18 -18
- package/libraries/creative-renderer-display/renderer.js +1 -1
- package/libraries/cryptoUtils/wallets.js +38 -0
- package/libraries/dspxUtils/bidderUtils.js +1 -1
- package/libraries/impUtils.js +33 -0
- package/libraries/liveIntentId/shared.js +16 -0
- package/libraries/nexx360Utils/index.js +8 -8
- package/libraries/ortbConverter/converter.ts +79 -79
- package/libraries/video/constants/events.ts +5 -5
- package/metadata/modules/33acrossBidAdapter.json +1 -1
- package/metadata/modules/33acrossIdSystem.json +1 -1
- package/metadata/modules/acuityadsBidAdapter.json +1 -1
- package/metadata/modules/adagioBidAdapter.json +1 -1
- package/metadata/modules/adagioRtdProvider.json +1 -1
- package/metadata/modules/addefendBidAdapter.json +1 -1
- package/metadata/modules/adfBidAdapter.json +1 -1
- package/metadata/modules/adfusionBidAdapter.json +1 -1
- package/metadata/modules/adheseBidAdapter.json +1 -1
- package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
- package/metadata/modules/adkernelBidAdapter.json +4 -4
- package/metadata/modules/admaticBidAdapter.json +2 -2
- package/metadata/modules/admixerBidAdapter.json +8 -1
- package/metadata/modules/admixerIdSystem.json +1 -1
- package/metadata/modules/adnowBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusRtdProvider.json +1 -1
- package/metadata/modules/adotBidAdapter.json +1 -1
- package/metadata/modules/adponeBidAdapter.json +1 -1
- package/metadata/modules/adqueryBidAdapter.json +1 -1
- package/metadata/modules/adqueryIdSystem.json +1 -1
- package/metadata/modules/adrinoBidAdapter.json +1 -1
- package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
- package/metadata/modules/adtargetBidAdapter.json +1 -1
- package/metadata/modules/adtelligentBidAdapter.json +3 -3
- package/metadata/modules/adtelligentIdSystem.json +1 -1
- package/metadata/modules/aduptechBidAdapter.json +1 -1
- package/metadata/modules/adyoulikeBidAdapter.json +1 -1
- package/metadata/modules/aidemBidAdapter.json +1 -1
- package/metadata/modules/airgridRtdProvider.json +1 -1
- package/metadata/modules/alkimiBidAdapter.json +1 -1
- package/metadata/modules/ampliffyBidAdapter.json +1 -1
- package/metadata/modules/amxBidAdapter.json +1 -1
- package/metadata/modules/amxIdSystem.json +1 -1
- package/metadata/modules/aniviewBidAdapter.json +1 -1
- package/metadata/modules/anonymisedRtdProvider.json +1 -1
- package/metadata/modules/appierBidAdapter.json +15 -29
- package/metadata/modules/appnexusBidAdapter.json +5 -5
- package/metadata/modules/appushBidAdapter.json +1 -1
- package/metadata/modules/apstreamBidAdapter.json +1 -1
- package/metadata/modules/audiencerunBidAdapter.json +1 -1
- package/metadata/modules/axisBidAdapter.json +1 -1
- package/metadata/modules/azerionedgeRtdProvider.json +1 -1
- package/metadata/modules/beopBidAdapter.json +1 -1
- package/metadata/modules/betweenBidAdapter.json +1 -1
- package/metadata/modules/bidmaticBidAdapter.json +1 -1
- package/metadata/modules/bidtheatreBidAdapter.json +1 -1
- package/metadata/modules/bliinkBidAdapter.json +1 -1
- package/metadata/modules/blockthroughBidAdapter.json +1 -1
- package/metadata/modules/blueBidAdapter.json +1 -1
- package/metadata/modules/bmsBidAdapter.json +1 -1
- package/metadata/modules/boldwinBidAdapter.json +1 -1
- package/metadata/modules/bridBidAdapter.json +1 -1
- package/metadata/modules/browsiBidAdapter.json +1 -1
- package/metadata/modules/bucksenseBidAdapter.json +1 -1
- package/metadata/modules/carodaBidAdapter.json +1 -1
- package/metadata/modules/categoryTranslation.json +1 -1
- package/metadata/modules/ccxBidAdapter.json +1 -1
- package/metadata/modules/ceeIdSystem.json +1 -1
- package/metadata/modules/chromeAiRtdProvider.json +1 -1
- package/metadata/modules/compassBidAdapter.json +1 -1
- package/metadata/modules/conceptxBidAdapter.json +1 -1
- package/metadata/modules/connatixBidAdapter.json +1 -1
- package/metadata/modules/connectIdSystem.json +1 -1
- package/metadata/modules/connectadBidAdapter.json +1 -1
- package/metadata/modules/contentexchangeBidAdapter.json +1 -1
- package/metadata/modules/conversantBidAdapter.json +1 -1
- package/metadata/modules/copper6sspBidAdapter.json +1 -1
- package/metadata/modules/cpmstarBidAdapter.json +1 -1
- package/metadata/modules/criteoBidAdapter.json +1 -1
- package/metadata/modules/criteoIdSystem.json +1 -1
- package/metadata/modules/cwireBidAdapter.json +1 -1
- package/metadata/modules/czechAdIdSystem.json +1 -1
- package/metadata/modules/dailymotionBidAdapter.json +1 -1
- package/metadata/modules/debugging.json +1 -1
- package/metadata/modules/deepintentBidAdapter.json +1 -1
- package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
- package/metadata/modules/dianomiBidAdapter.json +1 -1
- package/metadata/modules/digitalMatterBidAdapter.json +1 -1
- package/metadata/modules/distroscaleBidAdapter.json +1 -1
- package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
- package/metadata/modules/docereeBidAdapter.json +3 -3
- package/metadata/modules/dspxBidAdapter.json +1 -1
- package/metadata/modules/e_volutionBidAdapter.json +1 -1
- package/metadata/modules/edge226BidAdapter.json +3 -3
- package/metadata/modules/equativBidAdapter.json +1 -1
- package/metadata/modules/eskimiBidAdapter.json +1 -1
- package/metadata/modules/etargetBidAdapter.json +1 -1
- package/metadata/modules/euidIdSystem.json +1 -1
- package/metadata/modules/exadsBidAdapter.json +1 -1
- package/metadata/modules/feedadBidAdapter.json +1 -1
- package/metadata/modules/fwsspBidAdapter.json +1 -1
- package/metadata/modules/gamoshiBidAdapter.json +1 -1
- package/metadata/modules/glomexBidAdapter.json +1 -1
- package/metadata/modules/goldbachBidAdapter.json +1 -1
- package/metadata/modules/greenbidsBidAdapter.json +1 -1
- package/metadata/modules/gridBidAdapter.json +1 -1
- package/metadata/modules/gumgumBidAdapter.json +1 -1
- package/metadata/modules/hadronIdSystem.json +1 -1
- package/metadata/modules/hadronRtdProvider.json +1 -1
- package/metadata/modules/holidBidAdapter.json +1 -1
- package/metadata/modules/hybridBidAdapter.json +1 -1
- package/metadata/modules/id5IdSystem.json +1 -1
- package/metadata/modules/identityLinkIdSystem.json +1 -1
- package/metadata/modules/illuminBidAdapter.json +1 -1
- package/metadata/modules/impactifyBidAdapter.json +1 -1
- package/metadata/modules/improvedigitalBidAdapter.json +1 -1
- package/metadata/modules/inmobiBidAdapter.json +1 -1
- package/metadata/modules/innityBidAdapter.json +1 -1
- package/metadata/modules/insticatorBidAdapter.json +1 -1
- package/metadata/modules/intentIqIdSystem.json +1 -1
- package/metadata/modules/invibesBidAdapter.json +1 -1
- package/metadata/modules/ipromBidAdapter.json +1 -1
- package/metadata/modules/ixBidAdapter.json +1 -1
- package/metadata/modules/justIdSystem.json +1 -1
- package/metadata/modules/justpremiumBidAdapter.json +1 -1
- package/metadata/modules/jwplayerBidAdapter.json +1 -1
- package/metadata/modules/kargoBidAdapter.json +1 -1
- package/metadata/modules/kubientBidAdapter.json +3 -8
- package/metadata/modules/kueezRtbBidAdapter.json +1 -1
- package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
- package/metadata/modules/liveIntentIdSystem.json +1 -1
- package/metadata/modules/liveIntentRtdProvider.json +1 -1
- package/metadata/modules/livewrappedBidAdapter.json +1 -1
- package/metadata/modules/loopmeBidAdapter.json +1 -1
- package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
- package/metadata/modules/luceadBidAdapter.json +1 -1
- package/metadata/modules/luponmediaBidAdapter.json +1 -1
- package/metadata/modules/madvertiseBidAdapter.json +1 -1
- package/metadata/modules/marsmediaBidAdapter.json +1 -1
- package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
- package/metadata/modules/mediaforceBidAdapter.json +1 -1
- package/metadata/modules/mediafuseBidAdapter.json +1 -1
- package/metadata/modules/mediagoBidAdapter.json +1 -1
- package/metadata/modules/mediakeysBidAdapter.json +1 -1
- package/metadata/modules/medianetBidAdapter.json +2 -2
- package/metadata/modules/mediasquareBidAdapter.json +1 -1
- package/metadata/modules/mgidBidAdapter.json +1 -1
- package/metadata/modules/mgidRtdProvider.json +1 -1
- package/metadata/modules/mgidXBidAdapter.json +1 -1
- package/metadata/modules/minutemediaBidAdapter.json +1 -1
- package/metadata/modules/missenaBidAdapter.json +1 -1
- package/metadata/modules/mobianRtdProvider.json +1 -1
- package/metadata/modules/mobilefuseBidAdapter.json +1 -1
- package/metadata/modules/mobkoiBidAdapter.json +1 -1
- package/metadata/modules/mobkoiIdSystem.json +1 -1
- package/metadata/modules/nativeryBidAdapter.json +1 -1
- package/metadata/modules/nativoBidAdapter.json +1 -1
- package/metadata/modules/newspassidBidAdapter.json +1 -1
- package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
- package/metadata/modules/nextrollBidAdapter.json +1 -1
- package/metadata/modules/nexx360BidAdapter.json +8 -8
- package/metadata/modules/nobidBidAdapter.json +2 -2
- package/metadata/modules/nodalsAiRtdProvider.json +1 -1
- package/metadata/modules/novatiqIdSystem.json +1 -1
- package/metadata/modules/oguryBidAdapter.json +1 -1
- package/metadata/modules/omsBidAdapter.json +1 -1
- package/metadata/modules/onetagBidAdapter.json +1 -1
- package/metadata/modules/openwebBidAdapter.json +1 -1
- package/metadata/modules/openxBidAdapter.json +1 -1
- package/metadata/modules/operaadsBidAdapter.json +1 -1
- package/metadata/modules/optidigitalBidAdapter.json +1 -1
- package/metadata/modules/optoutBidAdapter.json +1 -1
- package/metadata/modules/orbidderBidAdapter.json +1 -1
- package/metadata/modules/outbrainBidAdapter.json +1 -1
- package/metadata/modules/ozoneBidAdapter.json +1 -1
- package/metadata/modules/pairIdSystem.json +1 -1
- package/metadata/modules/performaxBidAdapter.json +4 -5
- package/metadata/modules/pgamsspBidAdapter.json +1 -1
- package/metadata/modules/pixfutureBidAdapter.json +1 -1
- package/metadata/modules/playdigoBidAdapter.json +1 -1
- package/metadata/modules/prebid-core.json +2 -2
- package/metadata/modules/precisoBidAdapter.json +1 -1
- package/metadata/modules/prismaBidAdapter.json +1 -1
- package/metadata/modules/programmaticXBidAdapter.json +1 -1
- package/metadata/modules/proxistoreBidAdapter.json +1 -1
- package/metadata/modules/publinkIdSystem.json +1 -1
- package/metadata/modules/pubmaticBidAdapter.json +1 -1
- package/metadata/modules/pubmaticIdSystem.json +1 -1
- package/metadata/modules/pulsepointBidAdapter.json +1 -1
- package/metadata/modules/pwbidBidAdapter.json +1 -1
- package/metadata/modules/qtBidAdapter.json +1 -1
- package/metadata/modules/quantcastBidAdapter.json +1 -1
- package/metadata/modules/quantcastIdSystem.json +1 -1
- package/metadata/modules/r2b2BidAdapter.json +1 -1
- package/metadata/modules/raynRtdProvider.json +1 -1
- package/metadata/modules/readpeakBidAdapter.json +1 -1
- package/metadata/modules/relayBidAdapter.json +1 -1
- package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
- package/metadata/modules/resetdigitalBidAdapter.json +1 -1
- package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
- package/metadata/modules/retailspotBidAdapter.json +1 -1
- package/metadata/modules/revcontentBidAdapter.json +7 -117
- package/metadata/modules/rhythmoneBidAdapter.json +1 -1
- package/metadata/modules/richaudienceBidAdapter.json +1 -1
- package/metadata/modules/riseBidAdapter.json +2 -2
- package/metadata/modules/rixengineBidAdapter.json +1 -1
- package/metadata/modules/rtbhouseBidAdapter.json +1 -1
- package/metadata/modules/rubiconBidAdapter.json +1 -1
- package/metadata/modules/rumbleBidAdapter.json +13 -0
- package/metadata/modules/scatteredBidAdapter.json +1 -1
- package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
- package/metadata/modules/seedtagBidAdapter.json +1 -1
- package/metadata/modules/semantiqRtdProvider.json +1 -1
- package/metadata/modules/setupadBidAdapter.json +1 -1
- package/metadata/modules/sevioBidAdapter.json +18 -0
- package/metadata/modules/sharedIdSystem.json +1 -1
- package/metadata/modules/sharethroughBidAdapter.json +1 -1
- package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
- package/metadata/modules/silvermobBidAdapter.json +1 -1
- package/metadata/modules/sirdataRtdProvider.json +1 -1
- package/metadata/modules/slimcutBidAdapter.json +1 -1
- package/metadata/modules/smaatoBidAdapter.json +1 -1
- package/metadata/modules/smartadserverBidAdapter.json +1 -1
- package/metadata/modules/smartxBidAdapter.json +1 -1
- package/metadata/modules/smartyadsBidAdapter.json +1 -1
- package/metadata/modules/smilewantedBidAdapter.json +1 -1
- package/metadata/modules/snigelBidAdapter.json +1 -1
- package/metadata/modules/sonaradsBidAdapter.json +1 -1
- package/metadata/modules/sonobiBidAdapter.json +1 -1
- package/metadata/modules/sovrnBidAdapter.json +4 -4
- package/metadata/modules/sparteoBidAdapter.json +1 -1
- package/metadata/modules/ssmasBidAdapter.json +1 -1
- package/metadata/modules/sspBCBidAdapter.json +1 -1
- package/metadata/modules/stackadaptBidAdapter.json +1 -1
- package/metadata/modules/startioBidAdapter.json +1 -1
- package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
- package/metadata/modules/stvBidAdapter.json +1 -1
- package/metadata/modules/sublimeBidAdapter.json +1 -1
- package/metadata/modules/taboolaBidAdapter.json +1 -1
- package/metadata/modules/taboolaIdSystem.json +1 -1
- package/metadata/modules/tappxBidAdapter.json +1 -1
- package/metadata/modules/targetVideoBidAdapter.json +1 -1
- package/metadata/modules/teadsBidAdapter.json +1 -1
- package/metadata/modules/teadsIdSystem.json +1 -1
- package/metadata/modules/tealBidAdapter.json +1 -1
- package/metadata/modules/themoneytizerBidAdapter.json +3 -8
- package/metadata/modules/tncIdSystem.json +1 -1
- package/metadata/modules/topicsFpdModule.json +1 -1
- package/metadata/modules/tripleliftBidAdapter.json +1 -1
- package/metadata/modules/ttdBidAdapter.json +1 -1
- package/metadata/modules/twistDigitalBidAdapter.json +1 -1
- package/metadata/modules/underdogmediaBidAdapter.json +1 -1
- package/metadata/modules/undertoneBidAdapter.json +1 -1
- package/metadata/modules/unifiedIdSystem.json +1 -1
- package/metadata/modules/unrulyBidAdapter.json +1 -1
- package/metadata/modules/userId.json +1 -1
- package/metadata/modules/validationFpdModule.json +1 -1
- package/metadata/modules/vidazooBidAdapter.json +1 -1
- package/metadata/modules/vidoomyBidAdapter.json +1 -1
- package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
- package/metadata/modules/viouslyBidAdapter.json +1 -1
- package/metadata/modules/visxBidAdapter.json +1 -1
- package/metadata/modules/vlybyBidAdapter.json +1 -1
- package/metadata/modules/voxBidAdapter.json +1 -1
- package/metadata/modules/vrtcalBidAdapter.json +1 -1
- package/metadata/modules/vuukleBidAdapter.json +1 -1
- package/metadata/modules/weboramaRtdProvider.json +1 -1
- package/metadata/modules/welectBidAdapter.json +1 -1
- package/metadata/modules/yahooAdsBidAdapter.json +1 -1
- package/metadata/modules/yieldlabBidAdapter.json +1 -1
- package/metadata/modules/yieldliftBidAdapter.json +1 -1
- package/metadata/modules/yieldloveBidAdapter.json +1 -1
- package/metadata/modules/yieldmoBidAdapter.json +1 -1
- package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
- package/metadata/modules/zeta_globalBidAdapter.json +1 -1
- package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
- package/metadata/modules.json +23 -2
- package/modules/1plusXRtdProvider.js +6 -2
- package/modules/adWMGBidAdapter.js +8 -8
- package/modules/admixerBidAdapter.js +9 -4
- package/modules/adspiritBidAdapter.js +8 -8
- package/modules/adtrgtmeBidAdapter.js +2 -2
- package/modules/adxcgBidAdapter.js +2 -36
- package/modules/amxBidAdapter.js +3 -3
- package/modules/chromeAiRtdProvider.js +5 -5
- package/modules/consentManagementGpp.ts +11 -11
- package/modules/consentManagementTcf.ts +33 -33
- package/modules/consentManagementUsp.ts +14 -14
- package/modules/currency.ts +59 -59
- package/modules/cwireBidAdapter.js +2 -2
- package/modules/dailymotionBidAdapter.js +4 -4
- package/modules/dchain.ts +4 -4
- package/modules/dspxBidAdapter.js +8 -8
- package/modules/eightPodBidAdapter.js +8 -8
- package/modules/genericAnalyticsAdapter.ts +50 -50
- package/modules/geolocationRtdProvider.ts +48 -48
- package/modules/getintentBidAdapter.js +4 -2
- package/modules/gmosspBidAdapter.js +1 -1
- package/modules/gppControl_usstates.ts +40 -40
- package/modules/gptPreAuction.ts +34 -34
- package/modules/iasRtdProvider.js +87 -5
- package/modules/intentIqAnalyticsAdapter.js +8 -8
- package/modules/intentIqIdSystem.js +2 -2
- package/modules/jwplayerRtdProvider.js +6 -2
- package/modules/jwplayerVideoProvider.js +13 -9
- package/modules/kubientBidAdapter.js +0 -1
- package/modules/medianetAnalyticsAdapter.js +5 -5
- package/modules/medianetBidAdapter.js +5 -1
- package/modules/michaoBidAdapter.ts +7 -7
- package/modules/multibid/index.ts +31 -31
- package/modules/nexverseBidAdapter.js +1 -1
- package/modules/nodalsAiRtdProvider.js +4 -2
- package/modules/onetagBidAdapter.js +12 -12
- package/modules/openxBidAdapter.js +6 -1
- package/modules/prebidServerBidAdapter/index.ts +130 -130
- package/modules/priceFloors.ts +131 -131
- package/modules/pubmaticBidAdapter.js +21 -1
- package/modules/pubmaticRtdProvider.js +143 -143
- package/modules/pulsepointBidAdapter.js +3 -38
- package/modules/readpeakBidAdapter.js +17 -17
- package/modules/rtdModule/index.ts +8 -8
- package/modules/rtdModule/spec.ts +30 -30
- package/modules/rubiconBidAdapter.js +5 -1
- package/modules/rumbleBidAdapter.js +128 -0
- package/modules/rumbleBidAdapter.md +114 -0
- package/modules/schain.ts +4 -4
- package/modules/sevioBidAdapter.js +262 -0
- package/modules/sevioBidAdapter.md +29 -0
- package/modules/sharedIdSystem.ts +29 -29
- package/modules/storageControl.ts +72 -72
- package/modules/tcfControl.ts +60 -60
- package/modules/themoneytizerBidAdapter.js +2 -4
- package/modules/ttdBidAdapter.js +11 -1
- package/modules/ttdBidAdapter.md +3 -1
- package/modules/userId/index.ts +129 -119
- package/modules/userId/spec.ts +136 -136
- package/modules/validationFpdModule/index.ts +4 -4
- package/modules/videoModule/index.ts +37 -37
- package/modules/weboramaRtdProvider.js +30 -11
- package/modules/welectBidAdapter.js +3 -3
- package/modules/yandexBidAdapter.js +67 -24
- package/package.json +2 -3
- package/src/activities/params.js +6 -0
- package/src/activities/redactor.ts +8 -8
- package/src/adRendering.ts +61 -61
- package/src/adUnits.ts +100 -100
- package/src/adapterManager.ts +605 -605
- package/src/adapters/bidderFactory.ts +99 -99
- package/src/ajax.ts +39 -39
- package/src/auction.ts +217 -217
- package/src/banner.ts +28 -28
- package/src/bidTTL.ts +16 -16
- package/src/bidderSettings.ts +46 -46
- package/src/bidfactory.ts +107 -107
- package/src/config.ts +65 -65
- package/src/consentHandler.ts +25 -25
- package/src/constants.ts +14 -14
- package/src/cpmBucketManager.ts +7 -7
- package/src/events.ts +75 -75
- package/src/fpd/enrichment.ts +8 -8
- package/src/hook.ts +14 -14
- package/src/mediaTypes.ts +16 -16
- package/src/native.ts +62 -62
- package/src/prebid.ts +362 -362
- package/src/prebidGlobal.ts +18 -18
- package/src/refererDetection.ts +54 -54
- package/src/storageManager.ts +76 -73
- package/src/targeting.ts +215 -215
- package/src/types/common.d.ts +29 -29
- package/src/types/local/buildOptions.d.ts +3 -3
- package/src/types/local/shim.d.ts +6 -6
- package/src/types/objects.d.ts +15 -15
- package/src/types/ortb/common.d.ts +1 -1
- package/src/types/ortb/ext/dchain.d.ts +69 -69
- package/src/types/ortb/ext/dsa.d.ts +50 -50
- package/src/types/ortb/request.d.ts +21 -21
- package/src/types/ortb/response.d.ts +6 -6
- package/src/userSync.ts +32 -32
- package/src/utils/objects.ts +11 -11
- package/src/utils/perfMetrics.ts +193 -193
- package/src/utils/promise.ts +14 -14
- package/src/utils/ttlCollection.ts +25 -25
- package/src/video.ts +73 -73
- package/src/videoCache.ts +60 -60
- package/test/helpers/index_adapter_utils.js +1 -2
- package/test/helpers/refererDetectionHelper.js +2 -2
- package/test/mocks/timers.js +12 -9
- package/test/spec/adloader_spec.js +13 -13
- package/test/spec/config_spec.js +9 -3
- package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
- package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
- package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
- package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
- package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
- package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
- package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
- package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
- package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
- package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
- package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
- package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
- package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
- package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
- package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
- package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
- package/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
- package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
- package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
- package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
- package/test/spec/modules/iasRtdProvider_spec.js +89 -8
- package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
- package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
- package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
- package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
- package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
- package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
- package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
- package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
- package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
- package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
- package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
- package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
- package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
- package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
- package/test/spec/modules/openxBidAdapter_spec.js +129 -0
- package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
- package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
- package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
- package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
- package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
- package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
- package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
- package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
- package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
- package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
- package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
- package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
- package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
- package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
- package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
- package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
- package/test/spec/modules/stvBidAdapter_spec.js +32 -32
- package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
- package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
- package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
- package/test/spec/modules/uid2IdSystem_spec.js +3 -3
- package/test/spec/modules/userId_spec.js +41 -7
- package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
- package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
- package/test/spec/refererDetection_spec.js +11 -11
- package/test/spec/unit/core/storageManager_spec.js +20 -1
- package/test/spec/unit/core/targeting_spec.js +8 -8
- package/test/spec/utils_spec.js +25 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adnuntiusBidAdapter_spec.js","names":["expect","spec","newBidder","config","utils","getStorageManager","getGlobal","deepClone","getUnixTimestampFromNow","getWinDimensions","describe","sandbox","sinon","createSandbox","URL","EURO_URL","usi","generateUUID","meta","key","value","auId","exp","network","storage","before","bidderSettings","adnuntius","storageAllowed","bidderCode","resetExpectedUrls","beforeEach","setDataInLocalStorage","JSON","stringify","afterEach","resetConfig","setBidderConfig","bidders","localStorage","removeItem","restore","after","tzo","Date","getTimezoneOffset","prebidVersion","version","screen","viewport","ENDPOINT_URL_BASE","ENDPOINT_URL","LOCALHOST_URL","ENDPOINT_URL_NOCOOKIE","ENDPOINT_URL_SEGMENTS","ENDPOINT_URL_CONSENT","winDimensions","availWidth","availHeight","innerWidth","innerHeight","expectUrlsEqual","actual","expected","a","parseUrl","e","protocol","host","pathname","to","equal","sortEntries","obj","Object","entries","sort","sortedExpectations","search","sortedActuals","i","length","expectation","expectationAsString","actualAsString","adapter","bidderRequests","bidId","bidder","params","targetId","maxDeals","mediaTypes","banner","sizes","videoBidderRequest","video","playerSize","context","legacyNativeBidderRequest","bid","native","image","required","nativeBidderRequest","ortb","assets","id","img","type","w","h","multiBidAndFormatRequest","bidType","multiBidderRequest","singleBidRequest","videoBidRequest","deals","nativeResponseBody","nativeResponse","body","nativeMultiFormatResponseBody","parse","multiFormatServerResponse","creativeWidth","creativeHeight","serverResponse","serverVideoResponse","it","callBids","exist","and","be","isBidRequestValid","window","pbjs","request","buildRequests","refererInfo","canonicalUrl","page","have","property","url","data","adUnits","dimensions","canonical","setConfig","env","runWithBidder","dealIdRequest","dealId","inventory","pmp","bidfloor","bidfloorcur","request2","bRequests","concat","push","adType","not","ortb2","user","name","segment","invalidSegment","targeting","segments","replace","countMatches","actualArray","expectedValue","filter","val","site","ext","kv","notright","gdprConsent","gdprApplies","consentString","undefined","req","bids","eids","source","uids","atype","some","userId","userIdAsEids","encodeURIComponent","useCookie","advertiserTransparency","invalidRequest","valid","interpretedResponse","interpretResponse","lengthOf","deal","cpm","netBid","amount","width","Number","height","creativeId","currency","netRevenue","advertiserDomains","ad","html","ttl","dealCount","ads","results","getDataFromLocalStorage","usiEntry","find","entry","greaterThan","voidAuIdsEntry","lessThan","validEntry","randomApiEntry","altBidder","metaData","voidAuIds","vastXml"],"sourceRoot":"../../../../..","sources":["test/spec/modules/adnuntiusBidAdapter_spec.js"],"sourcesContent":["import { expect } from 'chai';\nimport { spec } from 'modules/adnuntiusBidAdapter.js';\nimport { newBidder } from 'src/adapters/bidderFactory.js';\nimport { config } from 'src/config.js';\nimport * as utils from 'src/utils.js';\nimport { getStorageManager } from 'src/storageManager.js';\nimport { getGlobal } from '../../../src/prebidGlobal.js';\nimport {deepClone, getUnixTimestampFromNow} from 'src/utils.js';\nimport { getWinDimensions } from '../../../src/utils.js';\n\ndescribe('adnuntiusBidAdapter', function () {\n const sandbox = sinon.createSandbox();\n const URL = 'https://ads.adnuntius.delivery/i?tzo=';\n const EURO_URL = 'https://europe.delivery.adnuntius.com/i?tzo=';\n const usi = utils.generateUUID()\n\n const meta = [{ key: 'valueless' }, { value: 'keyless' }, { key: 'voidAuIds' }, { key: 'voidAuIds', value: [{ auId: '11118b6bc', exp: getUnixTimestampFromNow() }, { exp: getUnixTimestampFromNow(1) }] }, { key: 'valid-withnetwork', value: 'also-valid-network', network: 'the-network', exp: getUnixTimestampFromNow(1) }, { key: 'valid', value: 'also-valid', exp: getUnixTimestampFromNow(1) }, { key: 'expired', value: 'fwefew', exp: getUnixTimestampFromNow() }, { key: 'usi', value: 'should be skipped because timestamp', exp: getUnixTimestampFromNow(), network: 'adnuntius' }, { key: 'usi', value: usi, exp: getUnixTimestampFromNow(100), network: 'adnuntius' }, { key: 'usi', value: 'should be skipped because timestamp', exp: getUnixTimestampFromNow() }]\n let storage;\n\n before(() => {\n getGlobal().bidderSettings = {\n adnuntius: {\n storageAllowed: true\n }\n };\n storage = getStorageManager({ bidderCode: 'adnuntius' });\n resetExpectedUrls();\n });\n\n beforeEach(() => {\n storage.setDataInLocalStorage('adn.metaData', JSON.stringify(meta));\n resetExpectedUrls();\n });\n\n afterEach(function () {\n config.resetConfig();\n config.setBidderConfig({ bidders: [] });\n localStorage.removeItem('adn.metaData');\n sandbox.restore();\n resetExpectedUrls();\n });\n\n after(() => {\n getGlobal().bidderSettings = {};\n resetExpectedUrls();\n });\n\n const tzo = new Date().getTimezoneOffset();\n const prebidVersion = getGlobal().version;\n\n let screen;\n let viewport;\n let ENDPOINT_URL_BASE;\n let ENDPOINT_URL;\n let LOCALHOST_URL;\n let ENDPOINT_URL_NOCOOKIE;\n let ENDPOINT_URL_SEGMENTS;\n let ENDPOINT_URL_CONSENT;\n\n function resetExpectedUrls() {\n const winDimensions = getWinDimensions();\n screen = winDimensions.screen.availWidth + 'x' + winDimensions.screen.availHeight;\n viewport = winDimensions.innerWidth + 'x' + winDimensions.innerHeight;\n ENDPOINT_URL_BASE = `${URL}${tzo}&format=prebid&pbv=${prebidVersion}&screen=${screen}&viewport=${viewport}`;\n ENDPOINT_URL = `${ENDPOINT_URL_BASE}&userId=${usi}`;\n LOCALHOST_URL = `http://localhost:8078/i?tzo=${tzo}&format=prebid&pbv=${prebidVersion}&screen=${screen}&viewport=${viewport}&userId=${usi}`;\n ENDPOINT_URL_NOCOOKIE = `${ENDPOINT_URL_BASE}&userId=${usi}&noCookies=true`;\n ENDPOINT_URL_SEGMENTS = `${ENDPOINT_URL_BASE}&segments=segment1,segment2,segment3&userId=${usi}`;\n ENDPOINT_URL_CONSENT = `${EURO_URL}${tzo}&format=prebid&pbv=${prebidVersion}&consentString=consentString&gdpr=1&screen=${screen}&viewport=${viewport}&userId=${usi}`;\n }\n\n function expectUrlsEqual(actual, expected) {\n const a = utils.parseUrl(actual);\n const e = utils.parseUrl(expected);\n expect(a.protocol + '://' + a.host + a.pathname).to.equal(e.protocol + '://' + e.host + e.pathname);\n const sortEntries = obj => Object.entries(obj).sort();\n const sortedExpectations = sortEntries(a.search);\n const sortedActuals = sortEntries(e.search);\n for (let i = 0; i < sortedExpectations.length; i++) {\n const expectation = sortedExpectations[i];\n const actual = sortedActuals[i];\n\n const expectationAsString = expectation[0] + \":\" + expectation[1];\n const actualAsString = actual[0] + \":\" + actual[1];\n expect(expectationAsString).to.equal(actualAsString);\n }\n expect(sortedExpectations.length).to.equal(sortedActuals.length);\n }\n\n const adapter = newBidder(spec);\n\n const bidderRequests = [\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n targetId: '123',\n network: 'adnuntius',\n maxDeals: 1\n },\n mediaTypes: {\n banner: {\n sizes: [[640, 480], [600, 400]],\n }\n },\n },\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n banner: {\n sizes: [[1640, 1480], [1600, 1400]],\n }\n },\n }\n ]\n\n const videoBidderRequest = [\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n video: {\n playerSize: [640, 480],\n context: 'instream'\n }\n },\n }\n ];\n\n const legacyNativeBidderRequest = {bid: [\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n native: {\n sizes: [[200, 200], [300, 300]],\n image: {\n required: true,\n sizes: [250, 250]\n }\n }\n }\n }]};\n\n const nativeBidderRequest = {bid: [\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n native: {\n sizes: [[200, 200], [300, 300]],\n ortb: {\n assets: [{\n id: 1,\n required: 1,\n img: {\n type: 3,\n w: 250,\n h: 250,\n }\n }]\n }\n }\n },\n }\n ]};\n\n const multiBidAndFormatRequest = {\n bid: [{\n bidder: 'adnuntius',\n bidId: '3a602680158a85',\n params: {\n auId: '381535',\n network: '1287',\n bidType: 'netBid',\n },\n mediaTypes: {\n banner: {\n sizes: [[200, 200]]\n },\n video: {\n playerSize: [200, 200],\n context: 'instream'\n }\n }\n },\n {\n bidder: 'adnuntius',\n bidId: 'fewwef',\n params: {\n auId: '381535',\n network: '1287',\n bidType: 'netBid',\n targetId: 'fred',\n },\n mediaTypes: {\n banner: {\n sizes: [[200, 200]]\n },\n video: {\n playerSize: [200, 200],\n context: 'instream'\n },\n native: {\n ortb: {\n assets: [{\n id: 1,\n required: 1,\n img: {\n type: 3,\n w: 150,\n h: 50,\n }\n }]\n }\n }\n }\n },\n {\n bidder: 'adnuntius',\n bidId: 'pol',\n params: {\n auId: '381535',\n network: '1287',\n bidType: 'netBid',\n targetId: 'alt',\n },\n mediaTypes: {\n banner: {\n sizes: [[200, 200]]\n },\n video: {\n playerSize: [200, 200],\n context: 'instream'\n },\n native: {\n ortb: {\n assets: [{\n id: 1,\n required: 1,\n img: {\n type: 3,\n w: 150,\n h: 50,\n }\n }]\n }\n }\n }\n }]\n };\n\n const multiBidderRequest = [\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n video: {\n playerSize: [640, 480],\n context: 'instream'\n },\n banner: {\n sizes: [[1640, 1480], [1600, 1400]],\n }\n },\n }\n ];\n\n const singleBidRequest = {\n bid: [\n {\n bidder: 'adnuntius',\n bidId: 'adn-0000000000000551',\n }\n ]\n };\n\n const videoBidRequest = {\n bid: videoBidderRequest,\n bidder: 'adnuntius',\n params: {\n bidType: 'justsomestuff-error-handling'\n }\n };\n\n const deals = [\n {\n 'destinationUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fc%2FyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com',\n 'assets': {\n 'Image': {\n 'cdnId': 'https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png',\n 'width': '640',\n 'height': '480'\n }\n },\n 'text': {},\n 'choices': {},\n 'clickUrl': 'https://ads.adnuntius.delivery/c/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'urls': {\n 'destination': 'https://ads.adnuntius.delivery/c/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com'\n },\n 'urlsEsc': {\n 'destination': 'https%3A%2F%2Fads.adnuntius.delivery%2Fc%2FyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com'\n },\n 'advertiserDomains': ['fred.com', 'george.com'],\n 'destinationUrls': {\n 'destination': 'https://adnuntius.com'\n },\n 'cpm': {\n 'amount': 9,\n 'currency': 'USD'\n },\n 'bid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'grossBid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'netBid': {\n 'amount': 0.0081,\n 'currency': 'USD'\n },\n 'dealId': 'abc123xyz',\n 'impressionTrackingUrls': [],\n 'impressionTrackingUrlsEsc': [],\n 'adId': 'adn-id-1064238860',\n 'selectedColumn': '0',\n 'selectedColumnPosition': '0',\n 'renderedPixel': 'https://ads.adnuntius.delivery/b/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg.html',\n 'renderedPixelEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fb%2FyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg.html',\n 'visibleUrl': 'https://ads.adnuntius.delivery/s?rt=yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'visibleUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fs%3Frt%3DyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'viewUrl': 'https://ads.adnuntius.delivery/v?rt=yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'viewUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fv%3Frt%3DyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'rt': 'yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'creativeWidth': '640',\n 'creativeHeight': '480',\n 'creativeId': 's90t0q03pm',\n 'lineItemId': 'cr3hnkkxhnkw9ldy',\n 'layoutId': 'buyers_network_image_layout_1',\n 'layoutName': 'Image',\n 'layoutExternalReference': '',\n 'html': \"<!DOCTYPE html>\\n<html>\\n<head>\\n <meta charset=\\\"utf-8\\\">\\n <style media=\\\"all\\\">\\n html, body, .responseCtr {\\n margin: 0;\\n padding: 0;\\n outline: 0;\\n border: 0;\\n overflow: hidden;\\n }\\n\\n .responseCtr {\\n display: inline-block;\\n line-height: 0;\\n vertical-align: top;\\n }\\n\\n .responseCtr a {\\n line-height: 0;\\n }\\n\\n .responseCtr *, .responseCtr a * {\\n line-height: normal;\\n }\\n\\n .responseCtr .contentWrapperPerItem {\\n margin: 0;\\n padding: 0;\\n outline: 0;\\n border: 0;\\n display: inline-block;\\n line-height: 0;\\n vertical-align: top;\\n }\\n\\n a img {\\n border: none;\\n outline: none;\\n }\\n\\n img {\\n margin: 0;\\n padding: 0;\\n }\\n\\n /* need this displayNone class to ensure images are preloaded for smooth transition */\\n img.displayNone {\\n position: absolute;\\n top: -99999px;\\n left: -99999px;\\n }\\n\\n .contentWrapperTrailer {\\n clear: both;\\n }\\n </style>\\n <script src=\\\"https://cdn.adnuntius.com/adn.js\\\"></script>\\n</head>\\n<body>\\n<div id=\\\"adn-rsp--91674201\\\" class=\\\"responseCtr\\\">\\n<div class=\\\"contentWrapperPerItem\\\" id=\\\"adn-id-1064238860\\\" data-line-item-id=\\\"cr3hnkkxhnkw9ldy\\\" data-creative-id=\\\"s90t0q03pm\\\" data-creative-width=\\\"100\\\" data-creative-height=\\\"30\\\" data-response-token=\\\"yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg\\\"><a rel=\\\"nofollow\\\" target=\\\"_top\\\" href=\\\"https://ads.adnuntius.delivery/c/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com\\\"><img src=\\\"https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png\\\" width=\\\"728\\\" height=\\\"90\\\" alt=\\\"\\\"/></a><div class=\\\"contentWrapperTrailer\\\"></div></div>\\n</div><script>\\n //<![CDATA[\\n (function() {\\n var impTrackers = [];impTrackers.push(\\\"https://ads.adnuntius.delivery/b/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg.html\\\");var body = document.getElementsByTagName(\\\"body\\\")[0];\\n for (var i = 0; i < impTrackers.length; i++) {\\n var impTracker = impTrackers[i];\\n var ifr = document.createElement(\\\"iframe\\\");\\n ifr.src = impTracker + (impTracker.match(/\\\\?/) ? '&' : '?') + 'cb=' + Math.random();\\n ifr.setAttribute(\\\"scrolling\\\", \\\"no\\\");\\n ifr.setAttribute(\\\"frameborder\\\", \\\"0\\\");\\n ifr.setAttribute(\\\"width\\\", \\\"1\\\");\\n ifr.setAttribute(\\\"height\\\", \\\"1\\\");\\n ifr.setAttribute(\\\"style\\\", \\\"position:absolute;top:-10000px;left:-100000px;\\\");\\n body.appendChild(ifr);\\n }\\n })();\\n //]]>\\n </script>\\n \\n<script>\\n//<![CDATA[\\n(function() {\\n var matchedAdCount = 1;\\n if (window.adn && adn.inIframe && adn.inIframe.processAdResponse) {\\n return adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\\n }\\n window.adn = window.adn || {};\\n adn.calls = adn.calls || [];\\n adn.calls.push(function() {\\n adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\\n });\\n})();\\n//]]>\\n</script></body>\\n</html>\",\n 'renderTemplate': '<a rel=\"nofollow\" target=\"_top\" href=\"{{{urls.destination.url}}}\"><img src=\"{{{assets.Image.cdnId}}}\" width=\"{{assets.Image.width}}\" height=\"{{assets.Image.height}}\" alt=\"\"/></a>'\n }\n ];\n\n const nativeResponseBody = [\n {\n 'auId': '0000000000000551',\n 'targetId': 'adn-0000000000000551',\n 'nativeJson': {\n 'ortb': {\n 'link': {\n 'url': 'https://whatever.com'\n },\n 'assets': [\n {\n 'id': 1,\n 'required': 1,\n 'img': {\n 'url': 'http://something.com/something.png'\n }\n }]\n }\n },\n 'matchedAdCount': 1,\n 'responseId': '',\n 'ads': [\n {\n 'advertiserDomains': ['adnuntius.com'],\n 'creativeWidth': 640,\n 'creativeHeight': 640,\n 'cpm': {\n 'amount': 2000,\n 'currency': 'NOK'\n },\n 'bid': {\n 'amount': 2,\n 'currency': 'NOK'\n },\n 'grossBid': {\n 'amount': 2,\n 'currency': 'NOK'\n },\n 'netBid': {\n 'amount': 2,\n 'currency': 'NOK'\n },\n 'cost': {\n 'amount': 2,\n 'currency': 'NOK'\n },\n 'assets': {\n 'img': {\n 'cdnId': 'http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4',\n 'width': '1920',\n 'height': '1080'\n }\n },\n }\n ]\n }\n ];\n\n const nativeResponse = {\n body: {\n 'adUnits': nativeResponseBody\n }\n };\n\n const nativeMultiFormatResponseBody = JSON.parse(JSON.stringify(nativeResponseBody[0]));\n nativeMultiFormatResponseBody.auId = '0000000000381535';\n nativeMultiFormatResponseBody.targetId = 'alt-native';\n\n const multiFormatServerResponse = {\n body: {\n 'adUnits': [\n {\n 'auId': '0000000000381535',\n 'targetId': '3a602680158a85-video',\n 'vastXml': '<VAST </Ad>\\n</VAST>',\n 'matchedAdCount': 1,\n 'responseId': 'adn-rsp-453419729',\n 'ads': [\n {\n 'cpm': {\n 'amount': 12500.0,\n 'currency': 'NOK'\n },\n 'bid': {\n 'amount': 5,\n 'currency': 'NOK'\n },\n 'grossBid': {\n 'amount': 5,\n 'currency': 'NOK'\n },\n 'netBid': {\n 'amount': 5,\n 'currency': 'NOK'\n },\n 'cost': {\n 'amount': 5,\n 'currency': 'NOK'\n },\n creativeWidth: 200,\n creativeHeight: 240,\n 'adId': 'adn-id-615465411',\n 'vastXml': '<Ad </Ad>'\n }\n ]\n },\n {\n 'auId': '0000000000381535',\n 'targetId': 'fred-video',\n 'vastXml': '<VAST \\n</VAST>',\n 'matchedAdCount': 1,\n 'responseId': 'adn-rsp--1809523040',\n 'ads': [\n {\n 'cpm': {\n 'amount': 1500.0,\n 'currency': 'NOK'\n },\n 'bid': {\n 'amount': 1.5,\n 'currency': 'NOK'\n },\n 'grossBid': {\n 'amount': 1.5,\n 'currency': 'NOK'\n },\n 'netBid': {\n 'amount': 1.5,\n 'currency': 'NOK'\n },\n 'cost': {\n 'amount': 1.5,\n 'currency': 'NOK'\n },\n creativeWidth: 200,\n creativeHeight: 240,\n 'adId': 'adn-id-344789675',\n 'selectedColumn': '0',\n 'selectedColumnPosition': '0',\n 'vastXml': '<Ad id=\\'adn-id-344789675\\'></InLine>\\n</Ad>',\n }\n ]\n },\n nativeMultiFormatResponseBody,\n {\n 'auId': '0000000000381535',\n 'targetId': '3a602680158a85',\n 'html': '\\u003C!DOCTYPE html\\u003E\\n\\n\\u003C/html\\u003E',\n 'matchedAdCount': 0,\n 'responseId': '',\n 'ads': []\n },\n {\n 'auId': '0000000000381535',\n 'renderOption': 'DIV',\n 'targetId': 'fred',\n 'html': '\\u003C!DOCTYPE html\\u003E\\n\\u003C\\u003E\\n\\u003C/html\\u003E',\n 'matchedAdCount': 1,\n 'responseId': 'adn-rsp-1620340740',\n 'ads': [\n {\n 'destinationUrlEsc': '',\n 'cpm': {\n 'amount': 1250.0,\n 'currency': 'NOK'\n },\n creativeWidth: 200,\n creativeHeight: 240,\n 'bid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'grossBid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'netBid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'cost': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'html': '\\u003Ca \\'\\u003E\\u003C/script\\u003E',\n }\n ]\n },\n {\n 'auId': '0000000000381535',\n 'renderOption': 'DIV',\n 'targetId': 'alt',\n 'html': '\\u003C!DOCTYPE html\\u003E\\n\\u003C\\u003E\\n\\u003C/html\\u003E',\n 'matchedAdCount': 1,\n 'responseId': 'adn-rsp-1620340740',\n 'ads': [\n {\n 'destinationUrlEsc': '',\n 'cpm': {\n 'amount': 1000.0,\n 'currency': 'NOK'\n },\n creativeWidth: 200,\n creativeHeight: 240,\n 'bid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'grossBid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'netBid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'cost': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'html': '\\u003Ca \\'\\u003E\\u003C/script\\u003E',\n }\n ]\n }\n ],\n 'network': '1287',\n 'keywords': []\n }\n };\n\n const serverResponse = {\n body: {\n 'adUnits': [\n {\n 'auId': '0000000000000551',\n 'targetId': 'adn-0000000000000551',\n 'html': \"<!DOCTYPE html>\\n<html>\\n<head>\\n <meta charset=\\\"utf-8\\\">\\n <style media=\\\"all\\\">\\n html, body, .responseCtr {\\n margin: 0;\\n padding: 0;\\n outline: 0;\\n border: 0;\\n overflow: hidden;\\n }\\n\\n .responseCtr {\\n display: inline-block;\\n line-height: 0;\\n vertical-align: top;\\n }\\n\\n .responseCtr a {\\n line-height: 0;\\n }\\n\\n .responseCtr *, .responseCtr a * {\\n line-height: normal;\\n }\\n\\n .responseCtr .contentWrapperPerItem {\\n margin: 0;\\n padding: 0;\\n outline: 0;\\n border: 0;\\n display: inline-block;\\n line-height: 0;\\n vertical-align: top;\\n }\\n\\n a img {\\n border: none;\\n outline: none;\\n }\\n\\n img {\\n margin: 0;\\n padding: 0;\\n }\\n\\n /* need this displayNone class to ensure images are preloaded for smooth transition */\\n img.displayNone {\\n position: absolute;\\n top: -99999px;\\n left: -99999px;\\n }\\n\\n .contentWrapperTrailer {\\n clear: both;\\n }\\n </style>\\n <script src=\\\"https://cdn.adnuntius.com/adn.js\\\"></script>\\n</head>\\n<body>\\n<div id=\\\"adn-rsp--229633088\\\" class=\\\"responseCtr\\\">\\n<div class=\\\"contentWrapperPerItem\\\" id=\\\"adn-id-1488629603\\\" data-line-item-id=\\\"cr3hnkkxhnkw9ldy\\\" data-creative-id=\\\"s90t0q03pm\\\" data-creative-width=\\\"100\\\" data-creative-height=\\\"30\\\" data-response-token=\\\"5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg\\\"><a rel=\\\"nofollow\\\" target=\\\"_top\\\" href=\\\"https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com\\\"><img src=\\\"https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png\\\" width=\\\"728\\\" height=\\\"90\\\" alt=\\\"\\\"/></a><div class=\\\"contentWrapperTrailer\\\"></div></div>\\n</div><script>\\n //<![CDATA[\\n (function() {\\n var impTrackers = [];impTrackers.push(\\\"https://ads.adnuntius.delivery/b/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg.html\\\");var body = document.getElementsByTagName(\\\"body\\\")[0];\\n for (var i = 0; i < impTrackers.length; i++) {\\n var impTracker = impTrackers[i];\\n var ifr = document.createElement(\\\"iframe\\\");\\n ifr.src = impTracker + (impTracker.match(/\\\\?/) ? '&' : '?') + 'cb=' + Math.random();\\n ifr.setAttribute(\\\"scrolling\\\", \\\"no\\\");\\n ifr.setAttribute(\\\"frameborder\\\", \\\"0\\\");\\n ifr.setAttribute(\\\"width\\\", \\\"1\\\");\\n ifr.setAttribute(\\\"height\\\", \\\"1\\\");\\n ifr.setAttribute(\\\"style\\\", \\\"position:absolute;top:-10000px;left:-100000px;\\\");\\n body.appendChild(ifr);\\n }\\n })();\\n //]]>\\n </script>\\n \\n<script>\\n//<![CDATA[\\n(function() {\\n var matchedAdCount = 1;\\n if (window.adn && adn.inIframe && adn.inIframe.processAdResponse) {\\n return adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\\n }\\n window.adn = window.adn || {};\\n adn.calls = adn.calls || [];\\n adn.calls.push(function() {\\n adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\\n });\\n})();\\n//]]>\\n</script></body>\\n</html>\",\n 'matchedAdCount': 1,\n 'responseId': 'adn-rsp--229633088',\n 'deals': deals,\n 'ads': [\n {\n 'destinationUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fc%2F5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com',\n 'assets': {\n 'Image': {\n 'cdnId': 'https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png',\n 'width': '640',\n 'height': '480'\n }\n },\n 'dealId': 'not-in-deal-array-here',\n 'text': {},\n 'choices': {},\n 'clickUrl': 'https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'urls': {\n 'destination': 'https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com'\n },\n 'urlsEsc': {\n 'destination': 'http%3A%2F%2Fads.adnuntius.delivery%2Fc%2F5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com'\n },\n 'destinationUrls': {\n 'destination': 'https://adnuntius.com'\n },\n 'cpm': {\n 'amount': 9,\n 'currency': 'USD'\n },\n 'bid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'grossBid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'netBid': {\n 'amount': 0.0081,\n 'currency': 'USD'\n },\n 'impressionTrackingUrls': [],\n 'impressionTrackingUrlsEsc': [],\n 'adId': 'adn-id-1488629603',\n 'selectedColumn': '0',\n 'selectedColumnPosition': '0',\n 'renderedPixel': 'https://ads.adnuntius.delivery/b/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg.html',\n 'renderedPixelEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fb%2F5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg.html',\n 'visibleUrl': 'https://ads.adnuntius.delivery/s?rt=5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'visibleUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fs%3Frt%3D5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'viewUrl': 'https://ads.adnuntius.delivery/v?rt=5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'viewUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fv%3Frt%3D5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'rt': '5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'creativeWidth': '640',\n 'creativeHeight': '480',\n 'creativeId': 's90t0q03pm',\n 'lineItemId': 'cr3hnkkxhnkw9ldy',\n 'layoutId': 'buyers_network_image_layout_1',\n 'layoutName': 'Image',\n 'layoutExternalReference': '',\n 'html': '<a rel=\"nofollow\" target=\"_top\" href=\"https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com\"><img src=\"https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png\" width=\"728\" height=\"90\" alt=\"\"/></a>',\n 'renderTemplate': '<a rel=\"nofollow\" target=\"_top\" href=\"{{{urls.destination.url}}}\"><img src=\"{{{assets.Image.cdnId}}}\" width=\"{{assets.Image.width}}\" height=\"{{assets.Image.height}}\" alt=\"\"/></a>'\n }\n ]\n },\n {\n 'auId': '000000000008b6bc',\n 'targetId': 'adn-000000000008b6bc',\n 'matchedAdCount': 0,\n 'responseId': 'adn-rsp-1460129238',\n }\n ],\n 'metaData': {\n 'usi': 'from-api-server dude',\n 'voidAuIds': '00000000000abcde;00000000000fffff',\n 'randomApiKey': 'randomApiValue'\n },\n 'network': 'some-network-id'\n }\n }\n const serverVideoResponse = {\n body: {\n 'adUnits': [\n {\n 'auId': '0000000000000551',\n 'targetId': 'adn-0000000000000551',\n 'vastXml': '<VAST version=\\\\\"3.0\\\\\">\\\\n<Ad id=\\\\\"adn-id-500662301\\\\\">\\\\n <InLine>\\\\n <AdSystem>Adnuntius</AdSystem>\\\\n <AdTitle>adn-id-500662301</AdTitle>\\\\n <Impression></Impression>\\\\n <Creatives>\\\\n <Creative>\\\\n <Linear>\\\\n <Duration>00:00:15</Duration>\\\\n <TrackingEvents>\\\\n <Tracking event=\\\\\"creativeView\\\\\"><![CDATA[http://localhost:8078/b/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html]]></Tracking>\\\\n <Tracking event=\\\\\"start\\\\\"><![CDATA[http://localhost:8078/s?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\\\\n <Tracking event=\\\\\"firstQuartile\\\\\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\\\n <Tracking event=\\\\\"midpoint\\\\\"><![CDATA[http://localhost:8078/v?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\\\\n <Tracking event=\\\\\"thirdQuartile\\\\\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\\\n <Tracking event=\\\\\"complete\\\\\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\\\n </TrackingEvents>\\\\n <VideoClicks>\\\\n <ClickThrough><![CDATA[http://adnuntius.com]]></ClickThrough>\\\\n <ClickTracking><![CDATA[http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></ClickTracking>\\\\n </VideoClicks>\\\\n <MediaFiles>\\\\n <MediaFile delivery=\\\\\"progressive\\\\\" type=\\\\\"video/mp4\\\\\" bitrate=\\\\\"92421\\\\\" width=\\\\\"1920\\\\\" height=\\\\\"1080\\\\\" scalable=\\\\\"true\\\\\" maintainAspectRatio=\\\\\"true\\\\\">\\\\n <![CDATA[http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4]]>\\\\n </MediaFile>\\\\n </MediaFiles>\\\\n </Linear>\\\\n </Creative>\\\\n </Creatives>\\\\n </InLine>\\\\n</Ad>\\\\n</VAST>',\n 'matchedAdCount': 1,\n 'responseId': '',\n 'deals': [\n {\n 'destinationUrlEsc': '',\n 'assets': {\n 'Video': {\n 'cdnId': 'http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4',\n 'width': '1920',\n 'height': '1080'\n }\n },\n 'text': {\n 'thirdQuartile': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n },\n 'complete': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n },\n 'firstQuartile': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n }\n },\n 'choices': {},\n 'clickUrl': 'http://localhost:8078/c/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'urls': {\n 'destinationUrl': 'http://localhost:8078/c/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg?ct=682&r=http%3A%2F%2Fadnuntius.com'\n },\n 'urlsEsc': {\n 'destinationUrl': 'http%3A%2F%2Flocalhost%3A8078%2Fc%2F7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg%3Fct%3D682%26r%3Dhttp%253A%252F%252Fadnuntius.com'\n },\n 'destinationUrls': {\n 'destinationUrl': 'http://adnuntius.com'\n },\n 'cpm': {\n 'amount': 9,\n 'currency': 'USD'\n },\n 'bid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'grossBid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'netBid': {\n 'amount': 0.0081,\n 'currency': 'USD'\n },\n 'dealId': 'abc123xyz',\n 'impressionTrackingUrls': [],\n 'impressionTrackingUrlsEsc': [],\n 'adId': 'adn-id-1465065992',\n 'selectedColumn': '0',\n 'selectedColumnPosition': '0',\n 'renderedPixel': 'http://localhost:8078/b/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg.html',\n 'renderedPixelEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fb%2F7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg.html',\n 'visibleUrl': 'http://localhost:8078/s?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'visibleUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fs%3Frt%3D7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'viewUrl': 'http://localhost:8078/v?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'viewUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fv%3Frt%3D7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'rt': '7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'creativeWidth': '640',\n 'creativeHeight': '480',\n 'creativeId': 'p6sqtvcgxczy258j',\n 'lineItemId': 'cr3hnkkxhnkw9ldy',\n 'layoutId': 'buyers_networkvast_single_format_layout',\n 'layoutName': 'Vast (video upload)',\n 'layoutExternalReference': '',\n 'vastXml': '<VAST version=\"3.0\">\\n<Ad id=\"adn-id-1465065992\">\\n <InLine>\\n <AdSystem>Adnuntius</AdSystem>\\n <AdTitle>adn-id-1465065992</AdTitle>\\n <Impression></Impression>\\n <Creatives>\\n <Creative>\\n <Linear>\\n <Duration>00:00:15</Duration>\\n <TrackingEvents>\\n <Tracking event=\"creativeView\"><![CDATA[http://localhost:8078/b/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg.html]]></Tracking>\\n <Tracking event=\"start\"><![CDATA[http://localhost:8078/s?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg]]></Tracking>\\n <Tracking event=\"firstQuartile\"><![CDATA[https://localhost:8078/u?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg&customType=whatevs]]></Tracking>\\n <Tracking event=\"midpoint\"><![CDATA[http://localhost:8078/v?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg]]></Tracking>\\n <Tracking event=\"thirdQuartile\"><![CDATA[https://localhost:8078/u?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg&customType=whatevs]]></Tracking>\\n <Tracking event=\"complete\"><![CDATA[https://localhost:8078/u?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg&customType=whatevs]]></Tracking>\\n </TrackingEvents>\\n <VideoClicks>\\n <ClickThrough><![CDATA[http://adnuntius.com]]></ClickThrough>\\n <ClickTracking><![CDATA[http://localhost:8078/c/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg]]></ClickTracking>\\n </VideoClicks>\\n <MediaFiles>\\n <MediaFile delivery=\"progressive\" type=\"video/mp4\" bitrate=\"92421\" width=\"1920\" height=\"1080\" scalable=\"true\" maintainAspectRatio=\"true\">\\n <![CDATA[http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4]]>\\n </MediaFile>\\n </MediaFiles>\\n </Linear>\\n </Creative>\\n </Creatives>\\n </InLine>\\n</Ad>\\n</VAST>',\n 'renderTemplate': '<Ad id=\"{{adId}}\">\\n <InLine>\\n <AdSystem>Adnuntius</AdSystem>\\n <AdTitle>{{{adId}}}</AdTitle>\\n <Impression></Impression>\\n <Creatives>\\n <Creative>{{#ifEquals vastVersion \"4.0\"}}\\n <UniversalAdId idRegistry=\"unknown\" idValue=\"unknown\"></UniversalAdId>{{/ifEquals}}\\n <Linear>\\n <Duration>{{assets.Video.duration}}</Duration>\\n <TrackingEvents>\\n <Tracking event=\"creativeView\"><![CDATA[{{{renderedPixel}}}]]></Tracking>\\n <Tracking event=\"start\"><![CDATA[{{{visibleUrl}}}]]></Tracking>{{#unless preview}}{{#each impressionTrackingUrls}}\\n <Tracking event=\"start\"><![CDATA[{{{this}}}]]></Tracking>{{/each}}{{/unless}}{{#if text.firstQuartile.content}}\\n <Tracking event=\"firstQuartile\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.firstQuartile.content}}]]></Tracking>{{/if}}\\n <Tracking event=\"midpoint\"><![CDATA[{{{viewUrl}}}]]></Tracking>{{#if text.thirdQuartile.content}}\\n <Tracking event=\"thirdQuartile\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.thirdQuartile.content}}]]></Tracking>{{/if}}{{#if text.complete.content}}\\n <Tracking event=\"complete\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.complete.content}}]]></Tracking>{{/if}}\\n </TrackingEvents>\\n <VideoClicks>\\n <ClickThrough><![CDATA[{{{urls.destinationUrl.destinationUrl}}}]]></ClickThrough>\\n <ClickTracking><![CDATA[{{{clickUrl}}}]]></ClickTracking>\\n </VideoClicks>\\n <MediaFiles>\\n <MediaFile delivery=\"progressive\" type=\"{{assets.Video.mimeType}}\" bitrate=\"{{assets.Video.bps}}\" width=\"{{assets.Video.width}}\" height=\"{{assets.Video.height}}\" scalable=\"true\" maintainAspectRatio=\"true\">\\n <![CDATA[{{{assets.Video.cdnId}}}]]>\\n </MediaFile>\\n </MediaFiles>\\n </Linear>\\n </Creative>\\n </Creatives>\\n </InLine>\\n</Ad>'\n }\n ],\n 'ads': [\n {\n 'destinationUrlEsc': '',\n 'dealId': 'not-in-deal-array',\n 'assets': {\n 'Video': {\n 'cdnId': 'http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4',\n 'width': '1920',\n 'height': '1080'\n }\n },\n 'text': {\n 'thirdQuartile': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n },\n 'complete': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n },\n 'firstQuartile': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n }\n },\n 'choices': {},\n 'clickUrl': 'http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'urls': {\n 'destinationUrl': 'http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX?ct=682&r=http%3A%2F%2Fadnuntius.com'\n },\n 'urlsEsc': {\n 'destinationUrl': 'http%3A%2F%2Flocalhost%3A8078%2Fc%2FZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX%3Fct%3D682%26r%3Dhttp%253A%252F%252Fadnuntius.com'\n },\n 'destinationUrls': {\n 'destinationUrl': 'http://adnuntius.com'\n },\n 'cpm': {\n 'amount': 9,\n 'currency': 'USD'\n },\n 'bid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'grossBid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'netBid': {\n 'amount': 0.0081,\n 'currency': 'USD'\n },\n 'impressionTrackingUrls': [],\n 'impressionTrackingUrlsEsc': [],\n 'adId': 'adn-id-500662301',\n 'selectedColumn': '0',\n 'selectedColumnPosition': '0',\n 'renderedPixel': 'http://localhost:8078/b/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html',\n 'renderedPixelEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fb%2FZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html',\n 'visibleUrl': 'http://localhost:8078/s?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'visibleUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fs%3Frt%3DZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'viewUrl': 'http://localhost:8078/v?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'viewUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fv%3Frt%3DZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'rt': 'ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'creativeWidth': '640',\n 'creativeHeight': '480',\n 'creativeId': 'p6sqtvcgxczy258j',\n 'lineItemId': 'cr3hnkkxhnkw9ldy',\n 'layoutId': 'buyers_networkvast_single_format_layout',\n 'layoutName': 'Vast (video upload)',\n 'layoutExternalReference': '',\n 'vastXml': '<Ad id=\"adn-id-500662301\">\\n <InLine>\\n <AdSystem>Adnuntius</AdSystem>\\n <AdTitle>adn-id-500662301</AdTitle>\\n <Impression></Impression>\\n <Creatives>\\n <Creative>\\n <Linear>\\n <Duration>00:00:15</Duration>\\n <TrackingEvents>\\n <Tracking event=\"creativeView\"><![CDATA[http://localhost:8078/b/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html]]></Tracking>\\n <Tracking event=\"start\"><![CDATA[http://localhost:8078/s?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\\n <Tracking event=\"firstQuartile\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\n <Tracking event=\"midpoint\"><![CDATA[http://localhost:8078/v?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\\n <Tracking event=\"thirdQuartile\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\n <Tracking event=\"complete\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\n </TrackingEvents>\\n <VideoClicks>\\n <ClickThrough><![CDATA[http://adnuntius.com]]></ClickThrough>\\n <ClickTracking><![CDATA[http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></ClickTracking>\\n </VideoClicks>\\n <MediaFiles>\\n <MediaFile delivery=\"progressive\" type=\"video/mp4\" bitrate=\"92421\" width=\"1920\" height=\"1080\" scalable=\"true\" maintainAspectRatio=\"true\">\\n <![CDATA[http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4]]>\\n </MediaFile>\\n </MediaFiles>\\n </Linear>\\n </Creative>\\n </Creatives>\\n </InLine>\\n</Ad>',\n 'renderTemplate': '<Ad id=\"{{adId}}\">\\n <InLine>\\n <AdSystem>Adnuntius</AdSystem>\\n <AdTitle>{{{adId}}}</AdTitle>\\n <Impression></Impression>\\n <Creatives>\\n <Creative>{{#ifEquals vastVersion \"4.0\"}}\\n <UniversalAdId idRegistry=\"unknown\" idValue=\"unknown\"></UniversalAdId>{{/ifEquals}}\\n <Linear>\\n <Duration>{{assets.Video.duration}}</Duration>\\n <TrackingEvents>\\n <Tracking event=\"creativeView\"><![CDATA[{{{renderedPixel}}}]]></Tracking>\\n <Tracking event=\"start\"><![CDATA[{{{visibleUrl}}}]]></Tracking>{{#unless preview}}{{#each impressionTrackingUrls}}\\n <Tracking event=\"start\"><![CDATA[{{{this}}}]]></Tracking>{{/each}}{{/unless}}{{#if text.firstQuartile.content}}\\n <Tracking event=\"firstQuartile\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.firstQuartile.content}}]]></Tracking>{{/if}}\\n <Tracking event=\"midpoint\"><![CDATA[{{{viewUrl}}}]]></Tracking>{{#if text.thirdQuartile.content}}\\n <Tracking event=\"thirdQuartile\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.thirdQuartile.content}}]]></Tracking>{{/if}}{{#if text.complete.content}}\\n <Tracking event=\"complete\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.complete.content}}]]></Tracking>{{/if}}\\n </TrackingEvents>\\n <VideoClicks>\\n <ClickThrough><![CDATA[{{{urls.destinationUrl.destinationUrl}}}]]></ClickThrough>\\n <ClickTracking><![CDATA[{{{clickUrl}}}]]></ClickTracking>\\n </VideoClicks>\\n <MediaFiles>\\n <MediaFile delivery=\"progressive\" type=\"{{assets.Video.mimeType}}\" bitrate=\"{{assets.Video.bps}}\" width=\"{{assets.Video.width}}\" height=\"{{assets.Video.height}}\" scalable=\"true\" maintainAspectRatio=\"true\">\\n <![CDATA[{{{assets.Video.cdnId}}}]]>\\n </MediaFile>\\n </MediaFiles>\\n </Linear>\\n </Creative>\\n </Creatives>\\n </InLine>\\n</Ad>'\n }\n ]\n },\n {\n 'auId': '000000000008b6bc',\n 'targetId': 'adn-000000000008b6bc',\n 'matchedAdCount': 0,\n 'responseId': 'adn-rsp-1460129238',\n }\n ]\n }\n }\n\n describe('inherited functions', function () {\n it('exists and is a function', function () {\n expect(adapter.callBids).to.exist.and.to.be.a('function');\n });\n });\n\n describe('isBidRequestValid', function () {\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(bidderRequests[0])).to.equal(true);\n });\n });\n\n describe('buildRequests', function () {\n it('Test requests', function () {\n const winDimensions = getWinDimensions();\n const screen = winDimensions.screen.availWidth + 'x' + winDimensions.screen.availHeight;\n const viewport = winDimensions.innerWidth + 'x' + winDimensions.innerHeight;\n const prebidVersion = window.$$PREBID_GLOBAL$$.version;\n const tzo = new Date().getTimezoneOffset();\n const ENDPOINT_URL = `https://ads.adnuntius.delivery/i?tzo=${tzo}&format=prebid&pbv=${prebidVersion}&screen=${screen}&viewport=${viewport}&userId=${usi}`;\n\n const bidderRequests = [\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n targetId: '123',\n network: 'adnuntius',\n maxDeals: 1\n },\n mediaTypes: {\n banner: {\n sizes: [[640, 480], [600, 400]],\n }\n },\n },\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n banner: {\n sizes: [[1640, 1480], [1600, 1400]],\n }\n },\n }\n ];\n\n const request = spec.buildRequests(bidderRequests, {\n refererInfo: {\n canonicalUrl: 'https://canonical.com/page.html',\n page: 'https://canonical.com/something-else.html'\n }\n });\n\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0];\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal(JSON.stringify({\n adUnits: [\n {\n auId: '000000000008b6bc',\n targetId: '123',\n maxDeals: 1,\n dimensions: [[640, 480], [600, 400]]\n },\n {\n auId: '0000000000000551',\n targetId: 'adn-0000000000000551',\n dimensions: [[1640, 1480], [1600, 1400]]\n }\n ],\n context: 'https://canonical.com/something-else.html',\n canonical: 'https://canonical.com/page.html'\n }));\n });\n\n it('should pass for different end points in config', function () {\n config.setConfig({\n env: 'localhost',\n protocol: 'http'\n })\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, LOCALHOST_URL);\n });\n\n it('Test specifying deal IDs', function () {\n const dealIdRequest = deepClone(bidderRequests);\n dealIdRequest[0].params.dealId = 'simplestringdeal';\n dealIdRequest[0].params.inventory = {\n pmp: {\n deals: [{id: '123', bidfloor: 12, bidfloorcur: 'USD'}]\n }\n };\n let request = spec.buildRequests(dealIdRequest, {});\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0]\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"000000000008b6bc\",\"targetId\":\"123\",\"dealId\":\"simplestringdeal\",\"maxDeals\":1,\"dimensions\":[[640,480],[600,400]]},{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"dimensions\":[[1640,1480],[1600,1400]]}]}');\n\n delete dealIdRequest[0].params.dealId;\n request = spec.buildRequests(dealIdRequest, {});\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"000000000008b6bc\",\"targetId\":\"123\",\"dealId\":[{\"id\":\"123\",\"bidfloor\":12,\"bidfloorcur\":\"USD\"}],\"maxDeals\":1,\"dimensions\":[[640,480],[600,400]]},{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"dimensions\":[[1640,1480],[1600,1400]]}]}');\n });\n\n it('Test requests with no local storage', function () {\n storage.setDataInLocalStorage('adn.metaData', JSON.stringify([{}]));\n const request = spec.buildRequests(bidderRequests, {});\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0]\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_BASE);\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"000000000008b6bc\",\"targetId\":\"123\",\"maxDeals\":1,\"dimensions\":[[640,480],[600,400]]},{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"dimensions\":[[1640,1480],[1600,1400]]}]}');\n\n localStorage.removeItem('adn.metaData');\n const request2 = spec.buildRequests(bidderRequests, {});\n expect(request2.length).to.equal(1);\n expect(request2[0]).to.have.property('url');\n expectUrlsEqual(request2[0].url, ENDPOINT_URL_BASE);\n });\n\n it('Test request changes for voided au ids', function () {\n storage.setDataInLocalStorage('adn.metaData', JSON.stringify([{ key: 'voidAuIds', value: [{ auId: '11118b6bc', exp: getUnixTimestampFromNow(1) }, { auId: '0000000000000023', exp: getUnixTimestampFromNow(1) }] }]));\n const bRequests = bidderRequests.concat([{\n bidId: 'adn-11118b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '11118b6bc',\n network: 'adnuntius',\n },\n mediaTypes: {\n banner: {\n sizes: [[1640, 1480], [1600, 1400]],\n }\n },\n }]);\n bRequests.push({\n bidId: 'adn-23',\n bidder: 'adnuntius',\n params: {\n auId: '23',\n network: 'adnuntius',\n },\n mediaTypes: {\n banner: {\n sizes: [[1640, 1480], [1600, 1400]],\n }\n },\n });\n bRequests.push({\n bidId: 'adn-13',\n bidder: 'adnuntius',\n params: {\n auId: '13',\n network: 'adnuntius',\n },\n mediaTypes: {\n banner: {\n sizes: [[164, 140], [10, 1400]],\n }\n },\n });\n const request = spec.buildRequests(bRequests, {});\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0]\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_BASE);\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"000000000008b6bc\",\"targetId\":\"123\",\"maxDeals\":1,\"dimensions\":[[640,480],[600,400]]},{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"dimensions\":[[1640,1480],[1600,1400]]},{\"auId\":\"13\",\"targetId\":\"adn-13\",\"dimensions\":[[164,140],[10,1400]]}]}');\n });\n\n it('Test Video requests', function () {\n const request = spec.buildRequests(videoBidderRequest, {});\n expect(request.length).to.equal(1);\n\n const data = JSON.parse(request[0].data);\n expect(data.adUnits.length).to.equal(1);\n expect(data.adUnits[0].targetId).to.equal('adn-0000000000000551');\n expect(data.adUnits[0].adType).to.equal('VAST');\n\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0]\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n\n it('Test multiformat requests', function () {\n const request = spec.buildRequests(multiBidderRequest, {});\n expect(request.length).to.equal(1);\n expect(request.data)\n const data = JSON.parse(request[0].data);\n expect(data.adUnits.length).to.equal(2);\n expect(data.adUnits[0].targetId).to.equal('adn-0000000000000551');\n expect(data.adUnits[0]).not.to.have.property('adType');\n expect(data.adUnits[1].targetId).to.equal('adn-0000000000000551-video');\n expect(data.adUnits[1].adType).to.equal('VAST');\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0]\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n\n it('should pass segments if available in config and merge from targeting', function () {\n const ortb2 = {\n user: {\n data: [{\n name: 'adnuntius',\n segment: [{ id: 'segment1' }, { id: 'segment2' }, { invalidSegment: 'invalid' }, { id: 123 }, { id: ['3332'] }]\n },\n {\n name: 'other',\n segment: ['segment3']\n }]\n }\n };\n\n bidderRequests[0].params.targeting = {\n segments: ['merge-this', 'and-this']\n };\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL_SEGMENTS.replace('segment3', 'segment3,merge-this,and-this'));\n\n delete bidderRequests[0].params.targeting;\n });\n\n function countMatches(actualArray, expectedValue) {\n return actualArray.filter(val => {\n return JSON.stringify(val) === JSON.stringify(expectedValue);\n }).length;\n }\n\n it('should pass site data ext as key values to ad server', function () {\n const ortb2 = {\n site: {\n ext: {\n data: {\n '12345': 'true',\n '45678': 'true',\n '9090': 'should-be-retained'\n }\n }\n }\n };\n bidderRequests[0].params.targeting = {\n kv: {\n 'merge': ['this'],\n '9090': ['take it over']\n }\n };\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n const data = JSON.parse(request[0].data);\n expect(countMatches(data.adUnits[0].kv, {'9090': ['take it over']})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'merge': ['this']})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'9090': 'should-be-retained'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'45678': 'true'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'12345': 'true'})).to.equal(1);\n expect(data.adUnits[0].kv.length).to.equal(5);\n\n delete bidderRequests[0].params.targeting;\n });\n\n it('should pass site.ext.data and user.ext.data as key values to ad server with targeting in different format', function () {\n const ortb2 = {\n user: {\n ext: {\n data: {\n 'from': 'user',\n '9090': 'from-user'\n }\n }\n },\n site: {\n ext: {\n data: {\n '12345': 'true',\n '45678': 'true',\n '9090': 'should-be-retained'\n }\n }\n }\n };\n bidderRequests[0].params.targeting = {\n kv: [\n {'merge': ['this']},\n {'9090': ['take it over']}\n ]\n };\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n const data = JSON.parse(request[0].data);\n expect(countMatches(data.adUnits[0].kv, {'from': 'user'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'9090': 'from-user'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'9090': ['take it over']})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'merge': ['this']})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'9090': 'should-be-retained'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'45678': 'true'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'12345': 'true'})).to.equal(1);\n expect(data.adUnits[0].kv.length).to.equal(7);\n\n delete bidderRequests[0].params.targeting;\n });\n\n it('should pass site data ext as key values to ad server even if no kv targeting specified in params.targeting', function () {\n const ortb2 = {\n site: {\n ext: {\n data: {\n '12345': 'true',\n '45678': 'true',\n '9090': 'should-be-retained'\n }\n }\n }\n };\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n const data = JSON.parse(request[0].data);\n expect(countMatches(data.adUnits[0].kv, {'9090': 'should-be-retained'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'45678': 'true'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'12345': 'true'})).to.equal(1);\n expect(data.adUnits[0].kv.length).to.equal(3);\n\n delete bidderRequests[0].params.targeting;\n });\n\n it('should skip passing site ext if missing', function () {\n const ortb2 = {\n site: {\n ext: {\n }\n }\n };\n\n delete bidderRequests[0].params.targeting;\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n const data = JSON.parse(request[0].data);\n expect(data.adUnits[0]).to.not.have.property('kv');\n });\n\n it('should skip passing site ext data if missing', function () {\n const ortb2 = {\n site: {\n ext: {\n data: {}\n }\n }\n };\n\n delete bidderRequests[0].params.targeting;\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n const data = JSON.parse(request[0].data);\n expect(data.adUnits[0]).to.not.have.property('kv');\n });\n\n it('should skip segments in config if not either id or array of strings', function () {\n const ortb2 = {\n user: {\n data: [{\n name: 'adnuntius',\n segment: [{ id: 'segment1' }, { id: 'segment2' }, { id: 'segment3' }]\n },\n {\n name: 'other',\n segment: [{\n notright: 'segment4'\n }]\n }],\n }\n };\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_SEGMENTS);\n });\n });\n\n describe('user privacy', function () {\n it('should send GDPR Consent data if gdprApplies', function () {\n const request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: true, consentString: 'consentString' } });\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_CONSENT);\n });\n\n it('should not send GDPR Consent data if gdprApplies equals undefined', function () {\n const request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: undefined, consentString: 'consentString' } });\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n\n it('should pass segments if available in config', function () {\n const ortb2 = {\n user: {\n data: [{\n name: 'adnuntius',\n segment: [{ id: 'segment1' }, { id: 'segment2' }]\n },\n {\n name: 'other',\n segment: ['segment3']\n }]\n }\n }\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_SEGMENTS);\n });\n\n it('should skip segments in config if not either id or array of strings', function () {\n const ortb2 = {\n user: {\n data: [{\n name: 'adnuntius',\n segment: [{ id: 'segment1' }, { id: 'segment2' }, { id: 'segment3' }]\n },\n {\n name: 'other',\n segment: [{\n notright: 'segment4'\n }]\n }],\n }\n };\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL_SEGMENTS);\n });\n\n it('should user user ID if present in ortb2.user.id field', function () {\n const ortb2 = {\n user: {\n id: usi\n }\n };\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n\n it('should user in user', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n });\n\n const req = [\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n network: 'adnuntius'\n }\n }\n ];\n let request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=${usi}`);\n\n const ortb2 = {user: {ext: {eids: [{source: 'a', uids: [{id: '123', atype: 1}]}, {source: 'b', uids: [{id: '456', atype: 3, ext: {some: '1'}}]}]}}};\n request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req, ortb2: ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=${usi}&eids=%5B%7B%22source%22%3A%22a%22%2C%22uids%22%3A%5B%7B%22id%22%3A%22123%22%2C%22atype%22%3A1%7D%5D%7D%2C%7B%22source%22%3A%22b%22%2C%22uids%22%3A%5B%7B%22id%22%3A%22456%22%2C%22atype%22%3A3%2C%22ext%22%3A%7B%22some%22%3A%221%22%7D%7D%5D%7D%5D`);\n\n ortb2.user.id = \"ortb2userid\"\n request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req, ortb2: ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=ortb2userid&eids=%5B%7B%22source%22%3A%22a%22%2C%22uids%22%3A%5B%7B%22id%22%3A%22123%22%2C%22atype%22%3A1%7D%5D%7D%2C%7B%22source%22%3A%22b%22%2C%22uids%22%3A%5B%7B%22id%22%3A%22456%22%2C%22atype%22%3A3%2C%22ext%22%3A%7B%22some%22%3A%221%22%7D%7D%5D%7D%5D`);\n\n req[0].params.userId = 'different_user_id';\n request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=different_user_id`);\n\n const eids = [{source: 'pubcid', uids: [{id: '123', atype: 1}]}, {source: 'otherid', uids: [{id: '456', atype: 3, ext: {some: '1'}}]}];\n req[0].params.userId = 'different_user_id';\n req[0].params.userIdAsEids = eids;\n request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=different_user_id&eids=` + encodeURIComponent(JSON.stringify(eids)));\n\n request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req, ortb2: ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=different_user_id&eids=` + encodeURIComponent(JSON.stringify(eids)));\n });\n\n it('should handle no user specified', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n });\n const req = [\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n network: 'adnuntius'\n }\n }\n ];\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n });\n\n describe('user privacy', function () {\n it('should send GDPR Consent data if gdprApplies', function () {\n const request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: true, consentString: 'consentString' } });\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_CONSENT);\n });\n\n it('should not send GDPR Consent data if gdprApplies equals undefined', function () {\n const request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: undefined, consentString: 'consentString' } });\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n });\n\n describe('use cookie', function () {\n it('should send noCookie in url if set to false.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n useCookie: false,\n advertiserTransparency: true\n }\n });\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_NOCOOKIE + '&advertiserTransparency=true');\n });\n });\n\n describe('validate auId', function () {\n it('should fail when auId is not hexadecimal', function () {\n const invalidRequest = {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: 'nothexadecimal',\n }\n };\n const valid = config.runWithBidder('adnuntius', () => spec.isBidRequestValid(invalidRequest));\n expect(valid).to.equal(false);\n });\n\n it('should pass when auId is hexadecimal', function () {\n const invalidRequest = {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '0123456789abcDEF',\n }\n };\n const valid = config.runWithBidder('adnuntius', () => spec.isBidRequestValid(invalidRequest));\n expect(valid).to.equal(true);\n });\n });\n\n describe('request deals', function () {\n it('Should set max deals.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius']\n });\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n expect(request[0]).to.have.property('data');\n const data = JSON.parse(request[0].data);\n expect(data.adUnits.length).to.equal(2);\n expect(bidderRequests[0].params.maxDeals).to.equal(1);\n expect(data.adUnits[0].maxDeals).to.equal(bidderRequests[0].params.maxDeals);\n expect(bidderRequests[1].params).to.not.have.property('maxBids');\n expect(data.adUnits[1].maxDeals).to.equal(undefined);\n });\n it('Should allow a maximum of 5 deals.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n });\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests([\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n network: 'adnuntius',\n maxDeals: 10\n }\n }\n ], {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n expect(request[0]).to.have.property('data');\n const data = JSON.parse(request[0].data);\n expect(data.adUnits.length).to.equal(1);\n expect(data.adUnits[0].maxDeals).to.equal(5);\n });\n it('Should allow a minimum of 0 deals.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n });\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests([\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n network: 'adnuntius',\n maxDeals: -1\n }\n }\n ], {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n expect(request[0]).to.have.property('data');\n const data = JSON.parse(request[0].data);\n expect(data.adUnits.length).to.equal(1);\n expect(data.adUnits[0].maxDeals).to.equal(undefined);\n });\n it('Should set max deals using bidder config.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n maxDeals: 2,\n useCookie: 'ignore-this',\n advertiserTransparency: 'ignore-this-as-well'\n }\n });\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL + '&ds=2');\n });\n it('Should allow a maximum of 5 deals when using bidder config.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n maxDeals: 6\n }\n });\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL + '&ds=5');\n });\n it('Should allow a minimum of 0 deals when using bidder config.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n maxDeals: -1\n }\n });\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n // The maxDeals value is ignored because it is less than zero\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n });\n\n describe('interpretResponse', function () {\n it('should return valid response when passed valid server response', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n bidType: 'netBid',\n maxDeals: 1\n }\n });\n\n const interpretedResponse = config.runWithBidder('adnuntius', () => spec.interpretResponse(serverResponse, singleBidRequest));\n expect(interpretedResponse).to.have.lengthOf(2);\n\n const deal = serverResponse.body.adUnits[0].deals[0];\n expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[0].cpm).to.equal(deal.netBid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(deal.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(deal.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(deal.creativeId);\n expect(interpretedResponse[0].currency).to.equal(deal.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(2);\n expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('fred.com');\n expect(interpretedResponse[0].meta.advertiserDomains[1]).to.equal('george.com');\n expect(interpretedResponse[0].ad).to.equal(serverResponse.body.adUnits[0].deals[0].html);\n expect(interpretedResponse[0].ttl).to.equal(360);\n expect(interpretedResponse[0].dealId).to.equal('abc123xyz');\n expect(interpretedResponse[0].dealCount).to.equal(1);\n\n const ad = serverResponse.body.adUnits[0].ads[0];\n expect(interpretedResponse[1].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[1].cpm).to.equal(ad.netBid.amount * 1000);\n expect(interpretedResponse[1].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[1].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[1].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[1].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[1].netRevenue).to.equal(false);\n expect(interpretedResponse[1].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[1].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[1].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[1].ad).to.equal(serverResponse.body.adUnits[0].html);\n expect(interpretedResponse[1].ttl).to.equal(360);\n expect(interpretedResponse[1].dealId).to.equal('not-in-deal-array-here');\n expect(interpretedResponse[1].dealCount).to.equal(0);\n\n const results = JSON.parse(storage.getDataFromLocalStorage('adn.metaData'));\n const usiEntry = results.find(entry => entry.key === 'usi' && entry.network === 'some-network-id');\n expect(usiEntry.key).to.equal('usi');\n expect(usiEntry.value).to.equal('from-api-server dude');\n expect(usiEntry.exp).to.be.greaterThan(getUnixTimestampFromNow(90));\n expect(usiEntry.network).to.equal('some-network-id')\n\n const voidAuIdsEntry = results.find(entry => entry.key === 'voidAuIds');\n expect(voidAuIdsEntry.key).to.equal('voidAuIds');\n expect(voidAuIdsEntry.exp).to.equal(undefined);\n expect(voidAuIdsEntry.value[0].auId).to.equal('00000000000abcde');\n expect(voidAuIdsEntry.value[0].exp).to.be.greaterThan(getUnixTimestampFromNow());\n expect(voidAuIdsEntry.value[0].exp).to.be.lessThan(getUnixTimestampFromNow(2));\n expect(voidAuIdsEntry.value[1].auId).to.equal('00000000000fffff');\n expect(voidAuIdsEntry.value[1].exp).to.be.greaterThan(getUnixTimestampFromNow());\n expect(voidAuIdsEntry.value[1].exp).to.be.lessThan(getUnixTimestampFromNow(2));\n\n const validEntry = results.find(entry => entry.key === 'valid');\n expect(validEntry.key).to.equal('valid');\n expect(validEntry.value).to.equal('also-valid');\n expect(validEntry.exp).to.be.greaterThan(getUnixTimestampFromNow());\n expect(validEntry.exp).to.be.lessThan(getUnixTimestampFromNow(2));\n\n const randomApiEntry = results.find(entry => entry.key === 'randomApiKey');\n expect(randomApiEntry.key).to.equal('randomApiKey');\n expect(randomApiEntry.value).to.equal('randomApiValue');\n expect(randomApiEntry.network).to.equal('some-network-id');\n expect(randomApiEntry.exp).to.be.greaterThan(getUnixTimestampFromNow(90));\n });\n\n it('should return valid response when passed valid multiformat server response', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n bidType: 'netBid',\n maxDeals: 0\n }\n });\n\n const interpretedResponse = config.runWithBidder('adnuntius', () => spec.interpretResponse(multiFormatServerResponse, multiBidAndFormatRequest));\n expect(interpretedResponse).to.have.lengthOf(3);\n\n let ad = multiFormatServerResponse.body.adUnits[0].ads[0];\n expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[0].cpm).to.equal(ad.netBid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].ad).to.equal(multiFormatServerResponse.body.adUnits[0].html);\n expect(interpretedResponse[0].ttl).to.equal(360);\n\n ad = multiFormatServerResponse.body.adUnits[4].ads[0];\n expect(interpretedResponse[1].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[1].cpm).to.equal(ad.netBid.amount * 1000);\n expect(interpretedResponse[1].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[1].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[1].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[1].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[1].netRevenue).to.equal(false);\n expect(interpretedResponse[1].ad).to.equal(multiFormatServerResponse.body.adUnits[4].html);\n expect(interpretedResponse[1].ttl).to.equal(360);\n\n ad = multiFormatServerResponse.body.adUnits[2].ads[0];\n expect(interpretedResponse[2].native).to.not.be.undefined;\n expect(interpretedResponse[2].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[2].cpm).to.equal(ad.netBid.amount * 1000);\n expect(interpretedResponse[2].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[2].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[2].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[2].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[2].netRevenue).to.equal(false);\n expect(interpretedResponse[2].ttl).to.equal(360);\n });\n\n it('should not process valid response when passed alt bidder that is an adndeal', function () {\n const altBidder = {\n bid: [\n {\n bidder: 'adndeal1',\n bidId: 'adn-0000000000000551',\n }\n ]\n };\n serverResponse.body.adUnits[0].deals = [];\n delete serverResponse.body.metaData.voidAuIds; // test response with no voidAuIds\n\n const interpretedResponse = spec.interpretResponse(serverResponse, altBidder);\n expect(interpretedResponse).to.have.lengthOf(0);\n\n serverResponse.body.adUnits[0].deals = deals;\n });\n\n it('should return valid response when passed alt bidder', function () {\n const altBidder = {\n bid: [\n {\n bidder: 'adn-alt',\n bidId: 'adn-0000000000000551',\n params: {\n bidType: 'netBid'\n }\n }\n ]\n };\n serverResponse.body.adUnits[0].deals = [];\n\n const interpretedResponse = spec.interpretResponse(serverResponse, altBidder);\n expect(interpretedResponse).to.have.lengthOf(1);\n\n const ad = serverResponse.body.adUnits[0].ads[0];\n expect(interpretedResponse[0].bidderCode).to.equal('adn-alt');\n expect(interpretedResponse[0].cpm).to.equal(ad.netBid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[0].ad).to.equal(serverResponse.body.adUnits[0].html);\n expect(interpretedResponse[0].ttl).to.equal(360);\n expect(interpretedResponse[0].dealId).to.equal('not-in-deal-array-here');\n expect(interpretedResponse[0].dealCount).to.equal(0);\n\n serverResponse.body.adUnits[0].deals = deals;\n });\n });\n\n describe('interpretVideoResponse', function () {\n it('should return valid response when passed valid server response', function () {\n const interpretedResponse = spec.interpretResponse(serverVideoResponse, videoBidRequest);\n const ad = serverVideoResponse.body.adUnits[0].ads[0]\n const deal = serverVideoResponse.body.adUnits[0].deals[0]\n expect(interpretedResponse).to.have.lengthOf(2);\n\n expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[0].cpm).to.equal(deal.bid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(deal.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(deal.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(deal.creativeId);\n expect(interpretedResponse[0].currency).to.equal(deal.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[0].vastXml).to.equal(deal.vastXml);\n expect(interpretedResponse[0].dealId).to.equal('abc123xyz');\n expect(interpretedResponse[0].dealCount).to.equal(1);\n\n expect(interpretedResponse[1].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[1].cpm).to.equal(ad.bid.amount * 1000);\n expect(interpretedResponse[1].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[1].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[1].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[1].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[1].netRevenue).to.equal(false);\n expect(interpretedResponse[1].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[1].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[1].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[1].vastXml).to.equal(serverVideoResponse.body.adUnits[0].vastXml);\n expect(interpretedResponse[1].dealId).to.equal('not-in-deal-array');\n expect(interpretedResponse[1].dealCount).to.equal(0);\n });\n });\n\n describe('Native ads handling', function () {\n it('should pass requests on correctly', function () {\n const request = spec.buildRequests(nativeBidderRequest.bid, {});\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"adType\":\"NATIVE\",\"nativeRequest\":{\"ortb\":{\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"type\":3,\"w\":250,\"h\":250}}]}},\"dimensions\":[[200,200],[300,300]]}]}');\n });\n\n it('should return valid response when passed valid server response', function () {\n const interpretedResponse = spec.interpretResponse(nativeResponse, nativeBidderRequest);\n const ad = nativeResponse.body.adUnits[0].ads[0]\n expect(interpretedResponse).to.have.lengthOf(1);\n\n expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[0].cpm).to.equal(ad.bid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[0].vastXml).to.equal(ad.vastXml);\n expect(JSON.stringify(interpretedResponse[0].native.ortb)).to.equal('{\"link\":{\"url\":\"https://whatever.com\"},\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"url\":\"http://something.com/something.png\"}}]}');\n });\n\n it('should pass legacy requests on correctly', function () {\n const request = spec.buildRequests(legacyNativeBidderRequest.bid, {});\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"adType\":\"NATIVE\",\"nativeRequest\":{\"ortb\":{\"ver\":\"1.2\",\"assets\":[{\"id\":0,\"required\":1,\"img\":{\"type\":3,\"w\":250,\"h\":250}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]},{\"event\":2,\"methods\":[1]}]}},\"dimensions\":[[200,200],[300,300]]}]}');\n });\n\n it('should return valid legacy response when passed valid server response', function () {\n const interpretedResponse = spec.interpretResponse(nativeResponse, legacyNativeBidderRequest);\n const ad = nativeResponse.body.adUnits[0].ads[0]\n expect(interpretedResponse).to.have.lengthOf(1);\n\n expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[0].cpm).to.equal(ad.bid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[0].vastXml).to.equal(ad.vastXml);\n expect(JSON.stringify(interpretedResponse[0].native)).to.equal('{\"clickUrl\":\"https://whatever.com\",\"icon\":{\"url\":\"http://something.com/something.png\"},\"impressionTrackers\":[]}');\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"adnuntiusBidAdapter_spec.js","names":["expect","spec","newBidder","config","utils","getStorageManager","getGlobal","deepClone","getUnixTimestampFromNow","getWinDimensions","describe","sandbox","sinon","createSandbox","URL","EURO_URL","usi","generateUUID","meta","key","value","auId","exp","network","storage","before","bidderSettings","adnuntius","storageAllowed","bidderCode","resetExpectedUrls","beforeEach","setDataInLocalStorage","JSON","stringify","afterEach","resetConfig","setBidderConfig","bidders","localStorage","removeItem","restore","after","tzo","Date","getTimezoneOffset","prebidVersion","version","screen","viewport","ENDPOINT_URL_BASE","ENDPOINT_URL","LOCALHOST_URL","ENDPOINT_URL_NOCOOKIE","ENDPOINT_URL_SEGMENTS","ENDPOINT_URL_CONSENT","winDimensions","availWidth","availHeight","innerWidth","innerHeight","expectUrlsEqual","actual","expected","a","parseUrl","e","protocol","host","pathname","to","equal","sortEntries","obj","Object","entries","sort","sortedExpectations","search","sortedActuals","i","length","expectation","expectationAsString","actualAsString","adapter","bidderRequests","bidId","bidder","params","targetId","maxDeals","mediaTypes","banner","sizes","videoBidderRequest","video","playerSize","context","legacyNativeBidderRequest","bid","native","image","required","nativeBidderRequest","ortb","assets","id","img","type","w","h","multiBidAndFormatRequest","bidType","multiBidderRequest","singleBidRequest","videoBidRequest","deals","nativeResponseBody","nativeResponse","body","nativeMultiFormatResponseBody","parse","multiFormatServerResponse","creativeWidth","creativeHeight","serverResponse","serverVideoResponse","it","callBids","exist","and","be","isBidRequestValid","window","pbjs","request","buildRequests","refererInfo","canonicalUrl","page","have","property","url","data","adUnits","dimensions","canonical","setConfig","env","runWithBidder","dealIdRequest","dealId","inventory","pmp","bidfloor","bidfloorcur","request2","bRequests","concat","push","adType","not","ortb2","user","name","segment","invalidSegment","targeting","segments","replace","countMatches","actualArray","expectedValue","filter","val","site","ext","kv","notright","gdprConsent","gdprApplies","consentString","undefined","req","bids","eids","source","uids","atype","some","userId","userIdAsEids","encodeURIComponent","useCookie","advertiserTransparency","invalidRequest","valid","interpretedResponse","interpretResponse","lengthOf","deal","cpm","netBid","amount","width","Number","height","creativeId","currency","netRevenue","advertiserDomains","ad","html","ttl","dealCount","ads","results","getDataFromLocalStorage","usiEntry","find","entry","greaterThan","voidAuIdsEntry","lessThan","validEntry","randomApiEntry","altBidder","metaData","voidAuIds","vastXml"],"sourceRoot":"../../../../..","sources":["test/spec/modules/adnuntiusBidAdapter_spec.js"],"sourcesContent":["import { expect } from 'chai';\nimport { spec } from 'modules/adnuntiusBidAdapter.js';\nimport { newBidder } from 'src/adapters/bidderFactory.js';\nimport { config } from 'src/config.js';\nimport * as utils from 'src/utils.js';\nimport { getStorageManager } from 'src/storageManager.js';\nimport { getGlobal } from '../../../src/prebidGlobal.js';\nimport {deepClone, getUnixTimestampFromNow} from 'src/utils.js';\nimport { getWinDimensions } from '../../../src/utils.js';\n\ndescribe('adnuntiusBidAdapter', function () {\n const sandbox = sinon.createSandbox();\n const URL = 'https://ads.adnuntius.delivery/i?tzo=';\n const EURO_URL = 'https://europe.delivery.adnuntius.com/i?tzo=';\n const usi = utils.generateUUID()\n\n const meta = [{ key: 'valueless' }, { value: 'keyless' }, { key: 'voidAuIds' }, { key: 'voidAuIds', value: [{ auId: '11118b6bc', exp: getUnixTimestampFromNow() }, { exp: getUnixTimestampFromNow(1) }] }, { key: 'valid-withnetwork', value: 'also-valid-network', network: 'the-network', exp: getUnixTimestampFromNow(1) }, { key: 'valid', value: 'also-valid', exp: getUnixTimestampFromNow(1) }, { key: 'expired', value: 'fwefew', exp: getUnixTimestampFromNow() }, { key: 'usi', value: 'should be skipped because timestamp', exp: getUnixTimestampFromNow(), network: 'adnuntius' }, { key: 'usi', value: usi, exp: getUnixTimestampFromNow(100), network: 'adnuntius' }, { key: 'usi', value: 'should be skipped because timestamp', exp: getUnixTimestampFromNow() }]\n let storage;\n\n before(() => {\n getGlobal().bidderSettings = {\n adnuntius: {\n storageAllowed: true\n }\n };\n storage = getStorageManager({ bidderCode: 'adnuntius' });\n resetExpectedUrls();\n });\n\n beforeEach(() => {\n storage.setDataInLocalStorage('adn.metaData', JSON.stringify(meta));\n resetExpectedUrls();\n });\n\n afterEach(function () {\n config.resetConfig();\n config.setBidderConfig({ bidders: [] });\n localStorage.removeItem('adn.metaData');\n sandbox.restore();\n resetExpectedUrls();\n });\n\n after(() => {\n getGlobal().bidderSettings = {};\n resetExpectedUrls();\n });\n\n const tzo = new Date().getTimezoneOffset();\n const prebidVersion = getGlobal().version;\n\n let screen;\n let viewport;\n let ENDPOINT_URL_BASE;\n let ENDPOINT_URL;\n let LOCALHOST_URL;\n let ENDPOINT_URL_NOCOOKIE;\n let ENDPOINT_URL_SEGMENTS;\n let ENDPOINT_URL_CONSENT;\n\n function resetExpectedUrls() {\n const winDimensions = getWinDimensions();\n screen = winDimensions.screen.availWidth + 'x' + winDimensions.screen.availHeight;\n viewport = winDimensions.innerWidth + 'x' + winDimensions.innerHeight;\n ENDPOINT_URL_BASE = `${URL}${tzo}&format=prebid&pbv=${prebidVersion}&screen=${screen}&viewport=${viewport}`;\n ENDPOINT_URL = `${ENDPOINT_URL_BASE}&userId=${usi}`;\n LOCALHOST_URL = `http://localhost:8078/i?tzo=${tzo}&format=prebid&pbv=${prebidVersion}&screen=${screen}&viewport=${viewport}&userId=${usi}`;\n ENDPOINT_URL_NOCOOKIE = `${ENDPOINT_URL_BASE}&userId=${usi}&noCookies=true`;\n ENDPOINT_URL_SEGMENTS = `${ENDPOINT_URL_BASE}&segments=segment1,segment2,segment3&userId=${usi}`;\n ENDPOINT_URL_CONSENT = `${EURO_URL}${tzo}&format=prebid&pbv=${prebidVersion}&consentString=consentString&gdpr=1&screen=${screen}&viewport=${viewport}&userId=${usi}`;\n }\n\n function expectUrlsEqual(actual, expected) {\n const a = utils.parseUrl(actual);\n const e = utils.parseUrl(expected);\n expect(a.protocol + '://' + a.host + a.pathname).to.equal(e.protocol + '://' + e.host + e.pathname);\n const sortEntries = obj => Object.entries(obj).sort();\n const sortedExpectations = sortEntries(a.search);\n const sortedActuals = sortEntries(e.search);\n for (let i = 0; i < sortedExpectations.length; i++) {\n const expectation = sortedExpectations[i];\n const actual = sortedActuals[i];\n\n const expectationAsString = expectation[0] + \":\" + expectation[1];\n const actualAsString = actual[0] + \":\" + actual[1];\n expect(expectationAsString).to.equal(actualAsString);\n }\n expect(sortedExpectations.length).to.equal(sortedActuals.length);\n }\n\n const adapter = newBidder(spec);\n\n const bidderRequests = [\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n targetId: '123',\n network: 'adnuntius',\n maxDeals: 1\n },\n mediaTypes: {\n banner: {\n sizes: [[640, 480], [600, 400]],\n }\n },\n },\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n banner: {\n sizes: [[1640, 1480], [1600, 1400]],\n }\n },\n }\n ]\n\n const videoBidderRequest = [\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n video: {\n playerSize: [640, 480],\n context: 'instream'\n }\n },\n }\n ];\n\n const legacyNativeBidderRequest = {bid: [\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n native: {\n sizes: [[200, 200], [300, 300]],\n image: {\n required: true,\n sizes: [250, 250]\n }\n }\n }\n }]};\n\n const nativeBidderRequest = {bid: [\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n native: {\n sizes: [[200, 200], [300, 300]],\n ortb: {\n assets: [{\n id: 1,\n required: 1,\n img: {\n type: 3,\n w: 250,\n h: 250,\n }\n }]\n }\n }\n },\n }\n ]};\n\n const multiBidAndFormatRequest = {\n bid: [{\n bidder: 'adnuntius',\n bidId: '3a602680158a85',\n params: {\n auId: '381535',\n network: '1287',\n bidType: 'netBid',\n },\n mediaTypes: {\n banner: {\n sizes: [[200, 200]]\n },\n video: {\n playerSize: [200, 200],\n context: 'instream'\n }\n }\n },\n {\n bidder: 'adnuntius',\n bidId: 'fewwef',\n params: {\n auId: '381535',\n network: '1287',\n bidType: 'netBid',\n targetId: 'fred',\n },\n mediaTypes: {\n banner: {\n sizes: [[200, 200]]\n },\n video: {\n playerSize: [200, 200],\n context: 'instream'\n },\n native: {\n ortb: {\n assets: [{\n id: 1,\n required: 1,\n img: {\n type: 3,\n w: 150,\n h: 50,\n }\n }]\n }\n }\n }\n },\n {\n bidder: 'adnuntius',\n bidId: 'pol',\n params: {\n auId: '381535',\n network: '1287',\n bidType: 'netBid',\n targetId: 'alt',\n },\n mediaTypes: {\n banner: {\n sizes: [[200, 200]]\n },\n video: {\n playerSize: [200, 200],\n context: 'instream'\n },\n native: {\n ortb: {\n assets: [{\n id: 1,\n required: 1,\n img: {\n type: 3,\n w: 150,\n h: 50,\n }\n }]\n }\n }\n }\n }]\n };\n\n const multiBidderRequest = [\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n video: {\n playerSize: [640, 480],\n context: 'instream'\n },\n banner: {\n sizes: [[1640, 1480], [1600, 1400]],\n }\n },\n }\n ];\n\n const singleBidRequest = {\n bid: [\n {\n bidder: 'adnuntius',\n bidId: 'adn-0000000000000551',\n }\n ]\n };\n\n const videoBidRequest = {\n bid: videoBidderRequest,\n bidder: 'adnuntius',\n params: {\n bidType: 'justsomestuff-error-handling'\n }\n };\n\n const deals = [\n {\n 'destinationUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fc%2FyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com',\n 'assets': {\n 'Image': {\n 'cdnId': 'https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png',\n 'width': '640',\n 'height': '480'\n }\n },\n 'text': {},\n 'choices': {},\n 'clickUrl': 'https://ads.adnuntius.delivery/c/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'urls': {\n 'destination': 'https://ads.adnuntius.delivery/c/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com'\n },\n 'urlsEsc': {\n 'destination': 'https%3A%2F%2Fads.adnuntius.delivery%2Fc%2FyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com'\n },\n 'advertiserDomains': ['fred.com', 'george.com'],\n 'destinationUrls': {\n 'destination': 'https://adnuntius.com'\n },\n 'cpm': {\n 'amount': 9,\n 'currency': 'USD'\n },\n 'bid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'grossBid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'netBid': {\n 'amount': 0.0081,\n 'currency': 'USD'\n },\n 'dealId': 'abc123xyz',\n 'impressionTrackingUrls': [],\n 'impressionTrackingUrlsEsc': [],\n 'adId': 'adn-id-1064238860',\n 'selectedColumn': '0',\n 'selectedColumnPosition': '0',\n 'renderedPixel': 'https://ads.adnuntius.delivery/b/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg.html',\n 'renderedPixelEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fb%2FyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg.html',\n 'visibleUrl': 'https://ads.adnuntius.delivery/s?rt=yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'visibleUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fs%3Frt%3DyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'viewUrl': 'https://ads.adnuntius.delivery/v?rt=yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'viewUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fv%3Frt%3DyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'rt': 'yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',\n 'creativeWidth': '640',\n 'creativeHeight': '480',\n 'creativeId': 's90t0q03pm',\n 'lineItemId': 'cr3hnkkxhnkw9ldy',\n 'layoutId': 'buyers_network_image_layout_1',\n 'layoutName': 'Image',\n 'layoutExternalReference': '',\n 'html': \"<!DOCTYPE html>\\n<html>\\n<head>\\n <meta charset=\\\"utf-8\\\">\\n <style media=\\\"all\\\">\\n html, body, .responseCtr {\\n margin: 0;\\n padding: 0;\\n outline: 0;\\n border: 0;\\n overflow: hidden;\\n }\\n\\n .responseCtr {\\n display: inline-block;\\n line-height: 0;\\n vertical-align: top;\\n }\\n\\n .responseCtr a {\\n line-height: 0;\\n }\\n\\n .responseCtr *, .responseCtr a * {\\n line-height: normal;\\n }\\n\\n .responseCtr .contentWrapperPerItem {\\n margin: 0;\\n padding: 0;\\n outline: 0;\\n border: 0;\\n display: inline-block;\\n line-height: 0;\\n vertical-align: top;\\n }\\n\\n a img {\\n border: none;\\n outline: none;\\n }\\n\\n img {\\n margin: 0;\\n padding: 0;\\n }\\n\\n /* need this displayNone class to ensure images are preloaded for smooth transition */\\n img.displayNone {\\n position: absolute;\\n top: -99999px;\\n left: -99999px;\\n }\\n\\n .contentWrapperTrailer {\\n clear: both;\\n }\\n </style>\\n <script src=\\\"https://cdn.adnuntius.com/adn.js\\\"></script>\\n</head>\\n<body>\\n<div id=\\\"adn-rsp--91674201\\\" class=\\\"responseCtr\\\">\\n<div class=\\\"contentWrapperPerItem\\\" id=\\\"adn-id-1064238860\\\" data-line-item-id=\\\"cr3hnkkxhnkw9ldy\\\" data-creative-id=\\\"s90t0q03pm\\\" data-creative-width=\\\"100\\\" data-creative-height=\\\"30\\\" data-response-token=\\\"yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg\\\"><a rel=\\\"nofollow\\\" target=\\\"_top\\\" href=\\\"https://ads.adnuntius.delivery/c/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com\\\"><img src=\\\"https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png\\\" width=\\\"728\\\" height=\\\"90\\\" alt=\\\"\\\"/></a><div class=\\\"contentWrapperTrailer\\\"></div></div>\\n</div><script>\\n //<![CDATA[\\n (function() {\\n var impTrackers = [];impTrackers.push(\\\"https://ads.adnuntius.delivery/b/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg.html\\\");var body = document.getElementsByTagName(\\\"body\\\")[0];\\n for (var i = 0; i < impTrackers.length; i++) {\\n var impTracker = impTrackers[i];\\n var ifr = document.createElement(\\\"iframe\\\");\\n ifr.src = impTracker + (impTracker.match(/\\\\?/) ? '&' : '?') + 'cb=' + Math.random();\\n ifr.setAttribute(\\\"scrolling\\\", \\\"no\\\");\\n ifr.setAttribute(\\\"frameborder\\\", \\\"0\\\");\\n ifr.setAttribute(\\\"width\\\", \\\"1\\\");\\n ifr.setAttribute(\\\"height\\\", \\\"1\\\");\\n ifr.setAttribute(\\\"style\\\", \\\"position:absolute;top:-10000px;left:-100000px;\\\");\\n body.appendChild(ifr);\\n }\\n })();\\n //]]>\\n </script>\\n \\n<script>\\n//<![CDATA[\\n(function() {\\n var matchedAdCount = 1;\\n if (window.adn && adn.inIframe && adn.inIframe.processAdResponse) {\\n return adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\\n }\\n window.adn = window.adn || {};\\n adn.calls = adn.calls || [];\\n adn.calls.push(function() {\\n adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\\n });\\n})();\\n//]]>\\n</script></body>\\n</html>\",\n 'renderTemplate': '<a rel=\"nofollow\" target=\"_top\" href=\"{{{urls.destination.url}}}\"><img src=\"{{{assets.Image.cdnId}}}\" width=\"{{assets.Image.width}}\" height=\"{{assets.Image.height}}\" alt=\"\"/></a>'\n }\n ];\n\n const nativeResponseBody = [\n {\n 'auId': '0000000000000551',\n 'targetId': 'adn-0000000000000551',\n 'nativeJson': {\n 'ortb': {\n 'link': {\n 'url': 'https://whatever.com'\n },\n 'assets': [\n {\n 'id': 1,\n 'required': 1,\n 'img': {\n 'url': 'http://something.com/something.png'\n }\n }]\n }\n },\n 'matchedAdCount': 1,\n 'responseId': '',\n 'ads': [\n {\n 'advertiserDomains': ['adnuntius.com'],\n 'creativeWidth': 640,\n 'creativeHeight': 640,\n 'cpm': {\n 'amount': 2000,\n 'currency': 'NOK'\n },\n 'bid': {\n 'amount': 2,\n 'currency': 'NOK'\n },\n 'grossBid': {\n 'amount': 2,\n 'currency': 'NOK'\n },\n 'netBid': {\n 'amount': 2,\n 'currency': 'NOK'\n },\n 'cost': {\n 'amount': 2,\n 'currency': 'NOK'\n },\n 'assets': {\n 'img': {\n 'cdnId': 'http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4',\n 'width': '1920',\n 'height': '1080'\n }\n },\n }\n ]\n }\n ];\n\n const nativeResponse = {\n body: {\n 'adUnits': nativeResponseBody\n }\n };\n\n const nativeMultiFormatResponseBody = JSON.parse(JSON.stringify(nativeResponseBody[0]));\n nativeMultiFormatResponseBody.auId = '0000000000381535';\n nativeMultiFormatResponseBody.targetId = 'alt-native';\n\n const multiFormatServerResponse = {\n body: {\n 'adUnits': [\n {\n 'auId': '0000000000381535',\n 'targetId': '3a602680158a85-video',\n 'vastXml': '<VAST </Ad>\\n</VAST>',\n 'matchedAdCount': 1,\n 'responseId': 'adn-rsp-453419729',\n 'ads': [\n {\n 'cpm': {\n 'amount': 12500.0,\n 'currency': 'NOK'\n },\n 'bid': {\n 'amount': 5,\n 'currency': 'NOK'\n },\n 'grossBid': {\n 'amount': 5,\n 'currency': 'NOK'\n },\n 'netBid': {\n 'amount': 5,\n 'currency': 'NOK'\n },\n 'cost': {\n 'amount': 5,\n 'currency': 'NOK'\n },\n creativeWidth: 200,\n creativeHeight: 240,\n 'adId': 'adn-id-615465411',\n 'vastXml': '<Ad </Ad>'\n }\n ]\n },\n {\n 'auId': '0000000000381535',\n 'targetId': 'fred-video',\n 'vastXml': '<VAST \\n</VAST>',\n 'matchedAdCount': 1,\n 'responseId': 'adn-rsp--1809523040',\n 'ads': [\n {\n 'cpm': {\n 'amount': 1500.0,\n 'currency': 'NOK'\n },\n 'bid': {\n 'amount': 1.5,\n 'currency': 'NOK'\n },\n 'grossBid': {\n 'amount': 1.5,\n 'currency': 'NOK'\n },\n 'netBid': {\n 'amount': 1.5,\n 'currency': 'NOK'\n },\n 'cost': {\n 'amount': 1.5,\n 'currency': 'NOK'\n },\n creativeWidth: 200,\n creativeHeight: 240,\n 'adId': 'adn-id-344789675',\n 'selectedColumn': '0',\n 'selectedColumnPosition': '0',\n 'vastXml': '<Ad id=\\'adn-id-344789675\\'></InLine>\\n</Ad>',\n }\n ]\n },\n nativeMultiFormatResponseBody,\n {\n 'auId': '0000000000381535',\n 'targetId': '3a602680158a85',\n 'html': '\\u003C!DOCTYPE html\\u003E\\n\\n\\u003C/html\\u003E',\n 'matchedAdCount': 0,\n 'responseId': '',\n 'ads': []\n },\n {\n 'auId': '0000000000381535',\n 'renderOption': 'DIV',\n 'targetId': 'fred',\n 'html': '\\u003C!DOCTYPE html\\u003E\\n\\u003C\\u003E\\n\\u003C/html\\u003E',\n 'matchedAdCount': 1,\n 'responseId': 'adn-rsp-1620340740',\n 'ads': [\n {\n 'destinationUrlEsc': '',\n 'cpm': {\n 'amount': 1250.0,\n 'currency': 'NOK'\n },\n creativeWidth: 200,\n creativeHeight: 240,\n 'bid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'grossBid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'netBid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'cost': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'html': '\\u003Ca \\'\\u003E\\u003C/script\\u003E',\n }\n ]\n },\n {\n 'auId': '0000000000381535',\n 'renderOption': 'DIV',\n 'targetId': 'alt',\n 'html': '\\u003C!DOCTYPE html\\u003E\\n\\u003C\\u003E\\n\\u003C/html\\u003E',\n 'matchedAdCount': 1,\n 'responseId': 'adn-rsp-1620340740',\n 'ads': [\n {\n 'destinationUrlEsc': '',\n 'cpm': {\n 'amount': 1000.0,\n 'currency': 'NOK'\n },\n creativeWidth: 200,\n creativeHeight: 240,\n 'bid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'grossBid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'netBid': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'cost': {\n 'amount': 1.75,\n 'currency': 'NOK'\n },\n 'html': '\\u003Ca \\'\\u003E\\u003C/script\\u003E',\n }\n ]\n }\n ],\n 'network': '1287',\n 'keywords': []\n }\n };\n\n const serverResponse = {\n body: {\n 'adUnits': [\n {\n 'auId': '0000000000000551',\n 'targetId': 'adn-0000000000000551',\n 'html': \"<!DOCTYPE html>\\n<html>\\n<head>\\n <meta charset=\\\"utf-8\\\">\\n <style media=\\\"all\\\">\\n html, body, .responseCtr {\\n margin: 0;\\n padding: 0;\\n outline: 0;\\n border: 0;\\n overflow: hidden;\\n }\\n\\n .responseCtr {\\n display: inline-block;\\n line-height: 0;\\n vertical-align: top;\\n }\\n\\n .responseCtr a {\\n line-height: 0;\\n }\\n\\n .responseCtr *, .responseCtr a * {\\n line-height: normal;\\n }\\n\\n .responseCtr .contentWrapperPerItem {\\n margin: 0;\\n padding: 0;\\n outline: 0;\\n border: 0;\\n display: inline-block;\\n line-height: 0;\\n vertical-align: top;\\n }\\n\\n a img {\\n border: none;\\n outline: none;\\n }\\n\\n img {\\n margin: 0;\\n padding: 0;\\n }\\n\\n /* need this displayNone class to ensure images are preloaded for smooth transition */\\n img.displayNone {\\n position: absolute;\\n top: -99999px;\\n left: -99999px;\\n }\\n\\n .contentWrapperTrailer {\\n clear: both;\\n }\\n </style>\\n <script src=\\\"https://cdn.adnuntius.com/adn.js\\\"></script>\\n</head>\\n<body>\\n<div id=\\\"adn-rsp--229633088\\\" class=\\\"responseCtr\\\">\\n<div class=\\\"contentWrapperPerItem\\\" id=\\\"adn-id-1488629603\\\" data-line-item-id=\\\"cr3hnkkxhnkw9ldy\\\" data-creative-id=\\\"s90t0q03pm\\\" data-creative-width=\\\"100\\\" data-creative-height=\\\"30\\\" data-response-token=\\\"5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg\\\"><a rel=\\\"nofollow\\\" target=\\\"_top\\\" href=\\\"https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com\\\"><img src=\\\"https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png\\\" width=\\\"728\\\" height=\\\"90\\\" alt=\\\"\\\"/></a><div class=\\\"contentWrapperTrailer\\\"></div></div>\\n</div><script>\\n //<![CDATA[\\n (function() {\\n var impTrackers = [];impTrackers.push(\\\"https://ads.adnuntius.delivery/b/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg.html\\\");var body = document.getElementsByTagName(\\\"body\\\")[0];\\n for (var i = 0; i < impTrackers.length; i++) {\\n var impTracker = impTrackers[i];\\n var ifr = document.createElement(\\\"iframe\\\");\\n ifr.src = impTracker + (impTracker.match(/\\\\?/) ? '&' : '?') + 'cb=' + Math.random();\\n ifr.setAttribute(\\\"scrolling\\\", \\\"no\\\");\\n ifr.setAttribute(\\\"frameborder\\\", \\\"0\\\");\\n ifr.setAttribute(\\\"width\\\", \\\"1\\\");\\n ifr.setAttribute(\\\"height\\\", \\\"1\\\");\\n ifr.setAttribute(\\\"style\\\", \\\"position:absolute;top:-10000px;left:-100000px;\\\");\\n body.appendChild(ifr);\\n }\\n })();\\n //]]>\\n </script>\\n \\n<script>\\n//<![CDATA[\\n(function() {\\n var matchedAdCount = 1;\\n if (window.adn && adn.inIframe && adn.inIframe.processAdResponse) {\\n return adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\\n }\\n window.adn = window.adn || {};\\n adn.calls = adn.calls || [];\\n adn.calls.push(function() {\\n adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\\n });\\n})();\\n//]]>\\n</script></body>\\n</html>\",\n 'matchedAdCount': 1,\n 'responseId': 'adn-rsp--229633088',\n 'deals': deals,\n 'ads': [\n {\n 'destinationUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fc%2F5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com',\n 'assets': {\n 'Image': {\n 'cdnId': 'https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png',\n 'width': '640',\n 'height': '480'\n }\n },\n 'dealId': 'not-in-deal-array-here',\n 'text': {},\n 'choices': {},\n 'clickUrl': 'https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'urls': {\n 'destination': 'https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com'\n },\n 'urlsEsc': {\n 'destination': 'http%3A%2F%2Fads.adnuntius.delivery%2Fc%2F5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com'\n },\n 'destinationUrls': {\n 'destination': 'https://adnuntius.com'\n },\n 'cpm': {\n 'amount': 9,\n 'currency': 'USD'\n },\n 'bid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'grossBid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'netBid': {\n 'amount': 0.0081,\n 'currency': 'USD'\n },\n 'impressionTrackingUrls': [],\n 'impressionTrackingUrlsEsc': [],\n 'adId': 'adn-id-1488629603',\n 'selectedColumn': '0',\n 'selectedColumnPosition': '0',\n 'renderedPixel': 'https://ads.adnuntius.delivery/b/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg.html',\n 'renderedPixelEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fb%2F5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg.html',\n 'visibleUrl': 'https://ads.adnuntius.delivery/s?rt=5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'visibleUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fs%3Frt%3D5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'viewUrl': 'https://ads.adnuntius.delivery/v?rt=5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'viewUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fv%3Frt%3D5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'rt': '5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',\n 'creativeWidth': '640',\n 'creativeHeight': '480',\n 'creativeId': 's90t0q03pm',\n 'lineItemId': 'cr3hnkkxhnkw9ldy',\n 'layoutId': 'buyers_network_image_layout_1',\n 'layoutName': 'Image',\n 'layoutExternalReference': '',\n 'html': '<a rel=\"nofollow\" target=\"_top\" href=\"https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com\"><img src=\"https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png\" width=\"728\" height=\"90\" alt=\"\"/></a>',\n 'renderTemplate': '<a rel=\"nofollow\" target=\"_top\" href=\"{{{urls.destination.url}}}\"><img src=\"{{{assets.Image.cdnId}}}\" width=\"{{assets.Image.width}}\" height=\"{{assets.Image.height}}\" alt=\"\"/></a>'\n }\n ]\n },\n {\n 'auId': '000000000008b6bc',\n 'targetId': 'adn-000000000008b6bc',\n 'matchedAdCount': 0,\n 'responseId': 'adn-rsp-1460129238',\n }\n ],\n 'metaData': {\n 'usi': 'from-api-server dude',\n 'voidAuIds': '00000000000abcde;00000000000fffff',\n 'randomApiKey': 'randomApiValue'\n },\n 'network': 'some-network-id'\n }\n }\n const serverVideoResponse = {\n body: {\n 'adUnits': [\n {\n 'auId': '0000000000000551',\n 'targetId': 'adn-0000000000000551',\n 'vastXml': '<VAST version=\\\\\"3.0\\\\\">\\\\n<Ad id=\\\\\"adn-id-500662301\\\\\">\\\\n <InLine>\\\\n <AdSystem>Adnuntius</AdSystem>\\\\n <AdTitle>adn-id-500662301</AdTitle>\\\\n <Impression></Impression>\\\\n <Creatives>\\\\n <Creative>\\\\n <Linear>\\\\n <Duration>00:00:15</Duration>\\\\n <TrackingEvents>\\\\n <Tracking event=\\\\\"creativeView\\\\\"><![CDATA[http://localhost:8078/b/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html]]></Tracking>\\\\n <Tracking event=\\\\\"start\\\\\"><![CDATA[http://localhost:8078/s?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\\\\n <Tracking event=\\\\\"firstQuartile\\\\\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\\\n <Tracking event=\\\\\"midpoint\\\\\"><![CDATA[http://localhost:8078/v?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\\\\n <Tracking event=\\\\\"thirdQuartile\\\\\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\\\n <Tracking event=\\\\\"complete\\\\\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\\\n </TrackingEvents>\\\\n <VideoClicks>\\\\n <ClickThrough><![CDATA[http://adnuntius.com]]></ClickThrough>\\\\n <ClickTracking><![CDATA[http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></ClickTracking>\\\\n </VideoClicks>\\\\n <MediaFiles>\\\\n <MediaFile delivery=\\\\\"progressive\\\\\" type=\\\\\"video/mp4\\\\\" bitrate=\\\\\"92421\\\\\" width=\\\\\"1920\\\\\" height=\\\\\"1080\\\\\" scalable=\\\\\"true\\\\\" maintainAspectRatio=\\\\\"true\\\\\">\\\\n <![CDATA[http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4]]>\\\\n </MediaFile>\\\\n </MediaFiles>\\\\n </Linear>\\\\n </Creative>\\\\n </Creatives>\\\\n </InLine>\\\\n</Ad>\\\\n</VAST>',\n 'matchedAdCount': 1,\n 'responseId': '',\n 'deals': [\n {\n 'destinationUrlEsc': '',\n 'assets': {\n 'Video': {\n 'cdnId': 'http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4',\n 'width': '1920',\n 'height': '1080'\n }\n },\n 'text': {\n 'thirdQuartile': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n },\n 'complete': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n },\n 'firstQuartile': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n }\n },\n 'choices': {},\n 'clickUrl': 'http://localhost:8078/c/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'urls': {\n 'destinationUrl': 'http://localhost:8078/c/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg?ct=682&r=http%3A%2F%2Fadnuntius.com'\n },\n 'urlsEsc': {\n 'destinationUrl': 'http%3A%2F%2Flocalhost%3A8078%2Fc%2F7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg%3Fct%3D682%26r%3Dhttp%253A%252F%252Fadnuntius.com'\n },\n 'destinationUrls': {\n 'destinationUrl': 'http://adnuntius.com'\n },\n 'cpm': {\n 'amount': 9,\n 'currency': 'USD'\n },\n 'bid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'grossBid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'netBid': {\n 'amount': 0.0081,\n 'currency': 'USD'\n },\n 'dealId': 'abc123xyz',\n 'impressionTrackingUrls': [],\n 'impressionTrackingUrlsEsc': [],\n 'adId': 'adn-id-1465065992',\n 'selectedColumn': '0',\n 'selectedColumnPosition': '0',\n 'renderedPixel': 'http://localhost:8078/b/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg.html',\n 'renderedPixelEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fb%2F7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg.html',\n 'visibleUrl': 'http://localhost:8078/s?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'visibleUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fs%3Frt%3D7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'viewUrl': 'http://localhost:8078/v?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'viewUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fv%3Frt%3D7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'rt': '7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',\n 'creativeWidth': '640',\n 'creativeHeight': '480',\n 'creativeId': 'p6sqtvcgxczy258j',\n 'lineItemId': 'cr3hnkkxhnkw9ldy',\n 'layoutId': 'buyers_networkvast_single_format_layout',\n 'layoutName': 'Vast (video upload)',\n 'layoutExternalReference': '',\n 'vastXml': '<VAST version=\"3.0\">\\n<Ad id=\"adn-id-1465065992\">\\n <InLine>\\n <AdSystem>Adnuntius</AdSystem>\\n <AdTitle>adn-id-1465065992</AdTitle>\\n <Impression></Impression>\\n <Creatives>\\n <Creative>\\n <Linear>\\n <Duration>00:00:15</Duration>\\n <TrackingEvents>\\n <Tracking event=\"creativeView\"><![CDATA[http://localhost:8078/b/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg.html]]></Tracking>\\n <Tracking event=\"start\"><![CDATA[http://localhost:8078/s?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg]]></Tracking>\\n <Tracking event=\"firstQuartile\"><![CDATA[https://localhost:8078/u?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg&customType=whatevs]]></Tracking>\\n <Tracking event=\"midpoint\"><![CDATA[http://localhost:8078/v?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg]]></Tracking>\\n <Tracking event=\"thirdQuartile\"><![CDATA[https://localhost:8078/u?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg&customType=whatevs]]></Tracking>\\n <Tracking event=\"complete\"><![CDATA[https://localhost:8078/u?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg&customType=whatevs]]></Tracking>\\n </TrackingEvents>\\n <VideoClicks>\\n <ClickThrough><![CDATA[http://adnuntius.com]]></ClickThrough>\\n <ClickTracking><![CDATA[http://localhost:8078/c/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg]]></ClickTracking>\\n </VideoClicks>\\n <MediaFiles>\\n <MediaFile delivery=\"progressive\" type=\"video/mp4\" bitrate=\"92421\" width=\"1920\" height=\"1080\" scalable=\"true\" maintainAspectRatio=\"true\">\\n <![CDATA[http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4]]>\\n </MediaFile>\\n </MediaFiles>\\n </Linear>\\n </Creative>\\n </Creatives>\\n </InLine>\\n</Ad>\\n</VAST>',\n 'renderTemplate': '<Ad id=\"{{adId}}\">\\n <InLine>\\n <AdSystem>Adnuntius</AdSystem>\\n <AdTitle>{{{adId}}}</AdTitle>\\n <Impression></Impression>\\n <Creatives>\\n <Creative>{{#ifEquals vastVersion \"4.0\"}}\\n <UniversalAdId idRegistry=\"unknown\" idValue=\"unknown\"></UniversalAdId>{{/ifEquals}}\\n <Linear>\\n <Duration>{{assets.Video.duration}}</Duration>\\n <TrackingEvents>\\n <Tracking event=\"creativeView\"><![CDATA[{{{renderedPixel}}}]]></Tracking>\\n <Tracking event=\"start\"><![CDATA[{{{visibleUrl}}}]]></Tracking>{{#unless preview}}{{#each impressionTrackingUrls}}\\n <Tracking event=\"start\"><![CDATA[{{{this}}}]]></Tracking>{{/each}}{{/unless}}{{#if text.firstQuartile.content}}\\n <Tracking event=\"firstQuartile\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.firstQuartile.content}}]]></Tracking>{{/if}}\\n <Tracking event=\"midpoint\"><![CDATA[{{{viewUrl}}}]]></Tracking>{{#if text.thirdQuartile.content}}\\n <Tracking event=\"thirdQuartile\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.thirdQuartile.content}}]]></Tracking>{{/if}}{{#if text.complete.content}}\\n <Tracking event=\"complete\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.complete.content}}]]></Tracking>{{/if}}\\n </TrackingEvents>\\n <VideoClicks>\\n <ClickThrough><![CDATA[{{{urls.destinationUrl.destinationUrl}}}]]></ClickThrough>\\n <ClickTracking><![CDATA[{{{clickUrl}}}]]></ClickTracking>\\n </VideoClicks>\\n <MediaFiles>\\n <MediaFile delivery=\"progressive\" type=\"{{assets.Video.mimeType}}\" bitrate=\"{{assets.Video.bps}}\" width=\"{{assets.Video.width}}\" height=\"{{assets.Video.height}}\" scalable=\"true\" maintainAspectRatio=\"true\">\\n <![CDATA[{{{assets.Video.cdnId}}}]]>\\n </MediaFile>\\n </MediaFiles>\\n </Linear>\\n </Creative>\\n </Creatives>\\n </InLine>\\n</Ad>'\n }\n ],\n 'ads': [\n {\n 'destinationUrlEsc': '',\n 'dealId': 'not-in-deal-array',\n 'assets': {\n 'Video': {\n 'cdnId': 'http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4',\n 'width': '1920',\n 'height': '1080'\n }\n },\n 'text': {\n 'thirdQuartile': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n },\n 'complete': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n },\n 'firstQuartile': {\n 'content': 'whatevs',\n 'length': '7',\n 'minLength': '1',\n 'maxLength': '64'\n }\n },\n 'choices': {},\n 'clickUrl': 'http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'urls': {\n 'destinationUrl': 'http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX?ct=682&r=http%3A%2F%2Fadnuntius.com'\n },\n 'urlsEsc': {\n 'destinationUrl': 'http%3A%2F%2Flocalhost%3A8078%2Fc%2FZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX%3Fct%3D682%26r%3Dhttp%253A%252F%252Fadnuntius.com'\n },\n 'destinationUrls': {\n 'destinationUrl': 'http://adnuntius.com'\n },\n 'cpm': {\n 'amount': 9,\n 'currency': 'USD'\n },\n 'bid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'grossBid': {\n 'amount': 0.009,\n 'currency': 'USD'\n },\n 'netBid': {\n 'amount': 0.0081,\n 'currency': 'USD'\n },\n 'impressionTrackingUrls': [],\n 'impressionTrackingUrlsEsc': [],\n 'adId': 'adn-id-500662301',\n 'selectedColumn': '0',\n 'selectedColumnPosition': '0',\n 'renderedPixel': 'http://localhost:8078/b/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html',\n 'renderedPixelEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fb%2FZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html',\n 'visibleUrl': 'http://localhost:8078/s?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'visibleUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fs%3Frt%3DZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'viewUrl': 'http://localhost:8078/v?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'viewUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fv%3Frt%3DZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'rt': 'ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',\n 'creativeWidth': '640',\n 'creativeHeight': '480',\n 'creativeId': 'p6sqtvcgxczy258j',\n 'lineItemId': 'cr3hnkkxhnkw9ldy',\n 'layoutId': 'buyers_networkvast_single_format_layout',\n 'layoutName': 'Vast (video upload)',\n 'layoutExternalReference': '',\n 'vastXml': '<Ad id=\"adn-id-500662301\">\\n <InLine>\\n <AdSystem>Adnuntius</AdSystem>\\n <AdTitle>adn-id-500662301</AdTitle>\\n <Impression></Impression>\\n <Creatives>\\n <Creative>\\n <Linear>\\n <Duration>00:00:15</Duration>\\n <TrackingEvents>\\n <Tracking event=\"creativeView\"><![CDATA[http://localhost:8078/b/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html]]></Tracking>\\n <Tracking event=\"start\"><![CDATA[http://localhost:8078/s?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\\n <Tracking event=\"firstQuartile\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\n <Tracking event=\"midpoint\"><![CDATA[http://localhost:8078/v?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\\n <Tracking event=\"thirdQuartile\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\n <Tracking event=\"complete\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\n </TrackingEvents>\\n <VideoClicks>\\n <ClickThrough><![CDATA[http://adnuntius.com]]></ClickThrough>\\n <ClickTracking><![CDATA[http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></ClickTracking>\\n </VideoClicks>\\n <MediaFiles>\\n <MediaFile delivery=\"progressive\" type=\"video/mp4\" bitrate=\"92421\" width=\"1920\" height=\"1080\" scalable=\"true\" maintainAspectRatio=\"true\">\\n <![CDATA[http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4]]>\\n </MediaFile>\\n </MediaFiles>\\n </Linear>\\n </Creative>\\n </Creatives>\\n </InLine>\\n</Ad>',\n 'renderTemplate': '<Ad id=\"{{adId}}\">\\n <InLine>\\n <AdSystem>Adnuntius</AdSystem>\\n <AdTitle>{{{adId}}}</AdTitle>\\n <Impression></Impression>\\n <Creatives>\\n <Creative>{{#ifEquals vastVersion \"4.0\"}}\\n <UniversalAdId idRegistry=\"unknown\" idValue=\"unknown\"></UniversalAdId>{{/ifEquals}}\\n <Linear>\\n <Duration>{{assets.Video.duration}}</Duration>\\n <TrackingEvents>\\n <Tracking event=\"creativeView\"><![CDATA[{{{renderedPixel}}}]]></Tracking>\\n <Tracking event=\"start\"><![CDATA[{{{visibleUrl}}}]]></Tracking>{{#unless preview}}{{#each impressionTrackingUrls}}\\n <Tracking event=\"start\"><![CDATA[{{{this}}}]]></Tracking>{{/each}}{{/unless}}{{#if text.firstQuartile.content}}\\n <Tracking event=\"firstQuartile\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.firstQuartile.content}}]]></Tracking>{{/if}}\\n <Tracking event=\"midpoint\"><![CDATA[{{{viewUrl}}}]]></Tracking>{{#if text.thirdQuartile.content}}\\n <Tracking event=\"thirdQuartile\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.thirdQuartile.content}}]]></Tracking>{{/if}}{{#if text.complete.content}}\\n <Tracking event=\"complete\"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.complete.content}}]]></Tracking>{{/if}}\\n </TrackingEvents>\\n <VideoClicks>\\n <ClickThrough><![CDATA[{{{urls.destinationUrl.destinationUrl}}}]]></ClickThrough>\\n <ClickTracking><![CDATA[{{{clickUrl}}}]]></ClickTracking>\\n </VideoClicks>\\n <MediaFiles>\\n <MediaFile delivery=\"progressive\" type=\"{{assets.Video.mimeType}}\" bitrate=\"{{assets.Video.bps}}\" width=\"{{assets.Video.width}}\" height=\"{{assets.Video.height}}\" scalable=\"true\" maintainAspectRatio=\"true\">\\n <![CDATA[{{{assets.Video.cdnId}}}]]>\\n </MediaFile>\\n </MediaFiles>\\n </Linear>\\n </Creative>\\n </Creatives>\\n </InLine>\\n</Ad>'\n }\n ]\n },\n {\n 'auId': '000000000008b6bc',\n 'targetId': 'adn-000000000008b6bc',\n 'matchedAdCount': 0,\n 'responseId': 'adn-rsp-1460129238',\n }\n ]\n }\n }\n\n describe('inherited functions', function () {\n it('exists and is a function', function () {\n expect(adapter.callBids).to.exist.and.to.be.a('function');\n });\n });\n\n describe('isBidRequestValid', function () {\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(bidderRequests[0])).to.equal(true);\n });\n });\n\n describe('buildRequests', function () {\n it('Test requests', function () {\n const winDimensions = getWinDimensions();\n const screen = winDimensions.screen.availWidth + 'x' + winDimensions.screen.availHeight;\n const viewport = winDimensions.innerWidth + 'x' + winDimensions.innerHeight;\n const prebidVersion = window.$$PREBID_GLOBAL$$.version;\n const tzo = new Date().getTimezoneOffset();\n const ENDPOINT_URL = `https://ads.adnuntius.delivery/i?tzo=${tzo}&format=prebid&pbv=${prebidVersion}&screen=${screen}&viewport=${viewport}&userId=${usi}`;\n\n const bidderRequests = [\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n targetId: '123',\n network: 'adnuntius',\n maxDeals: 1\n },\n mediaTypes: {\n banner: {\n sizes: [[640, 480], [600, 400]],\n }\n },\n },\n {\n bidId: 'adn-0000000000000551',\n bidder: 'adnuntius',\n params: {\n auId: '0000000000000551',\n network: 'adnuntius',\n },\n mediaTypes: {\n banner: {\n sizes: [[1640, 1480], [1600, 1400]],\n }\n },\n }\n ];\n\n const request = spec.buildRequests(bidderRequests, {\n refererInfo: {\n canonicalUrl: 'https://canonical.com/page.html',\n page: 'https://canonical.com/something-else.html'\n }\n });\n\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0];\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal(JSON.stringify({\n adUnits: [\n {\n auId: '000000000008b6bc',\n targetId: '123',\n maxDeals: 1,\n dimensions: [[640, 480], [600, 400]]\n },\n {\n auId: '0000000000000551',\n targetId: 'adn-0000000000000551',\n dimensions: [[1640, 1480], [1600, 1400]]\n }\n ],\n context: 'https://canonical.com/something-else.html',\n canonical: 'https://canonical.com/page.html'\n }));\n });\n\n it('should pass for different end points in config', function () {\n config.setConfig({\n env: 'localhost',\n protocol: 'http'\n })\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, LOCALHOST_URL);\n });\n\n it('Test specifying deal IDs', function () {\n const dealIdRequest = deepClone(bidderRequests);\n dealIdRequest[0].params.dealId = 'simplestringdeal';\n dealIdRequest[0].params.inventory = {\n pmp: {\n deals: [{id: '123', bidfloor: 12, bidfloorcur: 'USD'}]\n }\n };\n let request = spec.buildRequests(dealIdRequest, {});\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0]\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"000000000008b6bc\",\"targetId\":\"123\",\"dealId\":\"simplestringdeal\",\"maxDeals\":1,\"dimensions\":[[640,480],[600,400]]},{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"dimensions\":[[1640,1480],[1600,1400]]}]}');\n\n delete dealIdRequest[0].params.dealId;\n request = spec.buildRequests(dealIdRequest, {});\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"000000000008b6bc\",\"targetId\":\"123\",\"dealId\":[{\"id\":\"123\",\"bidfloor\":12,\"bidfloorcur\":\"USD\"}],\"maxDeals\":1,\"dimensions\":[[640,480],[600,400]]},{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"dimensions\":[[1640,1480],[1600,1400]]}]}');\n });\n\n it('Test requests with no local storage', function () {\n storage.setDataInLocalStorage('adn.metaData', JSON.stringify([{}]));\n const request = spec.buildRequests(bidderRequests, {});\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0]\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_BASE);\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"000000000008b6bc\",\"targetId\":\"123\",\"maxDeals\":1,\"dimensions\":[[640,480],[600,400]]},{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"dimensions\":[[1640,1480],[1600,1400]]}]}');\n\n localStorage.removeItem('adn.metaData');\n const request2 = spec.buildRequests(bidderRequests, {});\n expect(request2.length).to.equal(1);\n expect(request2[0]).to.have.property('url');\n expectUrlsEqual(request2[0].url, ENDPOINT_URL_BASE);\n });\n\n it('Test request changes for voided au ids', function () {\n storage.setDataInLocalStorage('adn.metaData', JSON.stringify([{ key: 'voidAuIds', value: [{ auId: '11118b6bc', exp: getUnixTimestampFromNow(1) }, { auId: '0000000000000023', exp: getUnixTimestampFromNow(1) }] }]));\n const bRequests = bidderRequests.concat([{\n bidId: 'adn-11118b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '11118b6bc',\n network: 'adnuntius',\n },\n mediaTypes: {\n banner: {\n sizes: [[1640, 1480], [1600, 1400]],\n }\n },\n }]);\n bRequests.push({\n bidId: 'adn-23',\n bidder: 'adnuntius',\n params: {\n auId: '23',\n network: 'adnuntius',\n },\n mediaTypes: {\n banner: {\n sizes: [[1640, 1480], [1600, 1400]],\n }\n },\n });\n bRequests.push({\n bidId: 'adn-13',\n bidder: 'adnuntius',\n params: {\n auId: '13',\n network: 'adnuntius',\n },\n mediaTypes: {\n banner: {\n sizes: [[164, 140], [10, 1400]],\n }\n },\n });\n const request = spec.buildRequests(bRequests, {});\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0]\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_BASE);\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"000000000008b6bc\",\"targetId\":\"123\",\"maxDeals\":1,\"dimensions\":[[640,480],[600,400]]},{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"dimensions\":[[1640,1480],[1600,1400]]},{\"auId\":\"13\",\"targetId\":\"adn-13\",\"dimensions\":[[164,140],[10,1400]]}]}');\n });\n\n it('Test Video requests', function () {\n const request = spec.buildRequests(videoBidderRequest, {});\n expect(request.length).to.equal(1);\n\n const data = JSON.parse(request[0].data);\n expect(data.adUnits.length).to.equal(1);\n expect(data.adUnits[0].targetId).to.equal('adn-0000000000000551');\n expect(data.adUnits[0].adType).to.equal('VAST');\n\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0]\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n\n it('Test multiformat requests', function () {\n const request = spec.buildRequests(multiBidderRequest, {});\n expect(request.length).to.equal(1);\n expect(request.data)\n const data = JSON.parse(request[0].data);\n expect(data.adUnits.length).to.equal(2);\n expect(data.adUnits[0].targetId).to.equal('adn-0000000000000551');\n expect(data.adUnits[0]).not.to.have.property('adType');\n expect(data.adUnits[1].targetId).to.equal('adn-0000000000000551-video');\n expect(data.adUnits[1].adType).to.equal('VAST');\n expect(request[0]).to.have.property('bid');\n const bid = request[0].bid[0]\n expect(bid).to.have.property('bidId');\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n\n it('should pass segments if available in config and merge from targeting', function () {\n const ortb2 = {\n user: {\n data: [{\n name: 'adnuntius',\n segment: [{ id: 'segment1' }, { id: 'segment2' }, { invalidSegment: 'invalid' }, { id: 123 }, { id: ['3332'] }]\n },\n {\n name: 'other',\n segment: ['segment3']\n }]\n }\n };\n\n bidderRequests[0].params.targeting = {\n segments: ['merge-this', 'and-this']\n };\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL_SEGMENTS.replace('segment3', 'segment3,merge-this,and-this'));\n\n delete bidderRequests[0].params.targeting;\n });\n\n function countMatches(actualArray, expectedValue) {\n return actualArray.filter(val => {\n return JSON.stringify(val) === JSON.stringify(expectedValue);\n }).length;\n }\n\n it('should pass site data ext as key values to ad server', function () {\n const ortb2 = {\n site: {\n ext: {\n data: {\n '12345': 'true',\n '45678': 'true',\n '9090': 'should-be-retained'\n }\n }\n }\n };\n bidderRequests[0].params.targeting = {\n kv: {\n 'merge': ['this'],\n '9090': ['take it over']\n }\n };\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n const data = JSON.parse(request[0].data);\n expect(countMatches(data.adUnits[0].kv, {'9090': ['take it over']})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'merge': ['this']})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'9090': 'should-be-retained'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'45678': 'true'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'12345': 'true'})).to.equal(1);\n expect(data.adUnits[0].kv.length).to.equal(5);\n\n delete bidderRequests[0].params.targeting;\n });\n\n it('should pass site.ext.data and user.ext.data as key values to ad server with targeting in different format', function () {\n const ortb2 = {\n user: {\n ext: {\n data: {\n 'from': 'user',\n '9090': 'from-user'\n }\n }\n },\n site: {\n ext: {\n data: {\n '12345': 'true',\n '45678': 'true',\n '9090': 'should-be-retained'\n }\n }\n }\n };\n bidderRequests[0].params.targeting = {\n kv: [\n {'merge': ['this']},\n {'9090': ['take it over']}\n ]\n };\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n const data = JSON.parse(request[0].data);\n expect(countMatches(data.adUnits[0].kv, {'from': 'user'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'9090': 'from-user'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'9090': ['take it over']})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'merge': ['this']})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'9090': 'should-be-retained'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'45678': 'true'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'12345': 'true'})).to.equal(1);\n expect(data.adUnits[0].kv.length).to.equal(7);\n\n delete bidderRequests[0].params.targeting;\n });\n\n it('should pass site data ext as key values to ad server even if no kv targeting specified in params.targeting', function () {\n const ortb2 = {\n site: {\n ext: {\n data: {\n '12345': 'true',\n '45678': 'true',\n '9090': 'should-be-retained'\n }\n }\n }\n };\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n const data = JSON.parse(request[0].data);\n expect(countMatches(data.adUnits[0].kv, {'9090': 'should-be-retained'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'45678': 'true'})).to.equal(1);\n expect(countMatches(data.adUnits[0].kv, {'12345': 'true'})).to.equal(1);\n expect(data.adUnits[0].kv.length).to.equal(3);\n\n delete bidderRequests[0].params.targeting;\n });\n\n it('should skip passing site ext if missing', function () {\n const ortb2 = {\n site: {\n ext: {\n }\n }\n };\n\n delete bidderRequests[0].params.targeting;\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n const data = JSON.parse(request[0].data);\n expect(data.adUnits[0]).to.not.have.property('kv');\n });\n\n it('should skip passing site ext data if missing', function () {\n const ortb2 = {\n site: {\n ext: {\n data: {}\n }\n }\n };\n\n delete bidderRequests[0].params.targeting;\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n const data = JSON.parse(request[0].data);\n expect(data.adUnits[0]).to.not.have.property('kv');\n });\n\n it('should skip segments in config if not either id or array of strings', function () {\n const ortb2 = {\n user: {\n data: [{\n name: 'adnuntius',\n segment: [{ id: 'segment1' }, { id: 'segment2' }, { id: 'segment3' }]\n },\n {\n name: 'other',\n segment: [{\n notright: 'segment4'\n }]\n }],\n }\n };\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_SEGMENTS);\n });\n });\n\n describe('user privacy', function () {\n it('should send GDPR Consent data if gdprApplies', function () {\n const request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: true, consentString: 'consentString' } });\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_CONSENT);\n });\n\n it('should not send GDPR Consent data if gdprApplies equals undefined', function () {\n const request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: undefined, consentString: 'consentString' } });\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n\n it('should pass segments if available in config', function () {\n const ortb2 = {\n user: {\n data: [{\n name: 'adnuntius',\n segment: [{ id: 'segment1' }, { id: 'segment2' }]\n },\n {\n name: 'other',\n segment: ['segment3']\n }]\n }\n }\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_SEGMENTS);\n });\n\n it('should skip segments in config if not either id or array of strings', function () {\n const ortb2 = {\n user: {\n data: [{\n name: 'adnuntius',\n segment: [{ id: 'segment1' }, { id: 'segment2' }, { id: 'segment3' }]\n },\n {\n name: 'other',\n segment: [{\n notright: 'segment4'\n }]\n }],\n }\n };\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL_SEGMENTS);\n });\n\n it('should user user ID if present in ortb2.user.id field', function () {\n const ortb2 = {\n user: {\n id: usi\n }\n };\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n\n it('should user in user', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n });\n\n const req = [\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n network: 'adnuntius'\n }\n }\n ];\n let request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=${usi}`);\n\n const ortb2 = {user: {ext: {eids: [{source: 'a', uids: [{id: '123', atype: 1}]}, {source: 'b', uids: [{id: '456', atype: 3, ext: {some: '1'}}]}]}}};\n request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req, ortb2: ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=${usi}&eids=%5B%7B%22source%22%3A%22a%22%2C%22uids%22%3A%5B%7B%22id%22%3A%22123%22%2C%22atype%22%3A1%7D%5D%7D%2C%7B%22source%22%3A%22b%22%2C%22uids%22%3A%5B%7B%22id%22%3A%22456%22%2C%22atype%22%3A3%2C%22ext%22%3A%7B%22some%22%3A%221%22%7D%7D%5D%7D%5D`);\n\n ortb2.user.id = \"ortb2userid\"\n request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req, ortb2: ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=ortb2userid&eids=%5B%7B%22source%22%3A%22a%22%2C%22uids%22%3A%5B%7B%22id%22%3A%22123%22%2C%22atype%22%3A1%7D%5D%7D%2C%7B%22source%22%3A%22b%22%2C%22uids%22%3A%5B%7B%22id%22%3A%22456%22%2C%22atype%22%3A3%2C%22ext%22%3A%7B%22some%22%3A%221%22%7D%7D%5D%7D%5D`);\n\n req[0].params.userId = 'different_user_id';\n request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=different_user_id`);\n\n const eids = [{source: 'pubcid', uids: [{id: '123', atype: 1}]}, {source: 'otherid', uids: [{id: '456', atype: 3, ext: {some: '1'}}]}];\n req[0].params.userId = 'different_user_id';\n req[0].params.userIdAsEids = eids;\n request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=different_user_id&eids=` + encodeURIComponent(JSON.stringify(eids)));\n\n request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req, ortb2: ortb2 }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, `${ENDPOINT_URL_BASE}&userId=different_user_id&eids=` + encodeURIComponent(JSON.stringify(eids)));\n });\n\n it('should handle no user specified', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n });\n const req = [\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n network: 'adnuntius'\n }\n }\n ];\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(req, { bids: req }));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n });\n\n describe('user privacy', function () {\n it('should send GDPR Consent data if gdprApplies', function () {\n const request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: true, consentString: 'consentString' } });\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_CONSENT);\n });\n\n it('should not send GDPR Consent data if gdprApplies equals undefined', function () {\n const request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: undefined, consentString: 'consentString' } });\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n });\n\n describe('use cookie', function () {\n it('should send noCookie in url if set to false.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n useCookie: false,\n advertiserTransparency: true\n }\n });\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL_NOCOOKIE + '&advertiserTransparency=true');\n });\n });\n\n describe('validate auId', function () {\n it('should fail when auId is not hexadecimal', function () {\n const invalidRequest = {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: 'nothexadecimal',\n }\n };\n const valid = config.runWithBidder('adnuntius', () => spec.isBidRequestValid(invalidRequest));\n expect(valid).to.equal(false);\n });\n\n it('should pass when auId is hexadecimal', function () {\n const invalidRequest = {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '0123456789abcDEF',\n }\n };\n const valid = config.runWithBidder('adnuntius', () => spec.isBidRequestValid(invalidRequest));\n expect(valid).to.equal(true);\n });\n });\n\n describe('request deals', function () {\n it('Should set max deals.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius']\n });\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n expect(request[0]).to.have.property('data');\n const data = JSON.parse(request[0].data);\n expect(data.adUnits.length).to.equal(2);\n expect(bidderRequests[0].params.maxDeals).to.equal(1);\n expect(data.adUnits[0].maxDeals).to.equal(bidderRequests[0].params.maxDeals);\n expect(bidderRequests[1].params).to.not.have.property('maxBids');\n expect(data.adUnits[1].maxDeals).to.equal(undefined);\n });\n it('Should allow a maximum of 5 deals.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n });\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests([\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n network: 'adnuntius',\n maxDeals: 10\n }\n }\n ], {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n expect(request[0]).to.have.property('data');\n const data = JSON.parse(request[0].data);\n expect(data.adUnits.length).to.equal(1);\n expect(data.adUnits[0].maxDeals).to.equal(5);\n });\n it('Should allow a minimum of 0 deals.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n });\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests([\n {\n bidId: 'adn-000000000008b6bc',\n bidder: 'adnuntius',\n params: {\n auId: '000000000008b6bc',\n network: 'adnuntius',\n maxDeals: -1\n }\n }\n ], {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n expect(request[0]).to.have.property('data');\n const data = JSON.parse(request[0].data);\n expect(data.adUnits.length).to.equal(1);\n expect(data.adUnits[0].maxDeals).to.equal(undefined);\n });\n it('Should set max deals using bidder config.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n maxDeals: 2,\n useCookie: 'ignore-this',\n advertiserTransparency: 'ignore-this-as-well'\n }\n });\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url')\n expectUrlsEqual(request[0].url, ENDPOINT_URL + '&ds=2');\n });\n it('Should allow a maximum of 5 deals when using bidder config.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n maxDeals: 6\n }\n });\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n expectUrlsEqual(request[0].url, ENDPOINT_URL + '&ds=5');\n });\n it('Should allow a minimum of 0 deals when using bidder config.', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n maxDeals: -1\n }\n });\n\n const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('url');\n // The maxDeals value is ignored because it is less than zero\n expectUrlsEqual(request[0].url, ENDPOINT_URL);\n });\n });\n\n describe('interpretResponse', function () {\n it('should return valid response when passed valid server response', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n bidType: 'netBid',\n maxDeals: 1\n }\n });\n\n const interpretedResponse = config.runWithBidder('adnuntius', () => spec.interpretResponse(serverResponse, singleBidRequest));\n expect(interpretedResponse).to.have.lengthOf(2);\n\n const deal = serverResponse.body.adUnits[0].deals[0];\n expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[0].cpm).to.equal(deal.netBid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(deal.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(deal.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(deal.creativeId);\n expect(interpretedResponse[0].currency).to.equal(deal.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(2);\n expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('fred.com');\n expect(interpretedResponse[0].meta.advertiserDomains[1]).to.equal('george.com');\n expect(interpretedResponse[0].ad).to.equal(serverResponse.body.adUnits[0].deals[0].html);\n expect(interpretedResponse[0].ttl).to.equal(360);\n expect(interpretedResponse[0].dealId).to.equal('abc123xyz');\n expect(interpretedResponse[0].dealCount).to.equal(1);\n\n const ad = serverResponse.body.adUnits[0].ads[0];\n expect(interpretedResponse[1].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[1].cpm).to.equal(ad.netBid.amount * 1000);\n expect(interpretedResponse[1].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[1].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[1].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[1].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[1].netRevenue).to.equal(false);\n expect(interpretedResponse[1].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[1].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[1].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[1].ad).to.equal(serverResponse.body.adUnits[0].html);\n expect(interpretedResponse[1].ttl).to.equal(360);\n expect(interpretedResponse[1].dealId).to.equal('not-in-deal-array-here');\n expect(interpretedResponse[1].dealCount).to.equal(0);\n\n const results = JSON.parse(storage.getDataFromLocalStorage('adn.metaData'));\n const usiEntry = results.find(entry => entry.key === 'usi' && entry.network === 'some-network-id');\n expect(usiEntry.key).to.equal('usi');\n expect(usiEntry.value).to.equal('from-api-server dude');\n expect(usiEntry.exp).to.be.greaterThan(getUnixTimestampFromNow(90));\n expect(usiEntry.network).to.equal('some-network-id')\n\n const voidAuIdsEntry = results.find(entry => entry.key === 'voidAuIds');\n expect(voidAuIdsEntry.key).to.equal('voidAuIds');\n expect(voidAuIdsEntry.exp).to.equal(undefined);\n expect(voidAuIdsEntry.value[0].auId).to.equal('00000000000abcde');\n expect(voidAuIdsEntry.value[0].exp).to.be.greaterThan(getUnixTimestampFromNow());\n expect(voidAuIdsEntry.value[0].exp).to.be.lessThan(getUnixTimestampFromNow(2));\n expect(voidAuIdsEntry.value[1].auId).to.equal('00000000000fffff');\n expect(voidAuIdsEntry.value[1].exp).to.be.greaterThan(getUnixTimestampFromNow());\n expect(voidAuIdsEntry.value[1].exp).to.be.lessThan(getUnixTimestampFromNow(2));\n\n const validEntry = results.find(entry => entry.key === 'valid');\n expect(validEntry.key).to.equal('valid');\n expect(validEntry.value).to.equal('also-valid');\n expect(validEntry.exp).to.be.greaterThan(getUnixTimestampFromNow());\n expect(validEntry.exp).to.be.lessThan(getUnixTimestampFromNow(2));\n\n const randomApiEntry = results.find(entry => entry.key === 'randomApiKey');\n expect(randomApiEntry.key).to.equal('randomApiKey');\n expect(randomApiEntry.value).to.equal('randomApiValue');\n expect(randomApiEntry.network).to.equal('some-network-id');\n expect(randomApiEntry.exp).to.be.greaterThan(getUnixTimestampFromNow(90));\n });\n\n it('should return valid response when passed valid multiformat server response', function () {\n config.setBidderConfig({\n bidders: ['adnuntius'],\n config: {\n bidType: 'netBid',\n maxDeals: 0\n }\n });\n\n const interpretedResponse = config.runWithBidder('adnuntius', () => spec.interpretResponse(multiFormatServerResponse, multiBidAndFormatRequest));\n expect(interpretedResponse).to.have.lengthOf(3);\n\n let ad = multiFormatServerResponse.body.adUnits[0].ads[0];\n expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[0].cpm).to.equal(ad.netBid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].ad).to.equal(multiFormatServerResponse.body.adUnits[0].html);\n expect(interpretedResponse[0].ttl).to.equal(360);\n\n ad = multiFormatServerResponse.body.adUnits[4].ads[0];\n expect(interpretedResponse[1].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[1].cpm).to.equal(ad.netBid.amount * 1000);\n expect(interpretedResponse[1].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[1].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[1].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[1].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[1].netRevenue).to.equal(false);\n expect(interpretedResponse[1].ad).to.equal(multiFormatServerResponse.body.adUnits[4].html);\n expect(interpretedResponse[1].ttl).to.equal(360);\n\n ad = multiFormatServerResponse.body.adUnits[2].ads[0];\n expect(interpretedResponse[2].native).to.not.be.undefined;\n expect(interpretedResponse[2].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[2].cpm).to.equal(ad.netBid.amount * 1000);\n expect(interpretedResponse[2].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[2].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[2].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[2].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[2].netRevenue).to.equal(false);\n expect(interpretedResponse[2].ttl).to.equal(360);\n });\n\n it('should not process valid response when passed alt bidder that is an adndeal', function () {\n const altBidder = {\n bid: [\n {\n bidder: 'adndeal1',\n bidId: 'adn-0000000000000551',\n }\n ]\n };\n serverResponse.body.adUnits[0].deals = [];\n delete serverResponse.body.metaData.voidAuIds; // test response with no voidAuIds\n\n const interpretedResponse = spec.interpretResponse(serverResponse, altBidder);\n expect(interpretedResponse).to.have.lengthOf(0);\n\n serverResponse.body.adUnits[0].deals = deals;\n });\n\n it('should return valid response when passed alt bidder', function () {\n const altBidder = {\n bid: [\n {\n bidder: 'adn-alt',\n bidId: 'adn-0000000000000551',\n params: {\n bidType: 'netBid'\n }\n }\n ]\n };\n serverResponse.body.adUnits[0].deals = [];\n\n const interpretedResponse = spec.interpretResponse(serverResponse, altBidder);\n expect(interpretedResponse).to.have.lengthOf(1);\n\n const ad = serverResponse.body.adUnits[0].ads[0];\n expect(interpretedResponse[0].bidderCode).to.equal('adn-alt');\n expect(interpretedResponse[0].cpm).to.equal(ad.netBid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[0].ad).to.equal(serverResponse.body.adUnits[0].html);\n expect(interpretedResponse[0].ttl).to.equal(360);\n expect(interpretedResponse[0].dealId).to.equal('not-in-deal-array-here');\n expect(interpretedResponse[0].dealCount).to.equal(0);\n\n serverResponse.body.adUnits[0].deals = deals;\n });\n });\n\n describe('interpretVideoResponse', function () {\n it('should return valid response when passed valid server response', function () {\n const interpretedResponse = spec.interpretResponse(serverVideoResponse, videoBidRequest);\n const ad = serverVideoResponse.body.adUnits[0].ads[0]\n const deal = serverVideoResponse.body.adUnits[0].deals[0]\n expect(interpretedResponse).to.have.lengthOf(2);\n\n expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[0].cpm).to.equal(deal.bid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(deal.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(deal.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(deal.creativeId);\n expect(interpretedResponse[0].currency).to.equal(deal.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[0].vastXml).to.equal(deal.vastXml);\n expect(interpretedResponse[0].dealId).to.equal('abc123xyz');\n expect(interpretedResponse[0].dealCount).to.equal(1);\n\n expect(interpretedResponse[1].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[1].cpm).to.equal(ad.bid.amount * 1000);\n expect(interpretedResponse[1].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[1].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[1].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[1].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[1].netRevenue).to.equal(false);\n expect(interpretedResponse[1].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[1].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[1].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[1].vastXml).to.equal(serverVideoResponse.body.adUnits[0].vastXml);\n expect(interpretedResponse[1].dealId).to.equal('not-in-deal-array');\n expect(interpretedResponse[1].dealCount).to.equal(0);\n });\n });\n\n describe('Native ads handling', function () {\n it('should pass requests on correctly', function () {\n const request = spec.buildRequests(nativeBidderRequest.bid, {});\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"adType\":\"NATIVE\",\"nativeRequest\":{\"ortb\":{\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"type\":3,\"w\":250,\"h\":250}}]}},\"dimensions\":[[200,200],[300,300]]}]}');\n });\n\n it('should return valid response when passed valid server response', function () {\n const interpretedResponse = spec.interpretResponse(nativeResponse, nativeBidderRequest);\n const ad = nativeResponse.body.adUnits[0].ads[0]\n expect(interpretedResponse).to.have.lengthOf(1);\n\n expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[0].cpm).to.equal(ad.bid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[0].vastXml).to.equal(ad.vastXml);\n expect(JSON.stringify(interpretedResponse[0].native.ortb)).to.equal('{\"link\":{\"url\":\"https://whatever.com\"},\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"url\":\"http://something.com/something.png\"}}]}');\n });\n\n it('should pass legacy requests on correctly', function () {\n const request = spec.buildRequests(legacyNativeBidderRequest.bid, {});\n expect(request.length).to.equal(1);\n expect(request[0]).to.have.property('bid');\n expect(request[0]).to.have.property('data');\n expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"0000000000000551\",\"targetId\":\"adn-0000000000000551\",\"adType\":\"NATIVE\",\"nativeRequest\":{\"ortb\":{\"ver\":\"1.2\",\"assets\":[{\"id\":0,\"required\":1,\"img\":{\"type\":3,\"w\":250,\"h\":250}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]},{\"event\":2,\"methods\":[1]}]}},\"dimensions\":[[200,200],[300,300]]}]}');\n });\n\n it('should return valid legacy response when passed valid server response', function () {\n const interpretedResponse = spec.interpretResponse(nativeResponse, legacyNativeBidderRequest);\n const ad = nativeResponse.body.adUnits[0].ads[0]\n expect(interpretedResponse).to.have.lengthOf(1);\n\n expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');\n expect(interpretedResponse[0].cpm).to.equal(ad.bid.amount * 1000);\n expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));\n expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));\n expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);\n expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);\n expect(interpretedResponse[0].netRevenue).to.equal(false);\n expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');\n expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);\n expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('adnuntius.com');\n expect(interpretedResponse[0].vastXml).to.equal(ad.vastXml);\n expect(JSON.stringify(interpretedResponse[0].native)).to.equal('{\"clickUrl\":\"https://whatever.com\",\"icon\":{\"url\":\"http://something.com/something.png\"},\"impressionTrackers\":[]}');\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|