var __IntegralASDiagnosticCall = function(){}; try { var __IntegralASConfig = { jsDoSplit: false, debug: "false", jsDiag: 'false', version: '19.8.40', mtCell: 10, mtSample: 5, trackMouse: "true", exchList: {'e1':'nqzryq','e2':'tbbtyrnqf.t.qbhoyrpyvpx','e3':'ehovpbacebwrpg','e4':'chozngvp','e5':'bcrak','e6':'nqoevgr.pbz','e7':'tynz.pbz','e8':'lvryqznantre.pbz','e9':'yvwvg','e10':'nqakf','p11':'ghea.pbz','p12':'zngugnt','p13':'vaivgrzrqvn','p14':'qngnkh','n15':'zrqvn6qrterrf','n16':'dhnagfreir','n17':'esvuho.arg','a18':'napubeserr','a19':'eff2frnepu','a20':'mgfgngvp.pbz','n21':'ovq.npr.nqiregvfvat','e22':'wnfba','v23':'fcbgkpqa','v24':'ogeyy','v25':'yvirenvy','v26':'nqncgi','v27':'nqnc.gi','n29':'qbzqrk.pbz','n30':'ernyih.arg','d31':'cvengronl','d32':'cebklonl','d33':'onlcebkl','d34':'cvengrcebkl','d35':'cebklcvengr','d36':'onlcvengr','n37':'tjnyyrg','p39':'j55p.arg','p40':'c0l.pa','p41':'vcvalbh.pbz','p42':'c0lwferaqre'}, sp_cdnDomain: 'cdn.adsafeprotected.com', sp_cdnScripts: {xsca: "static.adsafeprotected.com/xsca.17.4.85.js", sca: "static.adsafeprotected.com/sca.17.4.114.js", main: "static.adsafeprotected.com/main.19.8.40.js"}, protocol: 'https', jsref: "https:\/\/a.teads.tv\/media\/vpaid-display\/iframe.html", asid: "e7f82ecb-4cfd-11ea-a57b-0aeb40f66fa8", allowViewability: "true", jsFeatures: "viewabilityready,consecutive,cachebust:0,forcecocoa:0,rattie,exch,recordalternate:0,usedtdomain,nextcocoa:100,bapiDiag,postDts:0,videotwoseconds,getPl,decodePl,resolution,usetpl,tpiLookupURL,hundredpct,jloadDiag:0,blur:0,sendclogs,zeroPing,idMap,offscreen,everySecond:1,sdkdetection,moreAdTalkCalls,slid,fm2:1,largeAd,nextcocoaie:100,usevh,fxdet:0,mmsb:0,bigmon:0,chromeNativeIO:100,oddet:0,ios:100,ancestor:100,avmm:100,avgrn:100,useScreenLocationInfoAdaptor:100,swapids:100,pIntervals:10,firewall_cdn_domain,forceid:0,usesca:100,usexsca:1,bustediframe:100,impFailSafe:100,yieldmo:100,displayCustomView:0,sfdetect,pmdetect:100,novidnodeerr:5,diagnosticCM:0,viewabilityOptimization:100,usehaps:100,customMetric:100,sizmek,celtra,groupmCM,avidPropertiesInImpression,abcAudit,useMraidGeometricMeasurement,mrcAudit:1,bbs,bas", adsafeDomain: "adsafeprotected.com:80", minimizeCalls: "false", adWidth: "300", adHeight: "250", forceAppend: "false", sp_imp_maxLength: 8000, sp_imp_jsInfo_minLength: 200, _onInViewMRC15: __IntegralASConfig && __IntegralASConfig.onInViewMRC15, _onInViewMRC: __IntegralASConfig && __IntegralASConfig.onInViewMRC, _onMeasurable: __IntegralASConfig && __IntegralASConfig.onMeasurable, _onAPIResult: __IntegralASConfig && __IntegralASConfig.onAPIResult, _onInViewFull: __IntegralASConfig && __IntegralASConfig.onInViewFull, _onSuspicious: __IntegralASConfig && __IntegralASConfig.onSuspicious, _onInViewMRC5: __IntegralASConfig && __IntegralASConfig.onInViewMRC5, reqquery: "", mode: "rjss", requrl: "", dtBaseURL: "https:\/\/dt.adsafeprotected.com\/dt?advEntityId=383568", adsafeSrc: "https:\/\/fw.adsafeprotected.com\/rfw\/www.googletagservices.com\/383568\/41941062\/dcm\/dcmads.js", tpiLookupURL: "", getTpl: "false", use100v: false, useBapiCallback: "", useViewabilityNotification: "", scriptUrl: "https:\/\/fw.adsafeprotected.com\/rjss\/www.googletagservices.com\/383568\/41941062\/dcm\/dcmads.js", accountForSadImps: '', sendCookie: 'true', cookieBaseURL: 'sc.iasds01.com\/dtc?advEntityId=383568&pubEnt=41941062', fwMonitoring: 'false', doNothing: false, mn: "app21ie", mobOrTab: false, app: false, mobFwUrl: "https:\/\/mobile.adsafeprotected.com\/internal\/blocking\/app\/initial\/383568\/41941062?redirectUrl=https%3A%2F%2Fwww.googletagservices.com%2Fdcm%2Fdcmads.js", anId: '', advEntityId: '383568', pubEntityId: '41941062', videoId: '', videoChannel: '', rts: {}, customViewability: [], serverSideAppDetection: [], groupm_native_publisher: false, integration: null, staticServer: '\/\/static.adsafeprotected.com\/', passback: '' }; try { __IASScope = typeof window !== "undefined" ? window : this; __IntegralASConfig.isResolved = !!__IntegralASConfig.jsFeatures; __IntegralASConfig.birthdate = new Date().getTime(); __IntegralASConfig.perfBirth = (typeof __IASScope.performance !== "undefined" && typeof __IASScope.performance.now === 'function') ? __IASScope.performance.now() : null; ;(function(omidGlobal, factory, exports) { // CommonJS support if (typeof exports === 'object' && typeof exports.nodeName !== 'string') { factory(omidGlobal, exports); // If neither AMD nor CommonJS are used, export to a versioned name in the // global context. } else { var exports = {}; var versions = ['1.2.20-iab1793']; var additionalVersionString = ''; if (!!additionalVersionString) { versions.push(additionalVersionString); } factory(omidGlobal, exports); function deepFreeze(object) { for (var key in object) { if (object.hasOwnProperty(key)) { object[key] = deepFreeze(object[key]); } } return Object.freeze(object); } // Inject and freeze the exported components of omid. for (var key in exports) { if (exports.hasOwnProperty(key)) { if (Object.getOwnPropertyDescriptor(omidGlobal, key) == null) { // Define the top level property in the global scope Object.defineProperty(omidGlobal, key, { // value: {}, Removed trailing comma for build value: {} }); } versions.forEach(function(version) { if (Object.getOwnPropertyDescriptor(omidGlobal[key], version) == null) { var frozenObject = deepFreeze(exports[key]); // Define the object exports keyed-off versions Object.defineProperty(omidGlobal[key], version, { get: function () { return frozenObject; }, // enumerable: true, Removed trailing comma for build enumerable: true }); } }); } } } }(typeof global === 'undefined' ? this : global, function(omidGlobal, omidExports) { 'use strict'; var $jscomp = $jscomp || {}; $jscomp.scope = {}; $jscomp.arrayIteratorImpl = function(a) { var b = 0; return function() { return b < a.length ? {done:!1, value:a[b++]} : {done:!0}; }; }; $jscomp.arrayIterator = function(a) { return {next:$jscomp.arrayIteratorImpl(a)}; }; $jscomp.makeIterator = function(a) { var b = "undefined" != typeof Symbol && Symbol.iterator && a[Symbol.iterator]; return b ? b.call(a) : $jscomp.arrayIterator(a); }; $jscomp.arrayFromIterator = function(a) { for (var b, c = []; !(b = a.next()).done;) { c.push(b.value); } return c; }; $jscomp.arrayFromIterable = function(a) { return a instanceof Array ? a : $jscomp.arrayFromIterator($jscomp.makeIterator(a)); }; $jscomp.ASSUME_ES5 = !1; $jscomp.ASSUME_NO_NATIVE_MAP = !1; $jscomp.ASSUME_NO_NATIVE_SET = !1; $jscomp.SIMPLE_FROUND_POLYFILL = !1; $jscomp.objectCreate = $jscomp.ASSUME_ES5 || "function" == typeof Object.create ? Object.create : function(a) { var b = function() { }; b.prototype = a; return new b; }; $jscomp.underscoreProtoCanBeSet = function() { var a = {a:!0}, b = {}; try { return b.__proto__ = a, b.a; } catch (c) { } return !1; }; $jscomp.setPrototypeOf = "function" == typeof Object.setPrototypeOf ? Object.setPrototypeOf : $jscomp.underscoreProtoCanBeSet() ? function(a, b) { a.__proto__ = b; if (a.__proto__ !== b) { throw new TypeError(a + " is not extensible"); } return a; } : null; $jscomp.inherits = function(a, b) { a.prototype = $jscomp.objectCreate(b.prototype); a.prototype.constructor = a; if ($jscomp.setPrototypeOf) { var c = $jscomp.setPrototypeOf; c(a, b); } else { for (c in b) { if ("prototype" != c) { if (Object.defineProperties) { var d = Object.getOwnPropertyDescriptor(b, c); d && Object.defineProperty(a, c, d); } else { a[c] = b[c]; } } } } a.superClass_ = b.prototype; }; var module$exports$omid$common$argsChecker = {assertTruthyString:function(a, b) { if (!b) { throw Error("Value for " + a + " is undefined, null or blank."); } if ("string" !== typeof b && !(b instanceof String)) { throw Error("Value for " + a + " is not a string."); } if ("" === b.trim()) { throw Error("Value for " + a + " is empty string."); } }, assertNotNullObject:function(a, b) { if (null == b) { throw Error("Value for " + a + " is undefined or null"); } }, assertNumber:function(a, b) { if (null == b) { throw Error(a + " must not be null or undefined."); } if ("number" !== typeof b || isNaN(b)) { throw Error("Value for " + a + " is not a number"); } }, assertNumberBetween:function(a, b, c, d) { (0,module$exports$omid$common$argsChecker.assertNumber)(a, b); if (b < c || b > d) { throw Error("Value for " + a + " is outside the range [" + c + "," + d + "]"); } }, assertFunction:function(a, b) { if (!b) { throw Error(a + " must not be truthy."); } }, assertPositiveNumber:function(a, b) { (0,module$exports$omid$common$argsChecker.assertNumber)(a, b); if (0 > b) { throw Error(a + " must be a positive number."); } }}; var module$exports$omid$common$VersionUtils = {}, module$contents$omid$common$VersionUtils_SEMVER_DIGITS_NUMBER = 3; module$exports$omid$common$VersionUtils.isValidVersion = function(a) { return /\d+\.\d+\.\d+(-.*)?/.test(a); }; module$exports$omid$common$VersionUtils.versionGreaterOrEqual = function(a, b) { a = a.split("-")[0].split("."); b = b.split("-")[0].split("."); for (var c = 0; c < module$contents$omid$common$VersionUtils_SEMVER_DIGITS_NUMBER; c++) { var d = parseInt(a[c], 10), e = parseInt(b[c], 10); if (d > e) { break; } else { if (d < e) { return !1; } } } return !0; }; var module$exports$omid$common$ArgsSerDe = {}, module$contents$omid$common$ArgsSerDe_ARGS_NOT_SERIALIZED_VERSION = "1.0.3"; module$exports$omid$common$ArgsSerDe.serializeMessageArgs = function(a, b) { return (0,module$exports$omid$common$VersionUtils.isValidVersion)(a) && (0,module$exports$omid$common$VersionUtils.versionGreaterOrEqual)(a, module$contents$omid$common$ArgsSerDe_ARGS_NOT_SERIALIZED_VERSION) ? b : JSON.stringify(b); }; module$exports$omid$common$ArgsSerDe.deserializeMessageArgs = function(a, b) { return (0,module$exports$omid$common$VersionUtils.isValidVersion)(a) && (0,module$exports$omid$common$VersionUtils.versionGreaterOrEqual)(a, module$contents$omid$common$ArgsSerDe_ARGS_NOT_SERIALIZED_VERSION) ? b ? b : [] : b && "string" === typeof b ? JSON.parse(b) : []; }; var module$exports$omid$common$constants = {AdEventType:{IMPRESSION:"impression", STATE_CHANGE:"stateChange", GEOMETRY_CHANGE:"geometryChange", SESSION_START:"sessionStart", SESSION_ERROR:"sessionError", SESSION_FINISH:"sessionFinish", VIDEO:"video", LOADED:"loaded", START:"start", FIRST_QUARTILE:"firstQuartile", MIDPOINT:"midpoint", THIRD_QUARTILE:"thirdQuartile", COMPLETE:"complete", PAUSE:"pause", RESUME:"resume", BUFFER_START:"bufferStart", BUFFER_FINISH:"bufferFinish", SKIPPED:"skipped", VOLUME_CHANGE:"volumeChange", PLAYER_STATE_CHANGE:"playerStateChange", AD_USER_INTERACTION:"adUserInteraction"}, VideoEventType:{LOADED:"loaded", START:"start", FIRST_QUARTILE:"firstQuartile", MIDPOINT:"midpoint", THIRD_QUARTILE:"thirdQuartile", COMPLETE:"complete", PAUSE:"pause", RESUME:"resume", BUFFER_START:"bufferStart", BUFFER_FINISH:"bufferFinish", SKIPPED:"skipped", VOLUME_CHANGE:"volumeChange", PLAYER_STATE_CHANGE:"playerStateChange", AD_USER_INTERACTION:"adUserInteraction"}, ErrorType:{GENERIC:"generic", VIDEO:"video"}, AdSessionType:{NATIVE:"native", HTML:"html"}, EventOwner:{NATIVE:"native", JAVASCRIPT:"javascript", NONE:"none"}, AccessMode:{FULL:"full", LIMITED:"limited"}, AppState:{BACKGROUNDED:"backgrounded", FOREGROUNDED:"foregrounded"}, Environment:{APP:"app", WEB:"web"}, InteractionType:{CLICK:"click", INVITATION_ACCEPT:"invitationAccept"}, MediaType:{DISPLAY:"display", VIDEO:"video"}, Reason:{NOT_FOUND:"notFound", HIDDEN:"hidden", BACKGROUNDED:"backgrounded", VIEWPORT:"viewport", OBSTRUCTED:"obstructed", CLIPPED:"clipped"}, SupportedFeatures:{CONTAINER:"clid", VIDEO:"vlid"}, VideoPosition:{PREROLL:"preroll", MIDROLL:"midroll", POSTROLL:"postroll", STANDALONE:"standalone"}, VideoPlayerState:{MINIMIZED:"minimized", COLLAPSED:"collapsed", NORMAL:"normal", EXPANDED:"expanded", FULLSCREEN:"fullscreen"}, NativeViewKeys:{X:"x", LEFT:"left", Y:"y", TOP:"top", WIDTH:"width", HEIGHT:"height", AD_SESSION_ID:"adSessionId", IS_FRIENDLY_OBSTRUCTION_FOR:"isFriendlyObstructionFor", CLIPS_TO_BOUNDS:"clipsToBounds", CHILD_VIEWS:"childViews", END_X:"endX", END_Y:"endY", OBSTRUCTIONS:"obstructions"}, MeasurementStateChangeSource:{CONTAINER:"container", CREATIVE:"creative"}, ElementMarkup:{OMID_ELEMENT_CLASS_NAME:"omid-element"}, CommunicationType:{NONE:"NONE", DIRECT:"DIRECT", POST_MESSAGE:"POST_MESSAGE"}, OmidImplementer:{OMSDK:"omsdk"}}; var module$contents$omid$common$InternalMessage_GUID_KEY = "omid_message_guid", module$contents$omid$common$InternalMessage_METHOD_KEY = "omid_message_method", module$contents$omid$common$InternalMessage_VERSION_KEY = "omid_message_version", module$contents$omid$common$InternalMessage_ARGS_KEY = "omid_message_args", module$exports$omid$common$InternalMessage = function(a, b, c, d) { this.guid = a; this.method = b; this.version = c; this.args = d; }; module$exports$omid$common$InternalMessage.isValidSerializedMessage = function(a) { return !!a && void 0 !== a[module$contents$omid$common$InternalMessage_GUID_KEY] && void 0 !== a[module$contents$omid$common$InternalMessage_METHOD_KEY] && void 0 !== a[module$contents$omid$common$InternalMessage_VERSION_KEY] && "string" === typeof a[module$contents$omid$common$InternalMessage_GUID_KEY] && "string" === typeof a[module$contents$omid$common$InternalMessage_METHOD_KEY] && "string" === typeof a[module$contents$omid$common$InternalMessage_VERSION_KEY] && (void 0 === a[module$contents$omid$common$InternalMessage_ARGS_KEY] || void 0 !== a[module$contents$omid$common$InternalMessage_ARGS_KEY]); }; module$exports$omid$common$InternalMessage.deserialize = function(a) { return new module$exports$omid$common$InternalMessage(a[module$contents$omid$common$InternalMessage_GUID_KEY], a[module$contents$omid$common$InternalMessage_METHOD_KEY], a[module$contents$omid$common$InternalMessage_VERSION_KEY], a[module$contents$omid$common$InternalMessage_ARGS_KEY]); }; module$exports$omid$common$InternalMessage.prototype.serialize = function() { var a = {}; a = (a[module$contents$omid$common$InternalMessage_GUID_KEY] = this.guid, a[module$contents$omid$common$InternalMessage_METHOD_KEY] = this.method, a[module$contents$omid$common$InternalMessage_VERSION_KEY] = this.version, a); void 0 !== this.args && (a[module$contents$omid$common$InternalMessage_ARGS_KEY] = this.args); return a; }; var module$exports$omid$common$Communication = function(a) { this.to = a; this.communicationType_ = module$exports$omid$common$constants.CommunicationType.NONE; }; module$exports$omid$common$Communication.prototype.sendMessage = function(a, b) { }; module$exports$omid$common$Communication.prototype.handleMessage = function(a, b) { if (this.onMessage) { this.onMessage(a, b); } }; module$exports$omid$common$Communication.prototype.serialize = function(a) { return JSON.stringify(a); }; module$exports$omid$common$Communication.prototype.deserialize = function(a) { return JSON.parse(a); }; module$exports$omid$common$Communication.prototype.isCrossOrigin = function() { }; var module$exports$omid$common$DetectOmid = {OMID_PRESENT_FRAME_NAME:"omid_v1_present", isOmidPresent:function(a) { try { return a.frames ? !!a.frames[module$exports$omid$common$DetectOmid.OMID_PRESENT_FRAME_NAME] : !1; } catch (b) { return !1; } }, declareOmidPresence:function(a) { a.frames && a.document && (module$exports$omid$common$DetectOmid.OMID_PRESENT_FRAME_NAME in a.frames || (null == a.document.body && module$exports$omid$common$DetectOmid.isMutationObserverAvailable_(a) ? module$exports$omid$common$DetectOmid.registerMutationObserver_(a) : a.document.body ? module$exports$omid$common$DetectOmid.appendPresenceIframe_(a) : a.document.write('')))); }, appendPresenceIframe_:function(a) { var b = a.document.createElement("iframe"); b.id = module$exports$omid$common$DetectOmid.OMID_PRESENT_FRAME_NAME; b.name = module$exports$omid$common$DetectOmid.OMID_PRESENT_FRAME_NAME; b.style.display = "none"; a.document.body.appendChild(b); }, isMutationObserverAvailable_:function(a) { return "MutationObserver" in a; }, registerMutationObserver_:function(a) { var b = new MutationObserver(function(c) { c.forEach(function(c) { "BODY" === c.addedNodes[0].nodeName && (module$exports$omid$common$DetectOmid.appendPresenceIframe_(a), b.disconnect()); }); }); b.observe(a.document.documentElement, {childList:!0}); }}; var module$exports$omid$common$DirectCommunication = function(a) { module$exports$omid$common$Communication.call(this, a); this.communicationType_ = module$exports$omid$common$constants.CommunicationType.DIRECT; this.handleExportedMessage = module$exports$omid$common$DirectCommunication.prototype.handleExportedMessage.bind(this); }; $jscomp.inherits(module$exports$omid$common$DirectCommunication, module$exports$omid$common$Communication); module$exports$omid$common$DirectCommunication.prototype.sendMessage = function(a, b) { b = void 0 === b ? this.to : b; if (!b) { throw Error("Message destination must be defined at construction time or when sending the message."); } b.handleExportedMessage(a.serialize(), this); }; module$exports$omid$common$DirectCommunication.prototype.handleExportedMessage = function(a, b) { module$exports$omid$common$InternalMessage.isValidSerializedMessage(a) && this.handleMessage(module$exports$omid$common$InternalMessage.deserialize(a), b); }; module$exports$omid$common$DirectCommunication.prototype.isCrossOrigin = function() { return !1; }; var module$exports$omid$common$eventTypedefs = {}; var module$exports$omid$common$exporter = {}; function module$contents$omid$common$exporter_getOmidExports() { return "undefined" === typeof omidExports ? null : omidExports; } function module$contents$omid$common$exporter_getOrCreateName(a, b) { return a && (a[b] || (a[b] = {})); } module$exports$omid$common$exporter.packageExport = function(a, b, c) { if (c = void 0 === c ? module$contents$omid$common$exporter_getOmidExports() : c) { a = a.split("."), a.slice(0, a.length - 1).reduce(module$contents$omid$common$exporter_getOrCreateName, c)[a[a.length - 1]] = b; } }; var module$exports$omid$common$guid = {generateGuid:function() { return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(a) { var b = 16 * Math.random() | 0; a = "y" === a ? (b & 3 | 8).toString(16) : b.toString(16); return a; }); }}; var module$exports$omid$common$logger = {error:function(a) { for (var b = [], c = 0; c < arguments.length; ++c) { b[c - 0] = arguments[c]; } module$contents$omid$common$logger_executeLog(function() { throw new (Function.prototype.bind.apply(Error, [null, "Could not complete the test successfully - "].concat($jscomp.arrayFromIterable(b)))); }, function() { return console.error.apply(console, $jscomp.arrayFromIterable(b)); }); }, debug:function(a) { for (var b = [], c = 0; c < arguments.length; ++c) { b[c - 0] = arguments[c]; } module$contents$omid$common$logger_executeLog(function() { }, function() { return console.error.apply(console, $jscomp.arrayFromIterable(b)); }); }}; function module$contents$omid$common$logger_executeLog(a, b) { "undefined" !== typeof jasmine && jasmine ? a() : "undefined" !== typeof console && console && console.error && b(); } ;var module$exports$omid$common$OmidGlobalProvider = {}, module$contents$omid$common$OmidGlobalProvider_globalThis = eval("this"); function module$contents$omid$common$OmidGlobalProvider_getOmidGlobal() { if ("undefined" !== typeof omidGlobal && omidGlobal) { return omidGlobal; } if ("undefined" !== typeof global && global) { return global; } if ("undefined" !== typeof window && window) { return window; } if ("undefined" !== typeof module$contents$omid$common$OmidGlobalProvider_globalThis && module$contents$omid$common$OmidGlobalProvider_globalThis) { return module$contents$omid$common$OmidGlobalProvider_globalThis; } throw Error("Could not determine global object context."); } module$exports$omid$common$OmidGlobalProvider.omidGlobal = module$contents$omid$common$OmidGlobalProvider_getOmidGlobal(); var module$exports$omid$common$windowUtils = {}; function module$contents$omid$common$windowUtils_isValidWindow(a) { return null != a && "undefined" !== typeof a.top && null != a.top; } module$exports$omid$common$windowUtils.isCrossOrigin = function(a) { if (a === module$exports$omid$common$OmidGlobalProvider.omidGlobal) { return !1; } try { if ("undefined" === typeof a.location.hostname) { return !0; } module$contents$omid$common$windowUtils_isSameOriginForIE(a); } catch (b) { return !0; } return !1; }; function module$contents$omid$common$windowUtils_isSameOriginForIE(a) { return "" === a.x || "" !== a.x; } module$exports$omid$common$windowUtils.resolveGlobalContext = function(a) { "undefined" === typeof a && "undefined" !== typeof window && window && (a = window); return module$contents$omid$common$windowUtils_isValidWindow(a) ? a : module$exports$omid$common$OmidGlobalProvider.omidGlobal; }; module$exports$omid$common$windowUtils.resolveTopWindowContext = function(a) { return module$contents$omid$common$windowUtils_isValidWindow(a) ? a.top : module$exports$omid$common$OmidGlobalProvider.omidGlobal; }; var module$exports$omid$common$PostMessageCommunication = function(a, b) { b = void 0 === b ? module$exports$omid$common$OmidGlobalProvider.omidGlobal : b; module$exports$omid$common$Communication.call(this, b); var c = this; this.communicationType_ = module$exports$omid$common$constants.CommunicationType.POST_MESSAGE; a.addEventListener("message", function(a) { if ("object" === typeof a.data) { var b = a.data; module$exports$omid$common$InternalMessage.isValidSerializedMessage(b) && (b = module$exports$omid$common$InternalMessage.deserialize(b), a.source && c.handleMessage(b, a.source)); } }); }; $jscomp.inherits(module$exports$omid$common$PostMessageCommunication, module$exports$omid$common$Communication); module$exports$omid$common$PostMessageCommunication.isCompatibleContext = function(a) { return !!(a && a.addEventListener && a.postMessage); }; module$exports$omid$common$PostMessageCommunication.prototype.sendMessage = function(a, b) { b = void 0 === b ? this.to : b; if (!b) { throw Error("Message destination must be defined at construction time or when sending the message."); } b.postMessage(a.serialize(), "*"); }; module$exports$omid$common$PostMessageCommunication.prototype.isCrossOrigin = function() { return this.to ? (0,module$exports$omid$common$windowUtils.isCrossOrigin)(this.to) : !0; }; var module$exports$omid$common$Rectangle = function(a, b, c, d) { this.x = a; this.y = b; this.width = c; this.height = d; }; var module$exports$omid$common$serviceCommunication = {}, module$contents$omid$common$serviceCommunication_EXPORTED_SESSION_COMMUNICATION_NAME = ["omid", "v1_SessionServiceCommunication"], module$contents$omid$common$serviceCommunication_EXPORTED_VERIFICATION_COMMUNICATION_NAME = ["omid", "v1_VerificationServiceCommunication"], module$contents$omid$common$serviceCommunication_EXPORTED_SERVICE_WINDOW_NAME = ["omid", "serviceWindow"]; function module$contents$omid$common$serviceCommunication_getValueForKeypath(a, b) { return b.reduce(function(a, b) { return a && a[b]; }, a); } function module$contents$omid$common$serviceCommunication_startServiceCommunication(a, b, c, d) { if (!(0,module$exports$omid$common$windowUtils.isCrossOrigin)(b)) { try { var e = module$contents$omid$common$serviceCommunication_getValueForKeypath(b, c); if (e) { return new module$exports$omid$common$DirectCommunication(e); } } catch (f) { } } return d(b) ? new module$exports$omid$common$PostMessageCommunication(a, b) : null; } function module$contents$omid$common$serviceCommunication_startServiceCommunicationFromCandidates(a, b, c, d) { b = $jscomp.makeIterator(b); for (var e = b.next(); !e.done; e = b.next()) { if (e = module$contents$omid$common$serviceCommunication_startServiceCommunication(a, e.value, c, d)) { return e; } } return null; } module$exports$omid$common$serviceCommunication.startSessionServiceCommunication = function(a, b, c) { c = void 0 === c ? module$exports$omid$common$DetectOmid.isOmidPresent : c; var d = [a, (0,module$exports$omid$common$windowUtils.resolveTopWindowContext)(a)]; b && d.unshift(b); return module$contents$omid$common$serviceCommunication_startServiceCommunicationFromCandidates(a, d, module$contents$omid$common$serviceCommunication_EXPORTED_SESSION_COMMUNICATION_NAME, c); }; module$exports$omid$common$serviceCommunication.startVerificationServiceCommunication = function(a, b) { b = void 0 === b ? module$exports$omid$common$DetectOmid.isOmidPresent : b; var c = [], d = module$contents$omid$common$serviceCommunication_getValueForKeypath(a, module$contents$omid$common$serviceCommunication_EXPORTED_SERVICE_WINDOW_NAME); d && c.push(d); c.push((0,module$exports$omid$common$windowUtils.resolveTopWindowContext)(a)); return module$contents$omid$common$serviceCommunication_startServiceCommunicationFromCandidates(a, c, module$contents$omid$common$serviceCommunication_EXPORTED_VERIFICATION_COMMUNICATION_NAME, b); }; var module$exports$omid$common$VastProperties = function(a, b, c, d) { this.isSkippable = a; this.skipOffset = b; this.isAutoPlay = c; this.position = d; }; var module$exports$omid$common$version = {ApiVersion:"1.0", Version:"1.2.20-iab1793"}; var module$contents$omid$verificationClient$VerificationClient_VERIFICATION_CLIENT_VERSION = module$exports$omid$common$version.Version, module$contents$omid$verificationClient$VerificationClient_EventCallback; function module$contents$omid$verificationClient$VerificationClient_getThirdPartyOmid() { var a = module$exports$omid$common$OmidGlobalProvider.omidGlobal.omid3p; return a && "function" === typeof a.registerSessionObserver && "function" === typeof a.addEventListener ? a : null; } var module$exports$omid$verificationClient$VerificationClient = function(a) { if (this.communication = a || (0,module$exports$omid$common$serviceCommunication.startVerificationServiceCommunication)((0,module$exports$omid$common$windowUtils.resolveGlobalContext)())) { this.communication.onMessage = this.handleMessage_.bind(this); } else { if (a = module$contents$omid$verificationClient$VerificationClient_getThirdPartyOmid()) { this.omid3p = a; } } //----------this.remoteIntervals_ = this.remoteTimeouts_ = 0; this.callbackMap_ = {}; this.imgCache_ = []; }; module$exports$omid$verificationClient$VerificationClient.prototype.isSupported = function() { return !(!this.communication && !this.omid3p); }; module$exports$omid$verificationClient$VerificationClient.prototype.registerSessionObserver = function(a, b) { (0,module$exports$omid$common$argsChecker.assertFunction)("functionToExecute", a); this.omid3p ? this.omid3p.registerSessionObserver(a, b) : this.sendMessage_("addSessionListener", a, b); }; module$exports$omid$verificationClient$VerificationClient.prototype.addEventListener = function(a, b) { (0,module$exports$omid$common$argsChecker.assertTruthyString)("eventType", a); (0,module$exports$omid$common$argsChecker.assertFunction)("functionToExecute", b); this.omid3p ? this.omid3p.addEventListener(a, b) : this.sendMessage_("addEventListener", b, a); }; module$exports$omid$verificationClient$VerificationClient.prototype.sendUrl = function(a, b, c) { (0,module$exports$omid$common$argsChecker.assertTruthyString)("url", a); module$exports$omid$common$OmidGlobalProvider.omidGlobal.document && module$exports$omid$common$OmidGlobalProvider.omidGlobal.document.createElement ? this.sendUrlWithImg_(a, b, c) : this.sendMessage_("sendUrl", function(a) { a && b ? b() : !a && c && c(); }, a); }; module$exports$omid$verificationClient$VerificationClient.prototype.sendUrlWithImg_ = function(a, b, c) { var d = this, e = module$exports$omid$common$OmidGlobalProvider.omidGlobal.document.createElement("img"); this.imgCache_.push(e); var f = function(a) { var b = d.imgCache_.indexOf(e); 0 <= b && d.imgCache_.splice(b, 1); a && a(); }; e.addEventListener("load", f.bind(this, b)); e.addEventListener("error", f.bind(this, c)); e.src = a; }; module$exports$omid$verificationClient$VerificationClient.prototype.injectJavaScriptResource = function(a, b, c) { var d = this; (0,module$exports$omid$common$argsChecker.assertTruthyString)("url", a); module$exports$omid$common$OmidGlobalProvider.omidGlobal.document ? this.injectJavascriptResourceUrlInDom_(a, b, c) : this.sendMessage_("injectJavaScriptResource", function(e, f) { e ? (d.evaluateJavaScript_(f, a), b()) : (module$exports$omid$common$logger.error("Service failed to load JavaScript resource."), c()); }, a); }; module$exports$omid$verificationClient$VerificationClient.prototype.injectJavascriptResourceUrlInDom_ = function(a, b, c) { var d = module$exports$omid$common$OmidGlobalProvider.omidGlobal.document, e = d.body; d = d.createElement("script"); d.onload = b; d.onerror = c; d.src = a; d.type = "application/javascript"; e.appendChild(d); }; module$exports$omid$verificationClient$VerificationClient.prototype.evaluateJavaScript_ = function(a, b) { try { eval(a); } catch (c) { module$exports$omid$common$logger.error('Error evaluating the JavaScript resource from "' + b + '".'); } }; module$exports$omid$verificationClient$VerificationClient.prototype.setTimeout = function(a, b) { (0,module$exports$omid$common$argsChecker.assertFunction)("functionToExecute", a); (0,module$exports$omid$common$argsChecker.assertPositiveNumber)("timeInMillis", b); if (this.hasTimeoutMethods_()) { return module$exports$omid$common$OmidGlobalProvider.omidGlobal.setTimeout(a, b); } //----------var c = this.remoteTimeouts_++; var c = ((new Date()).getTime() * 1000000) + (Math.floor(Math.random() * 1000000)); this.sendMessage_("setTimeout", a, c, b); return c; }; module$exports$omid$verificationClient$VerificationClient.prototype.clearTimeout = function(a) { (0,module$exports$omid$common$argsChecker.assertPositiveNumber)("timeoutId", a); this.hasTimeoutMethods_() ? module$exports$omid$common$OmidGlobalProvider.omidGlobal.clearTimeout(a) : this.sendOneWayMessage_("clearTimeout", a); }; module$exports$omid$verificationClient$VerificationClient.prototype.setInterval = function(a, b) { (0,module$exports$omid$common$argsChecker.assertFunction)("functionToExecute", a); (0,module$exports$omid$common$argsChecker.assertPositiveNumber)("timeInMillis", b); if (this.hasIntervalMethods_()) { return module$exports$omid$common$OmidGlobalProvider.omidGlobal.setInterval(a, b); } //----------var c = this.remoteIntervals_++; var c = ((new Date()).getTime() * 1000000) + (Math.floor(Math.random() * 1000000)); this.sendMessage_("setInterval", a, c, b); return c; }; module$exports$omid$verificationClient$VerificationClient.prototype.clearInterval = function(a) { (0,module$exports$omid$common$argsChecker.assertPositiveNumber)("intervalId", a); this.hasIntervalMethods_() ? module$exports$omid$common$OmidGlobalProvider.omidGlobal.clearInterval(a) : this.sendOneWayMessage_("clearInterval", a); }; module$exports$omid$verificationClient$VerificationClient.prototype.hasTimeoutMethods_ = function() { return "function" === typeof module$exports$omid$common$OmidGlobalProvider.omidGlobal.setTimeout && "function" === typeof module$exports$omid$common$OmidGlobalProvider.omidGlobal.clearTimeout; }; module$exports$omid$verificationClient$VerificationClient.prototype.hasIntervalMethods_ = function() { return "function" === typeof module$exports$omid$common$OmidGlobalProvider.omidGlobal.setInterval && "function" === typeof module$exports$omid$common$OmidGlobalProvider.omidGlobal.clearInterval; }; module$exports$omid$verificationClient$VerificationClient.prototype.handleMessage_ = function(a, b) { b = a.method; var c = a.guid; a = a.args; if ("response" === b && this.callbackMap_[c]) { var d = (0,module$exports$omid$common$ArgsSerDe.deserializeMessageArgs)(module$contents$omid$verificationClient$VerificationClient_VERIFICATION_CLIENT_VERSION, a); this.callbackMap_[c].apply(this, d); } "error" === b && window.console && module$exports$omid$common$logger.error(a); }; module$exports$omid$verificationClient$VerificationClient.prototype.sendOneWayMessage_ = function(a, b) { for (var c = [], d = 1; d < arguments.length; ++d) { c[d - 1] = arguments[d]; } this.sendMessage_.apply(this, [a, null].concat($jscomp.arrayFromIterable(c))); }; module$exports$omid$verificationClient$VerificationClient.prototype.sendMessage_ = function(a, b, c) { for (var d = [], e = 2; e < arguments.length; ++e) { d[e - 2] = arguments[e]; } this.communication && (e = (0,module$exports$omid$common$guid.generateGuid)(), b && (this.callbackMap_[e] = b), d = new module$exports$omid$common$InternalMessage(e, "VerificationService." + a, module$contents$omid$verificationClient$VerificationClient_VERIFICATION_CLIENT_VERSION, (0,module$exports$omid$common$ArgsSerDe.serializeMessageArgs)(module$contents$omid$verificationClient$VerificationClient_VERIFICATION_CLIENT_VERSION, d)), this.communication.sendMessage(d)); }; (0,module$exports$omid$common$exporter.packageExport)("OmidVerificationClient", module$exports$omid$verificationClient$VerificationClient); }, typeof exports === 'undefined' ? undefined : exports)); } catch(e) { __IntegralASDiagnosticCall('thirdparty', e); } __IASScope.isDomless = (typeof window === "undefined" ? true : false); __IASOmidVerificationClient = { isSupported: function () { return false; } }; if (typeof __IASScope.OmidVerificationClient !== 'undefined') { try { __IASOmidVerificationClient = new __IASScope.OmidVerificationClient['1.2.20-iab1793'](); //try standard in-browser instantiation } catch(e) { try { __IASOmidVerificationClient = new __IASScope.OmidVerificationClient(); //try domless version which has no version } catch(e) { } } } __IntegralASConfig.useFIF = (__IASScope && !!__IASScope.__IntegralASUseFIF) && __IntegralASConfig.mode === 'jload'; __IntegralASConfig.adRefreshThreshold = __IASScope && __IASScope.__IntegralASAdRefreshThreshold; __IntegralASConfig.getContextNode = function(win, topWin) { 'use strict'; if (__IASScope.isDomless) { return; } if (__IntegralASConfig.useFIF) { return __IASScope.frameElement; // Early exit if using FIF } var tempScript, embedded = win != topWin, scripts = document.getElementsByTagName('script'), result = scripts[scripts.length - 1], scriptIndex = scripts.length, useDocWrite = 'jss,jsi,jspix'.indexOf(__IntegralASConfig.mode) !== -1, scriptUrl = __IntegralASConfig.scriptUrl; try { while (--scriptIndex >= 0) { tempScript = scripts[scriptIndex]; if ( tempScript.src && tempScript.src.indexOf(scriptUrl) === 0 && tempScript.getAttribute('data-ias-script-tag') === null ) { result = tempScript; tempScript.setAttribute('data-ias-script-tag', 'found'); break; } } if (scriptIndex === 0 && useDocWrite && !embedded) { document.write(''); result = document.getElementById('s' + __IntegralASConfig.asid).parentNode; } } catch (e) {} // TODO: maybe a jsDiagnostic? return result; }; __IntegralASConfig.contextNode = __IASScope.isDomless ? undefined : __IntegralASConfig.getContextNode(window, top); __IntegralASConfig.perfFactory = function() { 'use strict'; var _marks = {}; var START_CODE = 'A'; var END_CODE = 'Z'; function _addMark(codeName, time) { _marks[codeName] = time; } function mark(codeName) { _addMark(codeName, Math.round(__IASScope.performance.now())); } function markStart(baseName) { mark(baseName + START_CODE); } function markEnd(baseName) { mark(baseName + END_CODE); } function markResource(baseName, url) { var entry, entries; entries = __IASScope.performance.getEntriesByName(url); if (entries && entries.length) { entry = entries[entries.length - 1]; if (entry.startTime > 0 && entry.responseEnd > 0) { _addMark(baseName + START_CODE, Math.round(entry.startTime)); _addMark(baseName + END_CODE, Math.round(entry.responseEnd)); } } } function getData() { return _marks; } function noop() {} function setNoops() { _addMark = noop; mark = noop; markStart = noop; markEnd = noop; markResource = noop; } function isFunc(obj) { return typeof obj === 'function'; } function _init() { var canUsePerformanceAPIs = false; var PERF_MARK_BOOTSTRAPPER_EXECUTION = 'be'; var PERF_MARK_BOOTSTRAPPER_SCRIPT_DOWNLOAD = 'bd'; var PERF_MARK_MAIN_SCRIPT_DOWNLOAD = 'md'; // note: this code is intentionally the same as the one in globalConstants.js var downloadMark; try { canUsePerformanceAPIs = __IASScope.performance && isFunc(__IASScope.performance.getEntriesByName) && isFunc(__IASScope.performance.now) && __IntegralASConfig.perfBirth !== null; // initialized to null or a time in jsAddOns1-birthdate.js if (canUsePerformanceAPIs) { downloadMark = __IntegralASConfig.jsDoSplit ? PERF_MARK_BOOTSTRAPPER_SCRIPT_DOWNLOAD : PERF_MARK_MAIN_SCRIPT_DOWNLOAD; markResource(downloadMark, __IntegralASConfig.scriptUrl); // in split mode, this captures download time for the bootstrapper script, in bundled mode, the bundled/main script _addMark(PERF_MARK_BOOTSTRAPPER_EXECUTION + START_CODE, Math.round(__IntegralASConfig.perfBirth)); // put the birthdate that we already captured into our list of marks markEnd(PERF_MARK_BOOTSTRAPPER_EXECUTION); // roughly the end time of execution for the bootstrapper script in split mode, in bundled mode, end of the bootstrapper part of the script and start of the module definition part } else { setNoops(); } } catch (err) { // TODO: remove if we never get here? setNoops(); if (isFunc(__IASScope.__IntegralASDiagnosticCall)) { __IASScope.__IntegralASDiagnosticCall('perf', err, __IntegralASConfig); } } } _init(); return { mark: mark, markStart: markStart, markEnd: markEnd, markResource: markResource, getData: getData }; }; __IntegralASConfig.perf = __IntegralASConfig.perfFactory(); } catch(err) { __IntegralASConfig = {}; __IntegralASDiagnosticCall('bootstrapper', err); } __IntegralASConfig.initialize=function(m,y,L){function Qa(){var g,a,b;m.perf.markStart(na);w.startSystem();l=w.getAggregator();l.provide({omidAdSessionContext:{}});l.provide({omidAdSessionVerificationParameters:{}});g=Ra();a=oa();b=(new Sa).createInstance(g,a);l.provide({mErrors:g,mJsonp:a,mComm:b});g=__IASOmidVerificationClient;l.provide({omidVerificationClient:g});l.once("callContinueMain",function(){var a,b;m.perf.markStart(pa);b=Z.instantiateModules();a=Z.preImpression(b.mDataTransfer,b.mViewability, b.mAdTalk,b.iOutput,b.mErrors,b.mAncestorOrigins,b.mBrowser,b.mPageUrls,b.mFeatures,t,b.renderDetector);Z.sendImpression(b.mErrors,b.mFeatures,b.mIds,b.mMode,b.iOutput,b.mBrowser,b.mViewability,a,b.mVideo);Z.postImpression(b.mBrowser,b.mIds,b.mViewability,b.mFeatures,b.mComm,b.mDataTransfer,b.mErrors,b.iOutput,b.loopDelay,b.mAdTalk,b.viewabilityMeasurement,b.mAncestorOrigins,t);m.perf.markEnd(pa)});l.on("tryToCallContinueMain",function(a){m.isResolved?l.trigger("callContinueMain"):l.trigger("requestBootstrapper", a)});l.once("requestBootstrapper",function(a){var b=m.forcedBootstrapperHost||"http://jsconfig.adsafeprotected.com";"string"===typeof a&&(a=JSON.parse(a));var e=a&&a.config,k=a&&a.sca,u=a&&a.xsca;e&&l.trigger("jsonp",b+"/jsconfig"+e+(m.adSessionId?"&adSessionId="+m.adSessionId:""),function(a){Object.assign(m,"string"===typeof a?JSON.parse(a):a);m.isResolved=!0;m.sp_cdnScripts={sca:k,xsca:u};l.trigger("callContinueMain")},!1,"cbName")});g=[{environment:new da(g),adSessionReadyStrategy:new Ta(g)},{environment:new Ua, adSessionReadyStrategy:new Va}];(new Wa(g)).resolve().adSessionReadyStrategy.start();m.perf.markEnd(na)}var l,Z=function(){function g(a){var b=new Xa(a,t),c=new Ya,d=new Za(a,t),p=$a(a,t),q=(new ab(m,t,a)).resolve(),g=[b],A=[];p.applies()&&g.push(p);d.applies()&&g.push(d);c.applies(a,t)&&g.push(c);f(q).each(function(a,b){g.push(new bb(b,t));A.push(b.id)});0g,d="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),e=[];g=c?-g:g;do b=g%a,e.push(d[b]),g=(g-b)/a;while(0=h.RENDER.WIDTH_THRESHOLD&&C.height>=h.RENDER.HEIGHT_THRESHOLD&& (d.status=h.RENDER.STATUS.DETECTED,c?r.clearInterval(c):n=!1);d.details=g.build(f)}else d.details=k.getClosestContainerName()||g.getAdNodeName(b)||d.details;u(d)};t.isMraid()?l():f()})};return{start:function(){l.trigger("perfCheckpoint",{type:h.PERF_TIMELINE_TRACKER_CONFIG.RENDER.TYPE,timestamp:r.now(),code:"initial"});g=new $b;l.on("impressionsent",d);t.isAvid()||t.isOmid()||t.isVideo()?u(c):(u(b),n())}}},$b=function(){var g=!1,a=[],b=function(a){var b;if(s.isWindow(a))b="WINDOW";else if(s.isNodeXDomainIframe(a))b= "XIFRAME";else try{b=s.getNodeName(a)}catch(e){}return b};return{build:function(c,d){var e=c&&s.getRect(c),k=b(c),u=c&&"IMG"===k,n=s.hasBackgroundImage(c),p=c.innerText&&0=h.RENDER.WIDTH_THRESHOLD&&e.height>=h.RENDER.HEIGHT_THRESHOLD?h.RENDER.DIAGNOSTIC.QUALIFIED_SIZE:h.RENDER.DIAGNOSTIC.UNQUALIFIED_SIZE];!n&&!u||0!==c.naturalWidth&&0!==c.naturalHeight||q.push(h.RENDER.DIAGNOSTIC.BROKEN_IMAGE);n&&q.push(h.RENDER.DIAGNOSTIC.STYLED_NODE); p&&q.push(h.RENDER.DIAGNOSTIC.TEXT_NODE);d&&d.eventType&&("readystatechange"===d.eventType?q.push(h.RENDER.DIAGNOSTIC.DOCUMENT_READY):"load"===d.eventType&&q.push(h.RENDER.DIAGNOSTIC.LOAD_FIRED));g&&f(a).each(function(a,b){q.push(b)});return q.join(".")},getAdNodeName:b,appendCode:function(b){a.push(b);g=!0}}},Zb=function(g){return{status:function(){var a=g.details||h.RENDER.DETAILS.OTHER,b=g.status||h.RENDER.STATUS.OTHER,c=a.split(".")[0],d="env"===a,e=c&&-1!==h.RENDER.CREATIVE_NODE_TYPES.indexOf(c.toUpperCase()), c="XIFRAME"===c,k=-1!==a.indexOf("tn"),a=-1!==a.indexOf("sn");return d?b:e||c||k||a?"1":"0"}}},$=function(){return{applies:function(g,a){var b=w.getAggregator().request("mobileApp"),c=!a.bootstrapOn("mobOrTab")&&g.browserIs(h.BROWSERS.WEBKIT);return(g.browserIs(h.BROWSERS.CHROME)||g.isAndroidWebViewBrowser()||c||g.browserIs(h.BROWSERS.MSEDGE))&&!b.isMobileAppEnvironment()&&g.hasIntersectionObserver()&&a.on("chromeNativeIO")}}},Ob=function(){var g,a,b=!1,c=l.request("mPage"),d=function(){!b&&a&&g&& !c.isHidden()&&(b=!0,l.trigger("sendDt",h.DT_CODES.LARGE_BILLABLE))};l.on("primaryadfound",function(a){g=a.getDims().area()>=h.MRC_LARGE_AD_SIZE;d()});l.on("impressionsent",function(){a=!0;d()});c.onHiddenChange(d)},ub=function(){var g=[],a={},b={percentInView:"piv",sl:"vs",reason:"r",width:"w",height:"h"};l.on("newScreenEvent",function(c){c=f(c).selectProperties(f(b).keys());c=f(c).asStrings();var d=f(c).compareTo(a);d&&(d.t=t.getTagTime(),g.push(d));f(a).mixin(c)});return{toString:function(){return f(g).toION(b)}}}, wa=function(){var g=new ac,a=new D;return f(g).mixin(a)},D=function(){var g={},a={},b=function(b,c,k){if((b=a[b])&&0!==b)return k&&(b=b.slice(0,1)),f(b).each(function(a,b){c.apply({},b)}),!0},c=function(a,b,c){g[a]=g[a]||new ga;g[a].push(b,c)};return{on:function(a,e){var k={};e?k[a]=e:k=a;f(k).each(c);f(k).each(b)},once:function(a,e){b(a,e,!0)||c(a,e,1)},trigger:function(a){var b=f(arguments).toArray();b.shift();var c;(c=g[a])&&c.run.apply({},b)},persistentTrigger:function(b){var c=f(arguments).toArray(); c.shift();var k=b;a[k]=a[k]||[];a[k].push(c);(k=g[b])&&k.run.apply({},c)}}},ha=function(){var g=function(a,c,d){var e,k=c.length,u=s.isWindow(a)?a.frames:s.getChildWindowsOf(a);d&&d(a,c);if(u&&u.length){for(a=0;a=e&&!a[e]&&(d.getTask().call(),a[e]=!0)})}}},bc=function(){var g,a=new xa,b=function(b,d,e,k){var u,n,p,q;if(JSON&&JSON.parse)try{u=JSON.parse(b.data),n=b.source,q=f.noop,d(u)&& (k&&(p=k(n,u))&&(q=function(){a.send(function(){return p},n)}),e(b,u,q))}catch(g){u&&w.getAggregator().trigger("error",h.ERROR_CODES.MESSAGE_LISTENER)}};return{listen:function(a,d,e){g=function(k){b(k,a,d,e)};z.addEvent(y,"message",g)},stop:function(){g&&z.removeEvent(y,"message",g);g=null}}},xa=function(){var g=function(a){return f(a).isObj()?[a]:(new ha).getFrames(a)},a=function(a){return f(a).mapToObj(function(a,b){var e;f.isFunction(b)||(e={},e[a]=b);return e})};return{send:function(b,c){if(JSON&& JSON.stringify){var d=g(c);f(d).each(function(c,d){var u;u=f.resolve(b,d)||{};u.sentTime=r.now();u=a(u);d.postMessage(f(u).JSONStringify(),"*")})}}}},cc=function(g,a){return{onAll:function(b){var c={};f(a).each(function(d,e){g.on(e,function(){c[e]=1;f(c).keys().length===a.length&&(c={},b())})})}}},qb=function(g){var a=0,b={},c=function(b,c,d){if(f.isUndef(b.output))throw Error("item with id "+c+' must have "output" method');this.item=b;this.id=c||++a;this.props=d||{};this.output=function(){var a= f.resolve(b.output);this.props.asION&&(a=f(a).toION());return a}},d=function(a){var c,d,e=[];for(c in b)b.hasOwnProperty(c)&&(d=a(c,b[c]))&&e.push(d);return e},e=function(a,d,e){e=e||d;e="string"!==typeof e?e:{};var p=function(a,d,e){a=new c(a,d,e);b[a.id]=a};f(a.output).isObj()&&!e.asION?f(a.output).each(function(a,b){p({output:b},a,e)}):p(a,d,e)};g.on("addOutputItem",function(a,b,c){e(a,b,c)});return{addItem:e,filterOutput:function(a,b){return d(function(c,d){var e=d.props,g;a(e)&&(g=d.output(), e.encode&&(c=encodeURIComponent(c),g=encodeURIComponent(g)),f.isFunction(b)?b(c,g):b[c]=g)})},iterate:d,cleanup:function(){d(function(a,c){c.props.flagForRemoval&&delete b[a]})},getItem:function(a){return b[a]}}},ac=function(){var g={},a=function(a,c){g[a]=c};return{request:function(a){var c,d=g[a],e=f(arguments).toArray();e.shift();f.isUndef(d)||(c=f.isFunction(d)?d.apply({},e):d);return c},provide:function(b,c){c?g[b]=c:f(b).each(a);return c}}},Fb=function(){return{createInstance:function(g,a,b, c){return t.isDomless()?new dc:new ec(g,a,b,c)}}},ec=function(g,a,b,c){var d;return{collect:function(){var a=g.find(),k=a.getOutOfViewReasons(),u=b.isHidden(),n=c.isDeviceTypeGroupMobile()&&d?d:J(s.calcWinDims()),p=a.getDims();d=n;if(!a.hasAd()||!n.hasValidDims()||!p.hasValidDims())return{viewState:h.NA,posViewState:h.NA,embedded:t.embedded,winDimensions:n,adDimensions:p};!0===u&&k.push(h.OUT_OF_VIEW_REASONS.FOCUS);return{winDimensions:n,adDimensions:p,containerDimensions:a.getContainerDims(),method:a.getDetectionMethod(), viewState:k.length?h.OUT_OF_VIEW:a.getViewState(),percentInView:a.getPercentInView(),reason:k.join("."),obstructed:f.stringifyTriState(a.isObstructed()),isHidden:f.stringifyTriState(a.isHidden()),tabHidden:f.stringifyTriState(u),posViewState:a.getViewState(),adCompCount:a.getComponentCount(),sliceStatus:a.getSliceStatus()}}}},dc=function(){return{collect:function(){return{}}}},fc=function(g){g=g||f.identity;var a=[],b=r.now(),c=function(){var c=r.now();a.length&&(a[a.length-1].duration+=c-b,b=c)}; return{clear:function(){c();a=[]},fastForward:c,get:function(){return a},hasAlwaysBeen:function(b){return 1===a.length&&a[0].state===b},addState:function(b){var e=a[a.length-1];b=g(b);c();0!==a.length&&b===e.state||a.push({state:b,duration:0})}}},ya=function(g,a){var b=g||1,c=0,d=0,e,k=0;return{start:function(){0===c%b&&(e=r.now())},stop:function(){var u=e||a;0===c%b&&(k+=r.now()-u,d++);c++},getTime:function(){return k},getCount:function(){return d}}},za=function(){var g,a=0,b=0,c=new D(!0),d=function(){g&& (a++,c.trigger(a),b>a?r.execAtEndOfThread(d):e())},e=function(){g=!1;a=0};return{onTick:function(a,d){var e=f.collapseArgsIntoHash(a,d);f(e).each(function(a,c){a=parseInt(a);b=a>b?a:b});c.on(e)},start:function(){g||(g=!0,r.execAtEndOfThread(d))},kill:e,isActive:function(){return g}}},gc=function(g,a){var b,c=a,d=function(a){b||(a&&g(),b=r.setInterval(g,c))},e=function(a){a&&g();r.clearInterval(b);b=null};return{start:d,stop:e,updateFrequency:function(a,b){c=a;e();d(b)}}},ea=function(g){var a,b,c= 0,d=t.getTagTime(),e=0,k=!1;return{getTotalTime:function(){return e},stop:function(){c=0;d=t.getTagTime();k=!1},mark:function(){a=k?t.getTagTime()-d:0;c+=a;c>=g&&(b=c-a=c.concat(b).join("").length&&c.push(b)});return c},a=function(a,c){var d;c&&c.id&&(d=c.id.replace(/[^\w-_.>\/]/g,""));return d};return function(){var b,c;try{if(t.friendly&&!t.isMobileApp())if(b=l.request("adSlotIds"))c=b;else{var d,e;if(d=s.getOurNodeInTop()){var k=s.getAncestorNodes(d);e=f(k).map(a)}if(b=e=e&&g(e))l.trigger("addOutputItem", {output:b},"slid",{type:h.DT_CODES.ADTALK,asION:!0}),l.provide("adSlotIds",b),c=b}return c}catch(u){l.trigger("error",h.ERROR_CODES.AD_SLOT_ID)}}()};w("AdRefreshDetection",[],function(){var g=[30,45,60,90],a={start:function(){var a=this,c=m.asid,d=this.getChanId();c&&d&&(this.recordAdSlotImpression(c,d,function(c,d){c?l.trigger("error",h.ERROR_CODES.AD_REFRESH):a.sendRefreshSession(d)}),a.registerInternalViewabilityListener(d))},adRefreshIntervalIsValid:function(a){return-1!==g.indexOf(a)},getChanId:function(){for(var a= m.reqquery.split("&"),c,d=/(\S+)=(\S+)/g,e=0;e