UNPKG

ads-manager

Version:

HTML5 Video Ads Manager based on @dailymotion/vast-client

22 lines (20 loc) 109 kB
/*! * ads-manager v1.2.16 development * Updated : 2025-02-16 */ /* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./node_modules/@dailymotion/vast-client/dist/vast-client.min.js": /*!***********************************************************************!*\ !*** ./node_modules/@dailymotion/vast-client/dist/vast-client.min.js ***! \***********************************************************************/ /***/ (function(__unused_webpack_module, exports) { eval("!function(e,t){ true?t(exports):0}(this,(function(e){\"use strict\";function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function r(e){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?t(Object(i),!0).forEach((function(t){s(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function o(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&c(e,t)}function u(e){return u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},u(e)}function c(e,t){return c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},c(e,t)}function d(e,t){if(t&&(\"object\"==typeof t||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}function p(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=u(e);if(t){var n=u(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return d(this,r)}}function h(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return v(e,t)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adId:e.adId||null,sequence:e.sequence||null,apiFramework:e.apiFramework||null,universalAdIds:[],creativeExtensions:[]}}var m=[\"ADCATEGORIES\",\"ADCOUNT\",\"ADPLAYHEAD\",\"ADSERVINGID\",\"ADTYPE\",\"APIFRAMEWORKS\",\"APPBUNDLE\",\"ASSETURI\",\"BLOCKEDADCATEGORIES\",\"BREAKMAXADLENGTH\",\"BREAKMAXADS\",\"BREAKMAXDURATION\",\"BREAKMINADLENGTH\",\"BREAKMINDURATION\",\"BREAKPOSITION\",\"CLICKPOS\",\"CLICKTYPE\",\"CLIENTUA\",\"CONTENTID\",\"CONTENTPLAYHEAD\",\"CONTENTURI\",\"DEVICEIP\",\"DEVICEUA\",\"DOMAIN\",\"EXTENSIONS\",\"GDPRCONSENT\",\"IFA\",\"IFATYPE\",\"INVENTORYSTATE\",\"LATLONG\",\"LIMITADTRACKING\",\"MEDIAMIME\",\"MEDIAPLAYHEAD\",\"OMIDPARTNER\",\"PAGEURL\",\"PLACEMENTTYPE\",\"PLAYERCAPABILITIES\",\"PLAYERSIZE\",\"PLAYERSTATE\",\"PODSEQUENCE\",\"REGULATIONS\",\"SERVERSIDE\",\"SERVERUA\",\"TRANSACTIONID\",\"UNIVERSALADID\",\"VASTVERSIONS\",\"VERIFICATIONVENDORS\"];function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=[],n=A(e);for(var a in!t.ERRORCODE||r.isCustomCode||/^[0-9]{3}$/.test(t.ERRORCODE)||(t.ERRORCODE=900),t.CACHEBUSTING=E(Math.round(1e8*Math.random())),t.TIMESTAMP=(new Date).toISOString(),t.RANDOM=t.random=t.CACHEBUSTING,t)t[a]=b(t[a]);for(var o in n){var s=n[o];\"string\"==typeof s&&i.push(y(s,t))}return i}function y(e,t){var r=(e=T(e,t)).match(/[^[\\]]+(?=])/g);if(!r)return e;var i=r.filter((function(e){return m.indexOf(e)>-1}));return 0===i.length?e:T(e,i=i.reduce((function(e,t){return e[t]=-1,e}),{}))}function T(e,t){var r=e;for(var i in t){var n=t[i];r=r.replace(new RegExp(\"(?:\\\\[|%%)(\".concat(i,\")(?:\\\\]|%%)\"),\"g\"),n)}return r}function A(e){return Array.isArray(e)?e.map((function(e){return e&&e.hasOwnProperty(\"url\")?e.url:e})):e}function k(e,t){for(var r=0;r<t.length;r++)if(R(t[r],e))return!0;return!1}function R(e,t){if(e&&t){var r=Object.getOwnPropertyNames(e),i=Object.getOwnPropertyNames(t);return r.length===i.length&&(e.id===t.id&&e.url===t.url)}return!1}function b(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return\"%\".concat(e.charCodeAt(0).toString(16))}))}function E(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return e.toString().padStart(t,\"0\")}var N={track:function(e,t,r){g(e,t,r).forEach((function(e){\"undefined\"!=typeof window&&null!==window&&((new Image).src=e)}))},resolveURLTemplates:g,extractURLsFromTemplates:A,containsTemplateObject:k,isTemplateObjectEqual:R,encodeURIComponentRFC3986:b,replaceUrlMacros:y,isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},flatten:function e(t){return t.reduce((function(t,r){return t.concat(Array.isArray(r)?e(r):r)}),[])},joinArrayOfUniqueTemplateObjs:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=Array.isArray(e)?e:[],i=Array.isArray(t)?t:[],n=r.concat(i);return n.reduce((function(e,t){return k(t,e)||e.push(t),e}),[])},isValidTimeValue:function(e){return Number.isFinite(e)&&e>=-2},addLeadingZeros:E};function L(e){return-1!==[\"true\",\"TRUE\",\"True\",\"1\"].indexOf(e)}var w={childByName:function(e,t){var r=e.childNodes;for(var i in r){var n=r[i];if(n.nodeName===t)return n}},childrenByName:function(e,t){var r=[],i=e.childNodes;for(var n in i){var a=i[n];a.nodeName===t&&r.push(a)}return r},resolveVastAdTagURI:function(e,t){if(!t)return e;if(0===e.indexOf(\"//\")){var r=location.protocol;return\"\".concat(r).concat(e)}if(-1===e.indexOf(\"://\")){var i=t.slice(0,t.lastIndexOf(\"/\"));return\"\".concat(i,\"/\").concat(e)}return e},parseBoolean:L,parseNodeText:function(e){return e&&(e.textContent||e.text||\"\").trim()},copyNodeAttribute:function(e,t,r){var i=t.getAttribute(e);i&&r.setAttribute(e,i)},parseAttributes:function(e){for(var t=e.attributes,r={},i=0;i<t.length;i++)r[t[i].nodeName]=t[i].nodeValue;return r},parseDuration:function(e){if(null==e)return-1;if(N.isNumeric(e))return parseInt(e);var t=e.split(\":\");if(3!==t.length)return-1;var r=t[2].split(\".\"),i=parseInt(r[0]);2===r.length&&(i+=parseFloat(\"0.\".concat(r[1])));var n=parseInt(60*t[1]),a=parseInt(60*t[0]*60);return isNaN(a)||isNaN(n)||isNaN(i)||n>3600||i>60?-1:a+n+i},splitVAST:function(e){var t=[],r=null;return e.forEach((function(i,n){if(i.sequence&&(i.sequence=parseInt(i.sequence,10)),i.sequence>1){var a=e[n-1];if(a&&a.sequence===i.sequence-1)return void(r&&r.push(i));delete i.sequence}r=[i],t.push(r)})),t},assignAttributes:function(e,t){if(e)for(var r in e){var i=e[r];if(i.nodeName&&i.nodeValue&&t.hasOwnProperty(i.nodeName)){var n=i.nodeValue;\"boolean\"==typeof t[i.nodeName]&&(n=L(n)),t[i.nodeName]=n}}},mergeWrapperAdData:function(e,t){e.errorURLTemplates=t.errorURLTemplates.concat(e.errorURLTemplates),e.impressionURLTemplates=t.impressionURLTemplates.concat(e.impressionURLTemplates),e.extensions=t.extensions.concat(e.extensions),t.viewableImpression.length>0&&(e.viewableImpression=[].concat(h(e.viewableImpression),h(t.viewableImpression))),e.followAdditionalWrappers=t.followAdditionalWrappers,e.allowMultipleAds=t.allowMultipleAds,e.fallbackOnNoAd=t.fallbackOnNoAd;var r=(t.creatives||[]).filter((function(e){return e&&\"companion\"===e.type})),i=r.reduce((function(e,t){return(t.variations||[]).forEach((function(t){(t.companionClickTrackingURLTemplates||[]).forEach((function(t){N.containsTemplateObject(t,e)||e.push(t)}))})),e}),[]);e.creatives=r.concat(e.creatives);var n=t.videoClickTrackingURLTemplates&&t.videoClickTrackingURLTemplates.length,a=t.videoCustomClickURLTemplates&&t.videoCustomClickURLTemplates.length;e.creatives.forEach((function(e){if(t.trackingEvents&&t.trackingEvents[e.type])for(var r in t.trackingEvents[e.type]){var o=t.trackingEvents[e.type][r];Array.isArray(e.trackingEvents[r])||(e.trackingEvents[r]=[]),e.trackingEvents[r]=e.trackingEvents[r].concat(o)}\"linear\"===e.type&&(n&&(e.videoClickTrackingURLTemplates=e.videoClickTrackingURLTemplates.concat(t.videoClickTrackingURLTemplates)),a&&(e.videoCustomClickURLTemplates=e.videoCustomClickURLTemplates.concat(t.videoCustomClickURLTemplates)),!t.videoClickThroughURLTemplate||null!==e.videoClickThroughURLTemplate&&void 0!==e.videoClickThroughURLTemplate||(e.videoClickThroughURLTemplate=t.videoClickThroughURLTemplate)),\"companion\"===e.type&&i.length&&(e.variations||[]).forEach((function(e){e.companionClickTrackingURLTemplates=N.joinArrayOfUniqueTemplateObjs(e.companionClickTrackingURLTemplates,i)}))})),t.adVerifications&&(e.adVerifications=e.adVerifications.concat(t.adVerifications)),t.blockedAdCategories&&(e.blockedAdCategories=e.blockedAdCategories.concat(t.blockedAdCategories))}};function U(e,t){var r=function(){var e=f(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),t=e.id,r=e.adId,i=e.sequence,n=e.apiFramework;return{id:t,adId:r,sequence:i,apiFramework:n,type:\"companion\",required:null,variations:[]}}(t);return r.required=e.getAttribute(\"required\")||null,r.variations=w.childrenByName(e,\"Companion\").map((function(e){var t=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adType:\"companionAd\",width:e.width||0,height:e.height||0,assetWidth:e.assetWidth||null,assetHeight:e.assetHeight||null,expandedWidth:e.expandedWidth||null,expandedHeight:e.expandedHeight||null,apiFramework:e.apiFramework||null,adSlotID:e.adSlotID||null,pxratio:e.pxratio||\"1\",renderingMode:e.renderingMode||\"default\",staticResources:[],htmlResources:[],iframeResources:[],adParameters:null,xmlEncoded:null,altText:null,companionClickThroughURLTemplate:null,companionClickTrackingURLTemplates:[],trackingEvents:{}}}(w.parseAttributes(e));t.htmlResources=w.childrenByName(e,\"HTMLResource\").reduce((function(e,t){var r=w.parseNodeText(t);return r?e.concat(r):e}),[]),t.iframeResources=w.childrenByName(e,\"IFrameResource\").reduce((function(e,t){var r=w.parseNodeText(t);return r?e.concat(r):e}),[]),t.staticResources=w.childrenByName(e,\"StaticResource\").reduce((function(e,t){var r=w.parseNodeText(t);return r?e.concat({url:r,creativeType:t.getAttribute(\"creativeType\")||null}):e}),[]),t.altText=w.parseNodeText(w.childByName(e,\"AltText\"))||null;var r=w.childByName(e,\"TrackingEvents\");r&&w.childrenByName(r,\"Tracking\").forEach((function(e){var r=e.getAttribute(\"event\"),i=w.parseNodeText(e);r&&i&&(Array.isArray(t.trackingEvents[r])||(t.trackingEvents[r]=[]),t.trackingEvents[r].push(i))})),t.companionClickTrackingURLTemplates=w.childrenByName(e,\"CompanionClickTracking\").map((function(e){return{id:e.getAttribute(\"id\")||null,url:w.parseNodeText(e)}})),t.companionClickThroughURLTemplate=w.parseNodeText(w.childByName(e,\"CompanionClickThrough\"))||null;var i=w.childByName(e,\"AdParameters\");return i&&(t.adParameters=w.parseNodeText(i),t.xmlEncoded=i.getAttribute(\"xmlEncoded\")||null),t})),r}function C(e){return\"linear\"===e.type}function I(e,t){var r,i=function(){var e=f(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),t=e.id,r=e.adId,i=e.sequence,n=e.apiFramework;return{id:t,adId:r,sequence:i,apiFramework:n,type:\"linear\",duration:0,skipDelay:null,mediaFiles:[],mezzanine:null,interactiveCreativeFile:null,closedCaptionFiles:[],videoClickThroughURLTemplate:null,videoClickTrackingURLTemplates:[],videoCustomClickURLTemplates:[],adParameters:null,icons:[],trackingEvents:{}}}(t);i.duration=w.parseDuration(w.parseNodeText(w.childByName(e,\"Duration\")));var n=e.getAttribute(\"skipoffset\");if(null==n)i.skipDelay=null;else if(\"%\"===n.charAt(n.length-1)&&-1!==i.duration){var a=parseInt(n,10);i.skipDelay=i.duration*(a/100)}else i.skipDelay=w.parseDuration(n);var o=w.childByName(e,\"VideoClicks\");if(o){var s=w.childByName(o,\"ClickThrough\");i.videoClickThroughURLTemplate=s?{id:s.getAttribute(\"id\")||null,url:w.parseNodeText(s)}:null,w.childrenByName(o,\"ClickTracking\").forEach((function(e){i.videoClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:w.parseNodeText(e)})})),w.childrenByName(o,\"CustomClick\").forEach((function(e){i.videoCustomClickURLTemplates.push({id:e.getAttribute(\"id\")||null,url:w.parseNodeText(e)})}))}var l=w.childByName(e,\"AdParameters\");l&&(i.adParameters=w.parseNodeText(l)),w.childrenByName(e,\"TrackingEvents\").forEach((function(e){w.childrenByName(e,\"Tracking\").forEach((function(e){var t=e.getAttribute(\"event\"),n=w.parseNodeText(e);if(t&&n){if(\"progress\"===t){if(!(r=e.getAttribute(\"offset\")))return;t=\"%\"===r.charAt(r.length-1)?\"progress-\".concat(r):\"progress-\".concat(Math.round(w.parseDuration(r)))}Array.isArray(i.trackingEvents[t])||(i.trackingEvents[t]=[]),i.trackingEvents[t].push(n)}}))})),w.childrenByName(e,\"MediaFiles\").forEach((function(e){w.childrenByName(e,\"MediaFile\").forEach((function(e){i.mediaFiles.push(function(e){var t={id:null,fileURL:null,fileSize:0,deliveryType:\"progressive\",mimeType:null,mediaType:null,codec:null,bitrate:0,minBitrate:0,maxBitrate:0,width:0,height:0,apiFramework:null,scalable:null,maintainAspectRatio:null};t.id=e.getAttribute(\"id\"),t.fileURL=w.parseNodeText(e),t.deliveryType=e.getAttribute(\"delivery\"),t.codec=e.getAttribute(\"codec\"),t.mimeType=e.getAttribute(\"type\"),t.mediaType=e.getAttribute(\"mediaType\")||\"2D\",t.apiFramework=e.getAttribute(\"apiFramework\"),t.fileSize=parseInt(e.getAttribute(\"fileSize\")||0),t.bitrate=parseInt(e.getAttribute(\"bitrate\")||0),t.minBitrate=parseInt(e.getAttribute(\"minBitrate\")||0),t.maxBitrate=parseInt(e.getAttribute(\"maxBitrate\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.height=parseInt(e.getAttribute(\"height\")||0);var r=e.getAttribute(\"scalable\");r&&\"string\"==typeof r&&(t.scalable=w.parseBoolean(r));var i=e.getAttribute(\"maintainAspectRatio\");i&&\"string\"==typeof i&&(t.maintainAspectRatio=w.parseBoolean(i));return t}(e))}));var t=w.childByName(e,\"InteractiveCreativeFile\");t&&(i.interactiveCreativeFile=function(e){var t=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,apiFramework:e.apiFramework||null,variableDuration:w.parseBoolean(e.variableDuration),fileURL:null}}(w.parseAttributes(e));return t.fileURL=w.parseNodeText(e),t}(t));var r=w.childByName(e,\"ClosedCaptionFiles\");r&&w.childrenByName(r,\"ClosedCaptionFile\").forEach((function(e){var t=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,language:e.language||null,fileURL:null}}(w.parseAttributes(e));t.fileURL=w.parseNodeText(e),i.closedCaptionFiles.push(t)}));var n,a,o,s=w.childByName(e,\"Mezzanine\"),l=(n=s,a={},o=!1,[\"delivery\",\"type\",\"width\",\"height\"].forEach((function(e){n&&n.getAttribute(e)?a[e]=n.getAttribute(e):o=!0})),o?null:a);if(l){var u={id:null,fileURL:null,delivery:null,codec:null,type:null,width:0,height:0,fileSize:0,mediaType:\"2D\"};u.id=s.getAttribute(\"id\"),u.fileURL=w.parseNodeText(s),u.delivery=l.delivery,u.codec=s.getAttribute(\"codec\"),u.type=l.type,u.width=parseInt(l.width,10),u.height=parseInt(l.height,10),u.fileSize=parseInt(s.getAttribute(\"fileSize\"),10),u.mediaType=s.getAttribute(\"mediaType\")||\"2D\",i.mezzanine=u}}));var u=w.childByName(e,\"Icons\");return u&&w.childrenByName(u,\"Icon\").forEach((function(e){i.icons.push(function(e){var t={program:null,height:0,width:0,xPosition:0,yPosition:0,apiFramework:null,offset:null,duration:0,type:null,staticResource:null,htmlResource:null,iframeResource:null,pxratio:\"1\",iconClickThroughURLTemplate:null,iconClickTrackingURLTemplates:[],iconViewTrackingURLTemplate:null};t.program=e.getAttribute(\"program\"),t.height=parseInt(e.getAttribute(\"height\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.xPosition=function(e){if(-1!==[\"left\",\"right\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"xPosition\")),t.yPosition=function(e){if(-1!==[\"top\",\"bottom\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"yPosition\")),t.apiFramework=e.getAttribute(\"apiFramework\"),t.pxratio=e.getAttribute(\"pxratio\")||\"1\",t.offset=w.parseDuration(e.getAttribute(\"offset\")),t.duration=w.parseDuration(e.getAttribute(\"duration\")),w.childrenByName(e,\"HTMLResource\").forEach((function(e){t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=w.parseNodeText(e)})),w.childrenByName(e,\"IFrameResource\").forEach((function(e){t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=w.parseNodeText(e)})),w.childrenByName(e,\"StaticResource\").forEach((function(e){t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=w.parseNodeText(e)}));var r=w.childByName(e,\"IconClicks\");r&&(t.iconClickThroughURLTemplate=w.parseNodeText(w.childByName(r,\"IconClickThrough\")),w.childrenByName(r,\"IconClickTracking\").forEach((function(e){t.iconClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:w.parseNodeText(e)})})));return t.iconViewTrackingURLTemplate=w.parseNodeText(w.childByName(e,\"IconViewTracking\")),t}(e))})),i}function x(e,t){var r=function(){var e=f(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),t=e.id,r=e.adId,i=e.sequence,n=e.apiFramework;return{id:t,adId:r,sequence:i,apiFramework:n,type:\"nonlinear\",variations:[],trackingEvents:{}}}(t);return w.childrenByName(e,\"TrackingEvents\").forEach((function(e){var t,i;w.childrenByName(e,\"Tracking\").forEach((function(e){t=e.getAttribute(\"event\"),i=w.parseNodeText(e),t&&i&&(Array.isArray(r.trackingEvents[t])||(r.trackingEvents[t]=[]),r.trackingEvents[t].push(i))}))})),w.childrenByName(e,\"NonLinear\").forEach((function(e){var t={id:null,width:0,height:0,expandedWidth:0,expandedHeight:0,scalable:!0,maintainAspectRatio:!0,minSuggestedDuration:0,apiFramework:\"static\",adType:\"nonLinearAd\",type:null,staticResource:null,htmlResource:null,iframeResource:null,nonlinearClickThroughURLTemplate:null,nonlinearClickTrackingURLTemplates:[],adParameters:null};t.id=e.getAttribute(\"id\")||null,t.width=e.getAttribute(\"width\"),t.height=e.getAttribute(\"height\"),t.expandedWidth=e.getAttribute(\"expandedWidth\"),t.expandedHeight=e.getAttribute(\"expandedHeight\"),t.scalable=w.parseBoolean(e.getAttribute(\"scalable\")),t.maintainAspectRatio=w.parseBoolean(e.getAttribute(\"maintainAspectRatio\")),t.minSuggestedDuration=w.parseDuration(e.getAttribute(\"minSuggestedDuration\")),t.apiFramework=e.getAttribute(\"apiFramework\"),w.childrenByName(e,\"HTMLResource\").forEach((function(e){t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=w.parseNodeText(e)})),w.childrenByName(e,\"IFrameResource\").forEach((function(e){t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=w.parseNodeText(e)})),w.childrenByName(e,\"StaticResource\").forEach((function(e){t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=w.parseNodeText(e)}));var i=w.childByName(e,\"AdParameters\");i&&(t.adParameters=w.parseNodeText(i)),t.nonlinearClickThroughURLTemplate=w.parseNodeText(w.childByName(e,\"NonLinearClickThrough\")),w.childrenByName(e,\"NonLinearClickTracking\").forEach((function(e){t.nonlinearClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:w.parseNodeText(e)})})),r.variations.push(t)})),r}function S(e){var t=[];return e.forEach((function(e){var r=O(e);r&&t.push(r)})),t}function O(e){if(\"#comment\"===e.nodeName)return null;var t,r={name:null,value:null,attributes:{},children:[]},i=e.attributes,n=e.childNodes;if(r.name=e.nodeName,e.attributes)for(var a in i)if(i.hasOwnProperty(a)){var o=i[a];o.nodeName&&o.nodeValue&&(r.attributes[o.nodeName]=o.nodeValue)}for(var s in n)if(n.hasOwnProperty(s)){var l=O(n[s]);l&&r.children.push(l)}if(0===r.children.length||1===r.children.length&&[\"#cdata-section\",\"#text\"].indexOf(r.children[0].name)>=0){var u=w.parseNodeText(e);\"\"!==u&&(r.value=u),r.children=[]}return null===(t=r).value&&0===Object.keys(t.attributes).length&&0===t.children.length?null:r}function D(e){var t=[];return e.forEach((function(e){var r,i={id:e.getAttribute(\"id\")||null,adId:V(e),sequence:e.getAttribute(\"sequence\")||null,apiFramework:e.getAttribute(\"apiFramework\")||null},n=[];w.childrenByName(e,\"UniversalAdId\").forEach((function(e){var t={idRegistry:e.getAttribute(\"idRegistry\")||\"unknown\",value:w.parseNodeText(e)};n.push(t)}));var a=w.childByName(e,\"CreativeExtensions\");for(var o in a&&(r=S(w.childrenByName(a,\"CreativeExtension\"))),e.childNodes){var s=e.childNodes[o],l=void 0;switch(s.nodeName){case\"Linear\":l=I(s,i);break;case\"NonLinearAds\":l=x(s,i);break;case\"CompanionAds\":l=U(s,i)}l&&(n&&(l.universalAdIds=n),r&&(l.creativeExtensions=r),t.push(l))}})),t}function V(e){return e.getAttribute(\"AdID\")||e.getAttribute(\"adID\")||e.getAttribute(\"adId\")||null}var P={Wrapper:{subElements:[\"VASTAdTagURI\",\"Impression\"]},BlockedAdCategories:{attributes:[\"authority\"]},InLine:{subElements:[\"AdSystem\",\"AdTitle\",\"Impression\",\"AdServingId\",\"Creatives\"]},Category:{attributes:[\"authority\"]},Pricing:{attributes:[\"model\",\"currency\"]},Verification:{oneOfinLineResources:[\"JavaScriptResource\",\"ExecutableResource\"],attributes:[\"vendor\"]},UniversalAdId:{attributes:[\"idRegistry\"]},JavaScriptResource:{attributes:[\"apiFramework\",\"browserOptional\"]},ExecutableResource:{attributes:[\"apiFramework\",\"type\"]},Tracking:{attributes:[\"event\"]},Creatives:{subElements:[\"Creative\"]},Creative:{subElements:[\"UniversalAdId\"]},Linear:{subElements:[\"MediaFiles\",\"Duration\"]},MediaFiles:{subElements:[\"MediaFile\"]},MediaFile:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},Mezzanine:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},NonLinear:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},Companion:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},StaticResource:{attributes:[\"creativeType\"]},Icons:{subElements:[\"Icon\"]},Icon:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"]}};function B(e,t){if(P[e.nodeName]&&P[e.nodeName].attributes){var r=P[e.nodeName].attributes.filter((function(t){return!e.getAttribute(t)}));r.length>0&&j({name:e.nodeName,parentName:e.parentNode.nodeName,attributes:r},t)}}function F(e,t,r){var i=P[e.nodeName],n=!r&&\"Wrapper\"!==e.nodeName;if(i&&!n){if(i.subElements){var a=i.subElements.filter((function(t){return!w.childByName(e,t)}));a.length>0&&j({name:e.nodeName,parentName:e.parentNode.nodeName,subElements:a},t)}if(r&&i.oneOfinLineResources)i.oneOfinLineResources.some((function(t){return w.childByName(e,t)}))||j({name:e.nodeName,parentName:e.parentNode.nodeName,oneOfResources:i.oneOfinLineResources},t)}}function M(e){return e.children&&0!==e.children.length}function j(e,t){var r=e.name,i=e.parentName,n=e.attributes,a=e.subElements,o=e.oneOfResources,s=\"Element '\".concat(r,\"'\");t(\"VAST-warning\",{message:s+=n?\" missing required attribute(s) '\".concat(n.join(\", \"),\"' \"):a?\" missing required sub element(s) '\".concat(a.join(\", \"),\"' \"):o?\" must provide one of the following '\".concat(o.join(\", \"),\"' \"):\" is empty\",parentElement:i,specVersion:4.1})}var W={verifyRequiredValues:function e(t,r,i){if(t&&t.nodeName)if(\"InLine\"===t.nodeName&&(i=!0),B(t,r),M(t)){F(t,r,i);for(var n=0;n<t.children.length;n++)e(t.children[n],r,i)}else 0===w.parseNodeText(t).length&&j({name:t.nodeName,parentName:t.parentNode.nodeName},r)},hasSubElements:M,emitMissingValueWarning:j,verifyRequiredAttributes:B,verifyRequiredSubElements:F};function q(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.allowMultipleAds,n=r.followAdditionalWrappers,a=e.childNodes;for(var o in a){var s=a[o];if(-1!==[\"Wrapper\",\"InLine\"].indexOf(s.nodeName)&&(\"Wrapper\"!==s.nodeName||!1!==n)){if(w.copyNodeAttribute(\"id\",e,s),w.copyNodeAttribute(\"sequence\",e,s),w.copyNodeAttribute(\"adType\",e,s),\"Wrapper\"===s.nodeName)return{ad:G(s,t),type:\"WRAPPER\"};if(\"InLine\"===s.nodeName)return{ad:H(s,t,{allowMultipleAds:i}),type:\"INLINE\"}}}}function H(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.allowMultipleAds;return!1===i&&e.getAttribute(\"sequence\")?null:_(e,t)}function _(e,t){var r=[];t&&W.verifyRequiredValues(e,t);var i=e.childNodes,n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,sequence:e.sequence||null,adType:e.adType||null,adServingId:null,categories:[],expires:null,viewableImpression:[],system:null,title:null,description:null,advertiser:null,pricing:null,survey:null,errorURLTemplates:[],impressionURLTemplates:[],creatives:[],extensions:[],adVerifications:[],blockedAdCategories:[],followAdditionalWrappers:!0,allowMultipleAds:!1,fallbackOnNoAd:null}}(w.parseAttributes(e));for(var a in i){var o=i[a];switch(o.nodeName){case\"Error\":n.errorURLTemplates.push(w.parseNodeText(o));break;case\"Impression\":n.impressionURLTemplates.push({id:o.getAttribute(\"id\")||null,url:w.parseNodeText(o)});break;case\"Creatives\":n.creatives=D(w.childrenByName(o,\"Creative\"));break;case\"Extensions\":var s=w.childrenByName(o,\"Extension\");n.extensions=S(s),n.adVerifications.length||(r=Y(s));break;case\"AdVerifications\":n.adVerifications=z(w.childrenByName(o,\"Verification\"));break;case\"AdSystem\":n.system={value:w.parseNodeText(o),version:o.getAttribute(\"version\")||null};break;case\"AdTitle\":n.title=w.parseNodeText(o);break;case\"AdServingId\":n.adServingId=w.parseNodeText(o);break;case\"Category\":n.categories.push({authority:o.getAttribute(\"authority\")||null,value:w.parseNodeText(o)});break;case\"Expires\":n.expires=parseInt(w.parseNodeText(o),10);break;case\"ViewableImpression\":n.viewableImpression.push(X(o));break;case\"Description\":n.description=w.parseNodeText(o);break;case\"Advertiser\":n.advertiser={id:o.getAttribute(\"id\")||null,value:w.parseNodeText(o)};break;case\"Pricing\":n.pricing={value:w.parseNodeText(o),model:o.getAttribute(\"model\")||null,currency:o.getAttribute(\"currency\")||null};break;case\"Survey\":n.survey=w.parseNodeText(o);break;case\"BlockedAdCategories\":n.blockedAdCategories.push({authority:o.getAttribute(\"authority\")||null,value:w.parseNodeText(o)})}}return r.length&&(n.adVerifications=n.adVerifications.concat(r)),n}function G(e,t){var r=_(e,t),i=e.getAttribute(\"followAdditionalWrappers\"),n=e.getAttribute(\"allowMultipleAds\"),a=e.getAttribute(\"fallbackOnNoAd\");r.followAdditionalWrappers=!i||w.parseBoolean(i),r.allowMultipleAds=!!n&&w.parseBoolean(n),r.fallbackOnNoAd=a?w.parseBoolean(a):null;var o=w.childByName(e,\"VASTAdTagURI\");if(o?r.nextWrapperURL=w.parseNodeText(o):(o=w.childByName(e,\"VASTAdTagURL\"))&&(r.nextWrapperURL=w.parseNodeText(w.childByName(o,\"URL\"))),r.creatives.forEach((function(e){if(-1!==[\"linear\",\"nonlinear\"].indexOf(e.type)){if(e.trackingEvents){r.trackingEvents||(r.trackingEvents={}),r.trackingEvents[e.type]||(r.trackingEvents[e.type]={});var t=function(t){var i=e.trackingEvents[t];Array.isArray(r.trackingEvents[e.type][t])||(r.trackingEvents[e.type][t]=[]),i.forEach((function(i){r.trackingEvents[e.type][t].push(i)}))};for(var i in e.trackingEvents)t(i)}e.videoClickTrackingURLTemplates&&(Array.isArray(r.videoClickTrackingURLTemplates)||(r.videoClickTrackingURLTemplates=[]),e.videoClickTrackingURLTemplates.forEach((function(e){r.videoClickTrackingURLTemplates.push(e)}))),e.videoClickThroughURLTemplate&&(r.videoClickThroughURLTemplate=e.videoClickThroughURLTemplate),e.videoCustomClickURLTemplates&&(Array.isArray(r.videoCustomClickURLTemplates)||(r.videoCustomClickURLTemplates=[]),e.videoCustomClickURLTemplates.forEach((function(e){r.videoCustomClickURLTemplates.push(e)})))}})),r.nextWrapperURL)return r}function z(e){var t=[];return e.forEach((function(e){var r={resource:null,vendor:null,browserOptional:!1,apiFramework:null,type:null,parameters:null,trackingEvents:{}},i=e.childNodes;for(var n in w.assignAttributes(e.attributes,r),i){var a=i[n];switch(a.nodeName){case\"JavaScriptResource\":case\"ExecutableResource\":r.resource=w.parseNodeText(a),w.assignAttributes(a.attributes,r);break;case\"VerificationParameters\":r.parameters=w.parseNodeText(a)}}var o=w.childByName(e,\"TrackingEvents\");o&&w.childrenByName(o,\"Tracking\").forEach((function(e){var t=e.getAttribute(\"event\"),i=w.parseNodeText(e);t&&i&&(Array.isArray(r.trackingEvents[t])||(r.trackingEvents[t]=[]),r.trackingEvents[t].push(i))})),t.push(r)})),t}function Y(e){var t=null,r=[];return e.some((function(e){return t=w.childByName(e,\"AdVerifications\")})),t&&(r=z(w.childrenByName(t,\"Verification\"))),r}function X(e){var t={};t.id=e.getAttribute(\"id\")||null;var r=e.childNodes;for(var i in r){var n=r[i],a=n.nodeName,o=w.parseNodeText(n);if((\"Viewable\"===a||\"NotViewable\"===a||\"ViewUndetermined\"===a)&&o){var s=a.toLowerCase();Array.isArray(t[s])||(t[s]=[]),t[s].push(o)}}return t}var K=function(){function e(){n(this,e),this._handlers=[]}return o(e,[{key:\"on\",value:function(e,t){if(\"function\"!=typeof t)throw new TypeError(\"The handler argument must be of type Function. Received type \".concat(i(t)));if(!e)throw new TypeError(\"The event argument must be of type String. Received type \".concat(i(e)));return this._handlers.push({event:e,handler:t}),this}},{key:\"once\",value:function(e,t){return this.on(e,function(e,t,r){var i={fired:!1,wrapFn:void 0};function n(){i.fired||(e.off(t,i.wrapFn),i.fired=!0,r.bind(e).apply(void 0,arguments))}return i.wrapFn=n,n}(this,e,t))}},{key:\"off\",value:function(e,t){return this._handlers=this._handlers.filter((function(r){return r.event!==e||r.handler!==t})),this}},{key:\"emit\",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];var n=!1;return this._handlers.forEach((function(t){\"*\"===t.event&&(n=!0,t.handler.apply(t,[e].concat(r))),t.event===e&&(n=!0,t.handler.apply(t,r))})),n}},{key:\"removeAllListeners\",value:function(e){return e?(this._handlers=this._handlers.filter((function(t){return t.event!==e})),this):(this._handlers=[],this)}},{key:\"listenerCount\",value:function(e){return this._handlers.filter((function(t){return t.event===e})).length}},{key:\"listeners\",value:function(e){return this._handlers.reduce((function(t,r){return r.event===e&&t.push(r.handler),t}),[])}},{key:\"eventNames\",value:function(){return this._handlers.map((function(e){return e.event}))}}]),e}();var Q={get:function(e,t,r){r(new Error(\"Please bundle the library for node to use the node urlHandler\"))}},Z=12e4;function J(){try{var e=new window.XMLHttpRequest;return\"withCredentials\"in e?e:null}catch(e){return null}}function $(e,t,r){var i=r?408:e.status,n=r?\"XHRURLHandler: Request timed out after \".concat(e.timeout,\" ms (\").concat(i,\")\"):\"XHRURLHandler: \".concat(e.statusText,\" (\").concat(i,\")\");t(new Error(n),null,{statusCode:i})}var ee={get:function(e,t,r){if(\"https:\"===window.location.protocol&&0===e.indexOf(\"http://\"))return r(new Error(\"XHRURLHandler: Cannot go from HTTPS to HTTP.\"));try{var i=J();i.open(\"GET\",e),i.timeout=t.timeout||Z,i.withCredentials=t.withCredentials||!1,i.overrideMimeType&&i.overrideMimeType(\"text/xml\"),i.onload=function(){return function(e,t){200===e.status?t(null,e.responseXML,{byteLength:e.response.length,statusCode:e.status}):$(e,t,!1)}(i,r)},i.onerror=function(){return $(i,r,!1)},i.onabort=function(){return $(i,r,!1)},i.ontimeout=function(){return $(i,r,!0)},i.send()}catch(e){r(new Error(\"XHRURLHandler: Unexpected error\"))}},supported:function(){return!!J()}};var te={get:function(e,t,r){return r||(\"function\"==typeof t&&(r=t),t={}),\"undefined\"==typeof window||null===window?Q.get(e,t,r):ee.supported()?ee.get(e,t,r):r(new Error(\"Current context is not supported by any of the default URLHandlers. Please provide a custom URLHandler\"))}};var re=0,ie=0,ne=function(e,t){!e||!t||e<=0||t<=0||(ie=(ie*re+8*e/t)/++re)},ae={ERRORCODE:900,extensions:[]},oe=function(e){l(r,e);var t=p(r);function r(){var e;return n(this,r),(e=t.call(this)).remainingAds=[],e.parentURLs=[],e.errorURLTemplates=[],e.rootErrorURLTemplates=[],e.maxWrapperDepth=null,e.URLTemplateFilters=[],e.fetchingOptions={},e.parsingOptions={},e}return o(r,[{key:\"addURLTemplateFilter\",value:function(e){\"function\"==typeof e&&this.URLTemplateFilters.push(e)}},{key:\"removeURLTemplateFilter\",value:function(){this.URLTemplateFilters.pop()}},{key:\"countURLTemplateFilters\",value:function(){return this.URLTemplateFilters.length}},{key:\"clearURLTemplateFilters\",value:function(){this.URLTemplateFilters=[]}},{key:\"trackVastError\",value:function(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),n=2;n<r;n++)i[n-2]=arguments[n];this.emit(\"VAST-error\",Object.assign.apply(Object,[{},ae,t].concat(i))),N.track(e,t)}},{key:\"getErrorURLTemplates\",value:function(){return this.rootErrorURLTemplates.concat(this.errorURLTemplates)}},{key:\"getEstimatedBitrate\",value:function(){return ie}},{key:\"fetchVAST\",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return new Promise((function(a,o){t.URLTemplateFilters.forEach((function(t){e=t(e)})),t.parentURLs.push(e);var s=Date.now();t.emit(\"VAST-resolving\",{url:e,previousUrl:i,wrapperDepth:r,maxWrapperDepth:t.maxWrapperDepth,timeout:t.fetchingOptions.timeout,wrapperAd:n}),t.urlHandler.get(e,t.fetchingOptions,(function(n,l){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=Math.round(Date.now()-s),d=Object.assign({url:e,previousUrl:i,wrapperDepth:r,error:n,duration:c},u);t.emit(\"VAST-resolved\",d),ne(u.byteLength,c),n?o(n):a(l)}))}))}},{key:\"initParsingStatus\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.errorURLTemplates=[],this.fetchingOptions={timeout:e.timeout||Z,withCredentials:e.withCredentials},this.maxWrapperDepth=e.wrapperLimit||10,this.parentURLs=[],this.parsingOptions={allowMultipleAds:e.allowMultipleAds},this.remainingAds=[],this.rootErrorURLTemplates=[],this.rootURL=\"\",this.urlHandler=e.urlHandler||e.urlhandler||te,this.vastVersion=null,ne(e.byteLength,e.requestDuration)}},{key:\"getRemainingAds\",value:function(e){var t=this;if(0===this.remainingAds.length)return Promise.reject(new Error(\"No more ads are available for the given VAST\"));var r=e?N.flatten(this.remainingAds):this.remainingAds.shift();return this.errorURLTemplates=[],this.parentURLs=[],this.resolveAds(r,{wrapperDepth:0,url:this.rootURL}).then((function(e){return t.buildVASTResponse(e)}))}},{key:\"getAndParseVAST\",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.initParsingStatus(r),this.URLTemplateFilters.forEach((function(t){e=t(e)})),this.rootURL=e,this.fetchVAST(e).then((function(i){return r.previousUrl=e,r.isRootVAST=!0,r.url=e,t.parse(i,r).then((function(e){return t.buildVASTResponse(e)}))}))}},{key:\"parseVAST\",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.initParsingStatus(r),r.isRootVAST=!0,this.parse(e,r).then((function(e){return t.buildVASTResponse(e)}))}},{key:\"buildVASTResponse\",value:function(e){var t,r={ads:(t={ads:e,errorURLTemplates:this.getErrorURLTemplates(),version:this.vastVersion}).ads||[],errorURLTemplates:t.errorURLTemplates||[],version:t.version||null};return this.completeWrapperResolving(r),r}},{key:\"parseVastXml\",value:function(e,t){var r=t.isRootVAST,i=void 0!==r&&r,n=t.url,a=void 0===n?null:n,o=t.wrapperDepth,s=void 0===o?0:o,l=t.allowMultipleAds,u=t.followAdditionalWrappers;if(!e||!e.documentElement||\"VAST\"!==e.documentElement.nodeName)throw this.emit(\"VAST-ad-parsed\",{type:\"ERROR\",url:a,wrapperDepth:s}),new Error(\"Invalid VAST XMLDocument\");var c=[],d=e.documentElement.childNodes,p=e.documentElement.getAttribute(\"version\");for(var h in i&&p&&(this.vastVersion=p),d){var v=d[h];if(\"Error\"===v.nodeName){var f=w.parseNodeText(v);i?this.rootErrorURLTemplates.push(f):this.errorURLTemplates.push(f)}else if(\"Ad\"===v.nodeName){if(this.vastVersion&&parseFloat(this.vastVersion)<3)l=!0;else if(!1===l&&c.length>1)break;var m=q(v,this.emit.bind(this),{allowMultipleAds:l,followAdditionalWrappers:u});m.ad?(c.push(m.ad),this.emit(\"VAST-ad-parsed\",{type:m.type,url:a,wrapperDepth:s,adIndex:c.length-1,vastVersion:p})):this.trackVastError(this.getErrorURLTemplates(),{ERRORCODE:101})}}return c}},{key:\"parse\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.url,i=void 0===r?null:r,n=t.resolveAll,a=void 0===n||n,o=t.wrapperSequence,s=void 0===o?null:o,l=t.previousUrl,u=void 0===l?null:l,c=t.wrapperDepth,d=void 0===c?0:c,p=t.isRootVAST,h=void 0!==p&&p,v=t.followAdditionalWrappers,f=t.allowMultipleAds,m=[];this.vastVersion&&parseFloat(this.vastVersion)<3&&h&&(f=!0);try{m=this.parseVastXml(e,{isRootVAST:h,url:i,wrapperDepth:d,allowMultipleAds:f,followAdditionalWrappers:v})}catch(e){return Promise.reject(e)}return 1===m.length&&null!=s&&(m[0].sequence=s),!1===a&&(this.remainingAds=w.splitVAST(m),m=this.remainingAds.shift()),this.resolveAds(m,{wrapperDepth:d,previousUrl:u,url:i})}},{key:\"resolveAds\",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0,i=r.wrapperDepth,n=r.previousUrl,a=r.url,o=[];return n=a,t.forEach((function(t){var r=e.resolveWrappers(t,i,n);o.push(r)})),Promise.all(o).then((function(t){var r=N.flatten(t);if(!r&&e.remainingAds.length>0){var o=e.remainingAds.shift();return e.resolveAds(o,{wrapperDepth:i,previousUrl:n,url:a})}return r}))}},{key:\"resolveWrappers\",value:function(e,t,r){var i=this;return new Promise((function(n){var a;if(t++,!e.nextWrapperURL)return delete e.nextWrapperURL,n(e);if(t>=i.maxWrapperDepth||-1!==i.parentURLs.indexOf(e.nextWrapperURL))return e.errorCode=302,delete e.nextWrapperURL,n(e);e.nextWrapperURL=w.resolveVastAdTagURI(e.nextWrapperURL,r),i.URLTemplateFilters.forEach((function(t){e.nextWrapperURL=t(e.nextWrapperURL)}));var o=null!==(a=i.parsingOptions.allowMultipleAds)&&void 0!==a?a:e.allowMultipleAds,s=e.sequence;i.fetchVAST(e.nextWrapperURL,t,r,e).then((function(a){return i.parse(a,{url:e.nextWrapperURL,previousUrl:r,wrapperSequence:s,wrapperDepth:t,followAdditionalWrappers:e.followAdditionalWrappers,allowMultipleAds:o}).then((function(t){if(delete e.nextWrapperURL,0===t.length)return e.creatives=[],n(e);t.forEach((function(t){t&&w.mergeWrapperAdData(t,e)})),n(t)}))})).catch((function(t){e.errorCode=301,e.errorMessage=t.message,n(e)}))}))}},{key:\"completeWrapperResolving\",value:function(e){if(0===e.ads.length)this.trackVastError(e.errorURLTemplates,{ERRORCODE:303});else for(var t=e.ads.length-1;t>=0;t--){var r=e.ads[t];(r.errorCode||0===r.creatives.length)&&(this.trackVastError(r.errorURLTemplates.concat(e.errorURLTemplates),{ERRORCODE:r.errorCode||303},{ERRORMESSAGE:r.errorMessage||\"\"},{extensions:r.extensions},{system:r.system}),e.ads.splice(t,1))}}}]),r}(K),se=null,le={data:{},length:0,getItem:function(e){return this.data[e]},setItem:function(e,t){this.data[e]=t,this.length=Object.keys(this.data).length},removeItem:function(e){delete this.data[e],this.length=Object.keys(this.data).length},clear:function(){this.data={},this.length=0}},ue=function(){function e(){n(this,e),this.storage=this.initStorage()}return o(e,[{key:\"initStorage\",value:function(){if(se)return se;try{se=\"undefined\"!=typeof window&&null!==window?window.localStorage||window.sessionStorage:null}catch(e){se=null}return se&&!this.isStorageDisabled(se)||(se=le).clear(),se}},{key:\"isStorageDisabled\",value:function(e){var t=\"__VASTStorage__\";try{if(e.setItem(t,t),e.getItem(t)!==t)return e.removeItem(t),!0}catch(e){return!0}return e.removeItem(t),!1}},{key:\"getItem\",value:function(e){return this.storage.getItem(e)}},{key:\"setItem\",value:function(e,t){return this.storage.setItem(e,t)}},{key:\"removeItem\",value:function(e){return this.storage.removeItem(e)}},{key:\"clear\",value:function(){return this.storage.clear()}}]),e}(),ce=function(){function e(t,r,i){n(this,e),this.cappingFreeLunch=t||0,this.cappingMinimumTimeInterval=r||0,this.defaultOptions={withCredentials:!1,timeout:0},this.vastParser=new oe,this.storage=i||new ue,void 0===this.lastSuccessfulAd&&(this.lastSuccessfulAd=0),void 0===this.totalCalls&&(this.totalCalls=0),void 0===this.totalCallsTimeout&&(this.totalCallsTimeout=0)}return o(e,[{key:\"getParser\",value:function(){return this.vastParser}},{key:\"lastSuccessfulAd\",get:function(){return this.storage.getItem(\"vast-client-last-successful-ad\")},set:function(e){this.storage.setItem(\"vast-client-last-successful-ad\",e)}},{key:\"totalCalls\",get:function(){return this.storage.getItem(\"vast-client-total-calls\")},set:function(e){this.storage.setItem(\"vast-client-total-calls\",e)}},{key:\"totalCallsTimeout\",get:function(){return this.storage.getItem(\"vast-client-total-calls-timeout\")},set:function(e){this.storage.setItem(\"vast-client-total-calls-timeout\",e)}},{key:\"hasRemainingAds\",value:function(){return this.vastParser.remainingAds.length>0}},{key:\"getNextAds\",value:function(e){return this.vastParser.getRemainingAds(e)}},{key:\"get\",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=Date.now();return(r=Object.assign({},this.defaultOptions,r)).hasOwnProperty(\"resolveAll\")||(r.resolveAll=!1),this.totalCallsTimeout<i?(this.totalCalls=1,this.totalCallsTimeout=i+36e5):this.totalCalls++,new Promise((function(n,a){if(t.cappingFreeLunch>=t.totalCalls)return a(new Error(\"VAST call canceled – FreeLunch capping not reached yet \".concat(t.totalCalls,\"/\").concat(t.cappingFreeLunch)));var o=i-t.lastSuccessfulAd;if(o<0)t.lastSuccessfulAd=0;else if(o<t.cappingMinimumTimeInterval)return a(new Error(\"VAST call canceled – (\".concat(t.cappingMinimumTimeInterval,\")ms minimum interval reached\")));t.vastParser.getAndParseVAST(e,r).then((function(e){return n(e)})).catch((function(e){return a(e)}))}))}}]),e}(),de=function(e){l(a,e);var t=p(a);function a(e,r,i){var o,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;for(var l in n(this,a),(o=t.call(this)).ad=r,o.creative=i,o.variation=s,o.muted=!1,o.impressed=!1,o.skippable=!1,o.trackingEvents={},o.lastPercentage=0,o._alreadyTriggeredQuartiles={},o.emitAlwaysEvents=[\"creativeView\",\"start\",\"firstQuartile\",\"midpoint\",\"thirdQuartile\",\"complete\",\"resume\",\"pause\",\"rewind\",\"skip\",\"closeLinear\",\"close\"],o.creative.trackingEvents){var u=o.creative.trackingEvents[l];o.trackingEvents[l]=u.slice(0)}return C(o.creative)?o._initLinearTracking():o._initVariationTracking(),e&&o.on(\"start\",(function(){e.lastSuccessfulAd=Date.now()})),o}return o(a,[{key:\"_initLinearTracking\",value:function(){this.linear=!0,this.skipDelay=this.creative.skipDelay,this.setDuration(this.creative.duration),this.clickThroughURLTemplate=this.creative.videoClickThroughURLTemplate,this.clickTrackingURLTemplates=this.creative.videoClickTrackingURLTemplates}},{key:\"_initVariationTracking\",value:function(){if(this.linear=!1,this.skipDelay=-1,this.variation){for(var e in this.variation.trackingEvents){var t=this.variation.trackingEvents[e];this.trackingEvents[e]?this.trackingEvents[e]=this.trackingEvents[e].concat(t.slice(0)):this.trackingEvents[e]=t.slice(0)}\"nonLinearAd\"===this.variation.adType?(this.clickThroughURLTemplate=this.variation.nonlinearClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.nonlinearClickTrackingURLTemplates,this.setDuration(this.variation.minSuggestedDuration)):function(e){return\"companionAd\"===e.adType}(this.variation)&&(this.clickThroughURLTemplate=this.variation.companionClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.companionClickTrackingURLTemplates)}}},{key:\"setDuration\",value:function(e){N.isValidTimeValue(e)&&(this.assetDuration=e,this.quartiles={firstQuartile:Math.round(25*this.assetDuration)/100,midpoint:Math.round(50*this.assetDuration)/100,thirdQuartile:Math.round(75*this.assetDuration)/100})}},{key:\"setProgress\",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(N.isValidTimeValue(e)&&\"object\"===i(r)){var n=this.skipDelay||-1;if(-1===n||this.skippable||(n>e?this.emit(\"skip-countdown\",n-e):(this.skippable=!0,this.emit(\"skip-countdown\",0))),this.assetDuration>0){var a=Math.round(e/this.assetDuration*100),o=[];if(e>0){o.push(\"start\");for(var s=this.lastPercentage;s<a;s++)o.push(\"progress-\".concat(s+1,\"%\"));for(var l in o.push(\"progress-\".concat(Math.round(e))),this.quartiles)this.isQuartileReached(l,this.quartiles[l],e)&&(o.push(l),this._alreadyTriggeredQuartiles[l]=!0);this.lastPercentage=a}o.forEach((function(e){t.track(e,{macros:r,once:!0})})),e<this.progress&&this.track(\"rewind\",{macros:r})}this.progress=e}}},{key:\"isQuartileReached\",value:function(e,t,r){var i=!1;return t<=r&&!this._alreadyTriggeredQuartiles[e]&&(i=!0),i}},{key:\"setMuted\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"===i(t)&&(this.muted!==e&&this.track(e?\"mute\":\"unmute\",{macros:t}),this.muted=e)}},{key:\"setPaused\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"===i(t)&&(this.paused!==e&&this.track(e?\"pause\":\"resume\",{macros:t}),this.paused=e)}},{key:\"setFullscreen\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"===i(t)&&(this.fullscreen!==e&&this.track(e?\"fullscreen\":\"exitFullscreen\",{macros:t}),this.fullscreen=e)}},{key:\"setExpand\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"===i(t)&&(this.expanded!==e&&(this.track(e?\"expand\":\"collapse\",{macros:t}),this.track(e?\"playerExpand\":\"playerCollapse\",{macros:t})),this.expanded=e)}},{key:\"setSkipDelay\",value:function(e){N.isValidTimeValue(e)&&(this.skipDelay=e)}},{key:\"trackImpression\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"===i(e)&&(this.impressed||(this.impressed=!0,this.trackURLs(this.ad.impressionURLTemplates,e),this.track(\"creativeView\",{macros:e})))}},{key:\"error\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"===i(e)&&\"boolean\"==typeof t&&this.trackURLs(this.ad.errorURLTemplates,e,{isCustomCode:t})}},{key:\"errorWithCode\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"string\"==typeof e&&\"boolean\"==typeof t&&(this.error({ERRORCODE:e},t),console.log(\"The method errorWithCode is deprecated, please use vast tracker error method instead\"))}},{key:\"complete\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"===i(e)&&this.track(\"complete\",{macros:e})}},{key:\"notUsed\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"===i(e)&&(this.track(\"notUsed\",{macros:e}),this.trackingEvents=[])}},{key:\"otherAdInteraction\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"===i(e)&&this.track(\"otherAdInteraction\",{macros:e})}},{key:\"acceptInvitation\",