var advanced_ads_adblocker_test = true;;
(()=>{!function(e){var t="advads_procfp",a="advanced_ads_ad_clicks",n=null,o=null;function r(e){try{return JSON.parse(e)}catch(e){return null}}e(document).on("advads-passive-cb-conditions",function(e,t){t.conditions.ad_clicks="check_ad_clicks",t.check_ad_clicks=function(e,t){if(advads.cookie_exists(a+"_"+t.id)){var n=advads.get_cookie(a+"_"+t.id);n=r(n)}if(n){var o=parseInt((new Date).getTime()/1e3);for(var i in n)if("_"+e.expiration==i&&n[i].ttl>=o&&n[i].count>=parseInt(e.limit))return!1}return!0}});var i=function(){this.$elements={},this.currentIFrame=!1,this.focusLost=!1,this.wrappers=[".google-auto-placed"],this.attributes={"data-anchor-status":"displayed","data-vignette-loaded":"true"},this.lastClick=0,this.init()};i.prototype={constructor:i,init:function(){const t=this;let a;e(document).on("click","a[data-cfpa]",function(){t.onClick(parseInt(e(this).attr("data-cfpa")))}),e(window).on("blur",function(e){setTimeout(function(){if(!t.currentIFrame)for(let e=document.activeElement;e&&e!==this&&e!==document&&(t.currentIFrame=t.checkWrappers(e),!t.currentIFrame);e=e.parentNode);t.currentIFrame&&(t.onClick(t.currentIFrame),t.focusLost=!0,top.focus())},0)}),e(document).on("mouseenter","div[data-cfpa]",function(){var a=parseInt(e(this).attr("data-cfpa"));t.addElement(a)}),document.addEventListener("touchmove",function(){a=!0},!1),document.addEventListener("touchstart",function(){a=!1},!1),["click","touchend"].forEach(function(e){document.addEventListener(e,function(e){if(a||t.getTimestamp()-t.lastClick<1)return;let n=null;for(let a=e.target;a&&a!==this&&a!==document;a=a.parentNode){if(n=t.checkWrappers(a),n){t.onClick(n);break}if(a.hasAttribute("data-cfpa")&&a.hasAttribute("data-cfptl")){n=parseInt(a.getAttribute("data-cfpa"),10),t.onClick(n);break}}})})},getTimestamp:function(){return Math.floor(Date.now()/1e3)},checkWrappers:function(e){for(let t=0,a=this.wrappers.length,n=null;t<a;t++)if(n=this.wrappers[t],e.matches&&e.matches(n))return".google-auto-placed"===n?"google-auto-placed":null;for(const[t,a]of Object.entries(this.attributes))if(e.hasAttribute(t)&&e.getAttribute(t)===a)return"google-auto-placed";return null},addElement:function(t){0==t instanceof jQuery&&(t=e('div[data-cfpa="'+t+'"]').first());var i=!!t.find("iframe").length;if(i||t.find("a").length){var d=parseInt(t.attr("data-cfpa"));if(this.$elements[d]=t,t.removeAttr("data-cfpa"),i?(t.find("iframe").first().attr({"data-cfpa":d}),t.attr("data-cfph")&&t.find("iframe").first().attr({"data-cfph":t.attr("data-cfph")})):(t.find("a").not(".advads-edit-button").first().attr({"data-cfpa":d}),t.attr("data-cfph")&&t.find("a").not(".advads-edit-button").first().attr({"data-cfph":t.attr("data-cfph")})),t.removeAttr("data-cfph"),advads.cookie_exists(a+"_"+d)){var c=advads.get_cookie(a+"_"+d);if(c=r(c)){var s=parseInt((new Date).getTime()/1e3),f=!1;for(var u in c)if(c.hasOwnProperty(u)&&"exp"!=u&&c[u].ttl<s){for(var p=parseFloat(u.substr(1)),v=c[u].ttl;v<s;)v+=60*p*60;c[u].ttl=v,c[u].count=0,f=!0}if(f){var l=new Date(c.exp);advads.set_cookie_sec(a+"_"+d,JSON.stringify(c,"false",!1),parseInt(l.getTime()/1e3),n,o)}}}}},_banVisitor:function(){var e=new Date,t=new Date;t.setTime(t.getTime()+24*advadsCfpInfo.cfpBan*60*60*1e3);var a=(t.getTime()-e.getTime())/1e3;advads.set_cookie_sec("advads_pro_cfp_ban",1,a,n,o),document.querySelectorAll("[data-cfpw]:not([data-cfp-exclude])").forEach(function(e){e.remove()}),this.removeEmptyWrappers(),this.wrappers.forEach(function(e){jQuery(e).remove()});for(const[e,t]of Object.entries(this.attributes))jQuery("["+e+'="'+t+'"]').remove()},removeEmptyWrappers:function(){document.querySelectorAll("[data-cfptl]:not([data-cfpw])").forEach(function(e){e.querySelectorAll("[data-cfpw]").length||e.remove()})},onClick:function(i){var d=this,c=!1,s=!1;if(this.lastClick=this.getTimestamp(),"google-auto-placed"!==i&&e('[data-cfpa="'+i+'"]').attr("data-cfph")){advads.cookie_exists(a+"_"+i)&&(s=r(advads.get_cookie(a+"_"+i)));const t=r(e('[data-cfpa="'+i+'"]').attr("data-cfph"));if(s){const e=parseInt((new Date).getTime()/1e3,10),r=document.querySelectorAll('[data-cfpw="'+i+'"]');for(var f in s)s.hasOwnProperty(f)&&"exp"!==f&&(s[f].count=parseInt(s[f].count,10)+1,s[f].ttl>=e&&s[f].count>=parseInt(t[f],10)&&(r.forEach(function(e){e.remove()}),d.removeEmptyWrappers()));var u=new Date,p=new Date(s.exp),v=parseInt((p.getTime()-u.getTime())/1e3);advads.set_cookie_sec(a+"_"+i,JSON.stringify(s,"false",!1),v,n,o)}else{var l={},m=0,h=new Date;for(var f in u=new Date,t)f=f.substring(1),parseFloat(f)>m&&(m=parseFloat(f)),l["_"+f]={count:1,ttl:parseInt(u.getTime()/1e3+3600*parseFloat(f),10)};h.setTime(h.getTime()+60*m*60*1e3);var _="expires="+h.toUTCString();v=parseInt((h.getTime()-u.getTime())/1e3),l.exp=_,advads.set_cookie_sec(a+"_"+i,JSON.stringify(l,"false",!1),v,n,o),1===t[Object.keys(t)[0]]&&(document.querySelectorAll('[data-cfpw="'+i+'"]').forEach(function(e){e.remove()}),this.removeEmptyWrappers())}}"1"===advadsCfpInfo.cfpEnabled&&(advads.cookie_exists(t+"_"+i)&&(c=r(advads.get_cookie(t+"_"+i))),c?(c.count=parseInt(c.count,10)+1,u=new Date,v=((p=new Date(c.exp)).getTime()-u.getTime())/1e3,advads.set_cookie_sec(t+"_"+i,JSON.stringify(c,"false",!1),v,n,o),parseInt(advadsCfpInfo.cfpClickLimit,10)<=c.count&&d._banVisitor()):(h=new Date,u=new Date,h.setTime(h.getTime()+60*parseInt(advadsCfpInfo.cfpExpHours,10)*60*1e3),_="expires="+h.toUTCString(),v=(h.getTime()-u.getTime())/1e3,advads.set_cookie_sec(t+"_"+i,'{"count":1,"exp":"'+_+'"}',v,n,o),1===parseInt(advadsCfpInfo.cfpClickLimit,10)&&d._banVisitor()))}},e(function(){for(var t in window.advadsProCfp=new i,e(document).on("mouseenter","iframe[data-cfpa]",function(t){var a=parseInt(e(this).attr("data-cfpa"));advadsProCfp.currentIFrame=a}).on("mouseenter",".google-auto-placed",function(e){advadsProCfp.currentIFrame="google-auto-placed"}).on("mouseleave mouseout","[data-cfpa], .google-auto-placed",function(){advadsProCfp.currentIFrame=!1,advadsProCfp.focusLost&&(advadsProCfp.focusLost=!1,e(window).trigger("focus"))}),advadsCfpQueue)advadsCfpQueue.hasOwnProperty(t)&&advadsProCfp.addElement(advadsCfpQueue[t]);advadsCfpQueue=[],void 0!==window.advadsCfpInfo.cfpPath&&(""!=advadsCfpInfo.cfpPath&&(n=advadsCfpInfo.cfpPath),""!=advadsCfpInfo.cfpDomain&&(o=advadsCfpInfo.cfpDomain))})}(window.jQuery);var e=d();if(void 0!==window.advads){var t=advads.get_cookie("advanced_ads_visitor"),a=t?JSON.parse(t):{};a.browser_width&&a.browser_width===e||o(e)}function n(){i(function(){if(e!==(e=d())){o(e);var t=window.advanced_ads_responsive||{};window.jQuery&&parseInt(t.reload_on_resize,10)&&jQuery(document).triggerHandler("advanced-ads-resize-window")}},1e3)}function o(e){if(void 0!==window.advads){var t=advads.get_cookie("advanced_ads_visitor"),a=t?JSON.parse(t):{};a.browser_width=e,advads.set_cookie("advanced_ads_visitor",JSON.stringify(a),30,advanced_ads_cookies.cookie_path,advanced_ads_cookies.cookie_domain)}}window.addEventListener?window.addEventListener("resize",n,!1):window.attachEvent&&window.attachEvent("onresize",n);var r,i=(r=0,function(e,t){clearTimeout(r),r=setTimeout(e,t)});function d(){if(window.jQuery)return jQuery(window).width();var e=0;return"number"==typeof window.innerWidth?e=window.innerWidth:document.documentElement&&document.documentElement.clientWidth?e=document.documentElement.clientWidth:document.body&&document.body.clientWidth&&(e=document.body.clientWidth),e}})();;
document.addEventListener( 'advanced_ads_privacy', function ( e ) {
	( 'accepted' !== e.detail.state && 'not_needed' !== e.detail.state ) ||
		window.advanced_ads_sticky_settings.placements.forEach( function ( e ) {
			document
				.querySelectorAll(
					'script[type="text/plain"][data-tcf="waiting-for-consent"][data-placement="' +
						e +
						'"]'
				)
				.forEach( advads.privacy.decode_ad );
		} );
} ),
	document.addEventListener( 'aagam_empty_slot', function ( e ) {
		const t = document.getElementById( e.detail );
		if ( ! t ) return;
		const n = t.closest(
			'.' +
				document.body.classList.value
					.split( 'aa-prefix-' )[ 1 ]
					.split( ' ' )[ 0 ] +
				'sticky'
		);
		n && advads.close( '#' + n.id );
	} ),
	jQuery( document ).ready( function ( e ) {
		let t,
			n = null,
			s = e( window ).width();
		function o() {
			n && clearTimeout( n ),
				( n = setTimeout( function () {
					const n = e( window ).width();
					s !== n &&
						( ( s = n ),
						'undefined' != typeof advanced_ads_sticky_items &&
							e.each(
								advanced_ads_sticky_items,
								function ( n, s ) {
									( t = e( '#' + n ) ),
										t.prop( 'style', s.initial_css ),
										s.modifying_func();
								}
							) );
				}, 1e3 ) );
		}
		if (
			( ( 'undefined' != typeof advanced_ads_responsive &&
				parseInt( advanced_ads_responsive.reload_on_resize, 10 ) ) ||
				jQuery( window ).on( 'resize', o ),
			'undefined' == typeof advanced_ads_sticky_settings ||
				! advanced_ads_sticky_settings.check_position_fixed )
		)
			return;
		let i = '';
		const c = e( document.body ).is( '.admin-bar' )
			? e( '#wpadminbar' ).height()
			: 0;
		function d( t ) {
			! 1 === i &&
				( e( window ).off( 'resize', o ),
				( t =
					t ||
					jQuery( '.' + advanced_ads_sticky_settings.sticky_class ) ),
				setTimeout( function () {
					t.each( function ( t, n ) {
						const s = e( n );
						window.advanced_ads_sticky_items[ s.attr( 'id' ) ]
							.can_convert_to_abs
							? s.css( 'position', 'absolute' )
							: s
									.css( 'position', '' )
									.css( 'top', '' )
									.css( 'right', '' )
									.css( 'bottom', '' )
									.css( 'left', '' )
									.css( 'margin-left', '' )
									.css( 'transform', 'none' )
									.css( '-webkit-transform', 'none' )
									.css( '-moz-transform', 'none' )
									.css( '-ms-transform', 'none' );
					} );
				} ) );
		}
		navigator.userAgent.indexOf( 'Opera Mini' ) > -1
			? ( ( i = ! 1 ), d() )
			: e( window ).scroll( function t() {
					clearTimeout( e.data( this, 'scrollTimer' ) ),
						e.data(
							this,
							'scrollTimer',
							setTimeout( function () {
								e( document ).scrollTop() <= c ||
									( '' === i &&
										( ( i = ( function () {
											const e = document.body;
											if (
												document.createElement &&
												e &&
												e.appendChild &&
												e.removeChild
											) {
												const t =
													document.createElement(
														'div'
													);
												if ( ! t.getBoundingClientRect )
													return null;
												( t.innerHTML = 'x' ),
													( t.style.cssText =
														'position:fixed;top:100px;' ),
													e.appendChild( t );
												const n = e.style.height,
													s = e.scrollTop;
												let o = parseInt(
													document.documentElement.getBoundingClientRect()
														.top,
													10
												);
												( o = o > 0 ? o : 0 ),
													( e.style.height =
														'3000px' ),
													( e.scrollTop = 500 );
												const i = parseInt(
													t.getBoundingClientRect()
														.top,
													10
												);
												e.style.height = n;
												const c = i - o === 100;
												return (
													e.removeChild( t ),
													( e.scrollTop = s ),
													c
												);
											}
											return null;
										} )() ),
										clearTimeout(
											e.data( this, 'scrollTimer' )
										),
										e( window ).off( 'scroll', t ) ),
									d() );
							}, 100 )
						);
			  } ),
			'object' == typeof advanced_ads_pro &&
				null !== advanced_ads_pro &&
				advanced_ads_pro.postscribeObservers.add( function ( e ) {
					if ( 'postscribe_done' === e.event && e.ref && e.ad ) {
						const t = jQuery( e.ref ).children(
							'.' + advanced_ads_sticky_settings.sticky_class
						);
						t.length && d( t );
					}
				} );
	} );
;
/**
 * @file postscribe
 * @description Asynchronously write javascript, even with document.write.
 * @version v2.0.8
 * @see {@link https://krux.github.io/postscribe}
 * @license MIT
 * @author Derek Brans
 * @copyright 2016 Krux Digital, Inc
 */
(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory();
	else if(typeof define === 'function' && define.amd)
		define([], factory);
	else if(typeof exports === 'object')
		exports["advads_postscribe"] = factory();
	root["advads_postscribe"] = factory();
})(this, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;
/******/
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			exports: {},
/******/ 			id: moduleId,
/******/ 			loaded: false
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports, __webpack_require__) {

	'use strict';
	
	var _postscribe = __webpack_require__(1);
	
	var _postscribe2 = _interopRequireDefault(_postscribe);
	
	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
	
	module.exports = _postscribe2['default'];

/***/ },
/* 1 */
/***/ function(module, exports, __webpack_require__) {

	'use strict';
	
	exports.__esModule = true;
	
	var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
	
	exports['default'] = postscribe;
	
	var _writeStream = __webpack_require__(2);
	
	var _writeStream2 = _interopRequireDefault(_writeStream);
	
	var _utils = __webpack_require__(4);
	
	var utils = _interopRequireWildcard(_utils);
	
	function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
	
	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
	
	/**
	 * A function that intentionally does nothing.
	 */
	function doNothing() {}
	
	/**
	 * Available options and defaults.
	 *
	 * @type {Object}
	 */
	var OPTIONS = {
	  /**
	   * Called when an async script has loaded.
	   */
	  afterAsync: doNothing,
	
	  /**
	   * Called immediately before removing from the write queue.
	   */
	  afterDequeue: doNothing,
	
	  /**
	   * Called sync after a stream's first thread release.
	   */
	  afterStreamStart: doNothing,
	
	  /**
	   * Called after writing buffered document.write calls.
	   */
	  afterWrite: doNothing,
	
	  /**
	   * Allows disabling the autoFix feature of prescribe
	   */
	  autoFix: true,
	
	  /**
	   * Called immediately before adding to the write queue.
	   */
	  beforeEnqueue: doNothing,
	
	  /**
	   * Called before writing a token.
	   *
	   * @param {Object} tok The token
	   */
	  beforeWriteToken: function beforeWriteToken(tok) {
	    return tok;
	  },
	
	  /**
	   * Called before writing buffered document.write calls.
	   *
	   * @param {String} str The string
	   */
	  beforeWrite: function beforeWrite(str) {
	    return str;
	  },
	
	  /**
	   * Called when evaluation is finished.
	   */
	  done: doNothing,
	
	  /**
	   * Called when a write results in an error.
	   *
	   * @param {Error} e The error
	   */
	  error: function error(e) {
	    throw new Error(e.msg);
	  },
	
	
	  /**
	   * Whether to let scripts w/ async attribute set fall out of the queue.
	   */
	  releaseAsync: false
	};
	
	var nextId = 0;
	var queue = [];
	var active = null;
	
	function nextStream() {
	  var args = queue.shift();
	  if (args) {
	    var options = utils.last(args);
	
	    options.afterDequeue();
	    args.stream = runStream.apply(undefined, args);
	    options.afterStreamStart();
	  }
	}
	
	function runStream(el, html, options) {
	  active = new _writeStream2['default'](el, options);
	
	  // Identify this stream.
	  active.id = nextId++;
	  active.name = options.name || active.id;
	  postscribe.streams[active.name] = active;
	
	  // Override document.write.
	  var doc = el.ownerDocument;
	
	  var stash = {
	    close: doc.close,
	    open: doc.open,
	    write: doc.write,
	    writeln: doc.writeln
	  };
	
	  function _write(str) {
	    str = options.beforeWrite(str);
	    active.write(str);
	    options.afterWrite(str);
	  }
	
	  _extends(doc, {
	    close: doNothing,
	    open: doNothing,
	    write: function write() {
	      for (var _len = arguments.length, str = Array(_len), _key = 0; _key < _len; _key++) {
	        str[_key] = arguments[_key];
	      }
	
	      return _write(str.join(''));
	    },
	    writeln: function writeln() {
	      for (var _len2 = arguments.length, str = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
	        str[_key2] = arguments[_key2];
	      }
	
	      return _write(str.join('') + '\n');
	    }
	  });
	
	  // Override window.onerror
	  var oldOnError = active.win.onerror || doNothing;
	
	  // This works together with the try/catch around WriteStream::insertScript
	  // In modern browsers, exceptions in tag scripts go directly to top level
	  active.win.onerror = function (msg, url, line) {
	    options.error({ msg: msg + ' - ' + url + ': ' + line });
	    oldOnError.apply(active.win, [msg, url, line]);
	  };
	
	  // Write to the stream
	  active.write(html, function () {
	    // restore document.write
	    _extends(doc, stash);
	
	    // restore window.onerror
	    active.win.onerror = oldOnError;
	
	    options.done();
	    active = null;
	    nextStream();
	  });
	
	  return active;
	}
	
	function postscribe(el, html, options) {
	  if (utils.isFunction(options)) {
	    options = { done: options };
	  } else if (options === 'clear') {
	    queue = [];
	    active = null;
	    nextId = 0;
	    return;
	  }
	
	  options = utils.defaults(options, OPTIONS);
	
	  // id selector
	  if (/^#/.test(el)) {
	    el = window.document.getElementById(el.substr(1));
	  } else {
	    el = el.jquery ? el[0] : el;
	  }
	
	  var args = [el, html, options];
	
	  el.postscribe = {
	    cancel: function cancel() {
	      if (args.stream) {
	        args.stream.abort();
	      } else {
	        args[1] = doNothing;
	      }
	    }
	  };
	
	  options.beforeEnqueue(args);
	  queue.push(args);
	
	  if (!active) {
	    nextStream();
	  }
	
	  return el.postscribe;
	}
	
	_extends(postscribe, {
	  // Streams by name.
	  streams: {},
	  // Queue of streams.
	  queue: queue,
	  // Expose internal classes.
	  WriteStream: _writeStream2['default']
	});

/***/ },
/* 2 */
/***/ function(module, exports, __webpack_require__) {

	'use strict';
	
	exports.__esModule = true;
	
	var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
	
	var _prescribe = __webpack_require__(3);
	
	var _prescribe2 = _interopRequireDefault(_prescribe);
	
	var _utils = __webpack_require__(4);
	
	var utils = _interopRequireWildcard(_utils);
	
	function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
	
	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
	
	function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
	
	/**
	 * Turn on to debug how each chunk affected the DOM.
	 * @type {boolean}
	 */
	var DEBUG_CHUNK = false;
	
	/**
	 * Prefix for data attributes on DOM elements.
	 * @type {string}
	 */
	var BASEATTR = 'data-ps-';
	
	/**
	 * ID for the style proxy
	 * @type {string}
	 */
	var PROXY_STYLE = 'ps-style';
	
	/**
	 * ID for the script proxy
	 * @type {string}
	 */
	var PROXY_SCRIPT = 'ps-script';
	
	/**
	 * Get data attributes
	 *
	 * @param {Object} el The DOM element.
	 * @param {String} name The attribute name.
	 * @returns {String}
	 */
	function getData(el, name) {
	  var attr = BASEATTR + name;
	
	  var val = el.getAttribute(attr);
	
	  // IE 8 returns a number if it's a number
	  return !utils.existy(val) ? val : String(val);
	}
	
	/**
	 * Set data attributes
	 *
	 * @param {Object} el The DOM element.
	 * @param {String} name The attribute name.
	 * @param {null|*} value The attribute value.
	 */
	function setData(el, name) {
	  var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
	
	  var attr = BASEATTR + name;
	
	  if (utils.existy(value) && value !== '') {
	    el.setAttribute(attr, value);
	  } else {
	    el.removeAttribute(attr);
	  }
	}
	
	/**
	 * Stream static html to an element, where "static html" denotes "html
	 * without scripts".
	 *
	 * This class maintains a *history of writes devoid of any attributes* or
	 * "proxy history".
	 *
	 * Injecting the proxy history into a temporary div has no side-effects,
	 * other than to create proxy elements for previously written elements.
	 *
	 * Given the `staticHtml` of a new write, a `tempDiv`'s innerHTML is set to
	 * `proxy_history + staticHtml`.
	 * The *structure* of `tempDiv`'s contents, (i.e., the placement of new nodes
	 * beside or inside of proxy elements), reflects the DOM structure that would
	 * have resulted if all writes had been squashed into a single write.
	 *
	 * For each descendent `node` of `tempDiv` whose parentNode is a *proxy*,
	 * `node` is appended to the corresponding *real* element within the DOM.
	 *
	 * Proxy elements are mapped to *actual* elements in the DOM by injecting a
	 * `data-id` attribute into each start tag in `staticHtml`.
	 *
	 */
	
	var WriteStream = function () {
	  /**
	   * Constructor.
	   *
	   * @param {Object} root The root element
	   * @param {?Object} options The options
	   */
	  function WriteStream(root) {
	    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
	
	    _classCallCheck(this, WriteStream);
	
	    this.root = root;
	    this.options = options;
	    this.doc = root.ownerDocument;
	    this.win = this.doc.defaultView || this.doc.parentWindow;
	    this.parser = new _prescribe2['default']('', { autoFix: options.autoFix });
	
	    // Actual elements by id.
	    this.actuals = [root];
	
	    // Embodies the "structure" of what's been written so far,
	    // devoid of attributes.
	    this.proxyHistory = '';
	
	    // Create a proxy of the root element.
	    this.proxyRoot = this.doc.createElement(root.nodeName);
	
	    this.scriptStack = [];
	    this.writeQueue = [];
	
	    setData(this.proxyRoot, 'proxyof', 0);
	  }
	
	  /**
	   * Writes the given strings.
	   *
	   * @param {...String} str The strings to write
	   */
	
	
	  WriteStream.prototype.write = function write() {
	    var _writeQueue;
	
	    (_writeQueue = this.writeQueue).push.apply(_writeQueue, arguments);
	
	    // Process writes
	    // When new script gets pushed or pending this will stop
	    // because new writeQueue gets pushed
	    while (!this.deferredRemote && this.writeQueue.length) {
	      var arg = this.writeQueue.shift();
	
	      if (utils.isFunction(arg)) {
	        this._callFunction(arg);
	      } else {
	        this._writeImpl(arg);
	      }
	    }
	  };
	
	  /**
	   * Calls the given function.
	   *
	   * @param {Function} fn The function to call
	   * @private
	   */
	
	
	  WriteStream.prototype._callFunction = function _callFunction(fn) {
	    var tok = { type: 'function', value: fn.name || fn.toString() };
	    this._onScriptStart(tok);
	    fn.call(this.win, this.doc);
	    this._onScriptDone(tok);
	  };
	
	  /**
	   * The write implementation
	   *
	   * @param {String} html The HTML to write.
	   * @private
	   */
	
	
	  WriteStream.prototype._writeImpl = function _writeImpl(html) {
	    this.parser.append(html);
	
	    var tok = void 0;
	    var script = void 0;
	    var style = void 0;
	    var tokens = [];
	
	    // stop if we see a script token
	    while ((tok = this.parser.readToken()) && !(script = utils.isScript(tok)) && !(style = utils.isStyle(tok))) {
	      tok = this.options.beforeWriteToken(tok);
	
	      if (tok) {
	        tokens.push(tok);
	      }
	    }
	
	    if (tokens.length > 0) {
	      this._writeStaticTokens(tokens);
	    }
	
	    if (script) {
	      this._handleScriptToken(tok);
	    }
	
	    if (style) {
	      this._handleStyleToken(tok);
	    }
	  };
	
	  /**
	   * Write contiguous non-script tokens (a chunk)
	   *
	   * @param {Array<Object>} tokens The tokens
	   * @returns {{tokens, raw, actual, proxy}|null}
	   * @private
	   */
	
	
	  WriteStream.prototype._writeStaticTokens = function _writeStaticTokens(tokens) {
	    var chunk = this._buildChunk(tokens);
	
	    if (!chunk.actual) {
	      // e.g., no tokens, or a noscript that got ignored
	      return null;
	    }
	
	    chunk.html = this.proxyHistory + chunk.actual;
	    this.proxyHistory += chunk.proxy;
	    this.proxyRoot.innerHTML = chunk.html;
	
	    if (DEBUG_CHUNK) {
	      chunk.proxyInnerHTML = this.proxyRoot.innerHTML;
	    }
	
	    this._walkChunk();
	
	    if (DEBUG_CHUNK) {
	      chunk.actualInnerHTML = this.root.innerHTML;
	    }
	
	    return chunk;
	  };
	
	  /**
	   * Build a chunk.
	   *
	   * @param {Array<Object>} tokens The tokens to use.
	   * @returns {{tokens: *, raw: string, actual: string, proxy: string}}
	   * @private
	   */
	
	
	  WriteStream.prototype._buildChunk = function _buildChunk(tokens) {
	    var nextId = this.actuals.length;
	
	    // The raw html of this chunk.
	    var raw = [];
	
	    // The html to create the nodes in the tokens (with id's injected).
	    var actual = [];
	
	    // Html that can later be used to proxy the nodes in the tokens.
	    var proxy = [];
	
	    var len = tokens.length;
	    for (var i = 0; i < len; i++) {
	      var tok = tokens[i];
	      var tokenRaw = tok.toString();
	
	      raw.push(tokenRaw);
	
	      if (tok.attrs) {
	        // tok.attrs <==> startTag or atomicTag or cursor
	        // Ignore noscript tags. They are atomic, so we don't have to worry about children.
	        if (!/^noscript$/i.test(tok.tagName)) {
	          var id = nextId++;
	
	          // Actual: inject id attribute: replace '>' at end of start tag with id attribute + '>'
	          actual.push(tokenRaw.replace(/(\/?>)/, ' ' + BASEATTR + 'id=' + id + ' $1'));
	
	          // Don't proxy scripts: they have no bearing on DOM structure.
	          if (tok.attrs.id !== PROXY_SCRIPT && tok.attrs.id !== PROXY_STYLE) {
	            // Proxy: strip all attributes and inject proxyof attribute
	            proxy.push(
	            // ignore atomic tags (e.g., style): they have no "structural" effect
	            tok.type === 'atomicTag' ? '' : '<' + tok.tagName + ' ' + BASEATTR + 'proxyof=' + id + (tok.unary ? ' />' : '>'));
	          }
	        }
	      } else {
	        // Visit any other type of token
	        // Actual: append.
	        actual.push(tokenRaw);
	
	        // Proxy: append endTags. Ignore everything else.
	        proxy.push(tok.type === 'endTag' ? tokenRaw : '');
	      }
	    }
	
	    return {
	      tokens: tokens,
	      raw: raw.join(''),
	      actual: actual.join(''),
	      proxy: proxy.join('')
	    };
	  };
	
	  /**
	   * Walk the chunks.
	   *
	   * @private
	   */
	
	
	  WriteStream.prototype._walkChunk = function _walkChunk() {
	    var node = void 0;
	    var stack = [this.proxyRoot];
	
	    // use shift/unshift so that children are walked in document order
	    while (utils.existy(node = stack.shift())) {
	      var isElement = node.nodeType === 1;
	      var isProxy = isElement && getData(node, 'proxyof');
	
	      // Ignore proxies
	      if (!isProxy) {
	        if (isElement) {
	          // New actual element: register it and remove the the id attr.
	          this.actuals[getData(node, 'id')] = node;
	          setData(node, 'id');
	        }
	
	        // Is node's parent a proxy?
	        var parentIsProxyOf = node.parentNode && getData(node.parentNode, 'proxyof');
	        if (parentIsProxyOf) {
	          // Move node under actual parent.
	          this.actuals[parentIsProxyOf].appendChild(node);
	        }
	      }
	
	      // prepend childNodes to stack
	      stack.unshift.apply(stack, utils.toArray(node.childNodes));
	    }
	  };
	
	  /**
	   * Handles Script tokens
	   *
	   * @param {Object} tok The token
	   */
	
	
	  WriteStream.prototype._handleScriptToken = function _handleScriptToken(tok) {
	    var _this = this;
	
	    var remainder = this.parser.clear();
	
	    if (remainder) {
	      // Write remainder immediately behind this script.
	      this.writeQueue.unshift(remainder);
	    }
	
	    tok.src = tok.attrs.src || tok.attrs.SRC;
	
	    tok = this.options.beforeWriteToken(tok);
	    if (!tok) {
	      // User has removed this token
	      return;
	    }
	
	    if (tok.src && this.scriptStack.length) {
	      // Defer this script until scriptStack is empty.
	      // Assumption 1: This script will not start executing until
	      // scriptStack is empty.
	      this.deferredRemote = tok;
	    } else {
	      this._onScriptStart(tok);
	    }
	
	    // Put the script node in the DOM.
	    this._writeScriptToken(tok, function () {
	      _this._onScriptDone(tok);
	    });
	  };
	
	  /**
	   * Handles style tokens
	   *
	   * @param {Object} tok The token
	   */
	
	
	  WriteStream.prototype._handleStyleToken = function _handleStyleToken(tok) {
	    var remainder = this.parser.clear();
	
	    if (remainder) {
	      // Write remainder immediately behind this style.
	      this.writeQueue.unshift(remainder);
	    }
	
	    tok.type = tok.attrs.type || tok.attrs.TYPE || 'text/css';
	
	    tok = this.options.beforeWriteToken(tok);
	
	    if (tok) {
	      // Put the style node in the DOM.
	      this._writeStyleToken(tok);
	    }
	
	    if (remainder) {
	      this.write();
	    }
	  };
	
	  /**
	   * Build a style and insert it into the DOM.
	   *
	   * @param {Object} tok The token
	   */
	
	
	  WriteStream.prototype._writeStyleToken = function _writeStyleToken(tok) {
	    var el = this._buildStyle(tok);
	
	    this._insertCursor(el, PROXY_STYLE);
	
	    // Set content
	    if (tok.content) {
	      if (el.styleSheet && !el.sheet) {
	        el.styleSheet.cssText = tok.content;
	      } else {
	        el.appendChild(this.doc.createTextNode(tok.content));
	      }
	    }
	  };
	
	  /**
	   * Build a style element from an atomic style token.
	   *
	   * @param {Object} tok The token
	   * @returns {Element}
	   */
	
	
	  WriteStream.prototype._buildStyle = function _buildStyle(tok) {
	    var el = this.doc.createElement(tok.tagName);
	
	    el.setAttribute('type', tok.type);
	
	    // Set attributes
	    utils.eachKey(tok.attrs, function (name, value) {
	      el.setAttribute(name, value);
	    });
	
	    return el;
	  };
	
	  /**
	   * Append a span to the stream. That span will act as a cursor
	   * (i.e. insertion point) for the element.
	   *
	   * @param {Object} el The element
	   * @param {string} which The type of proxy element
	   */
	
	
	  WriteStream.prototype._insertCursor = function _insertCursor(el, which) {
	    this._writeImpl('<span id="' + which + '"/>');
	
	    var cursor = this.doc.getElementById(which);
	
	    if (cursor) {
	      cursor.parentNode.replaceChild(el, cursor);
	    }
	  };
	
	  /**
	   * Called when a script is started.
	   *
	   * @param {Object} tok The token
	   * @private
	   */
	
	
	  WriteStream.prototype._onScriptStart = function _onScriptStart(tok) {
	    tok.outerWrites = this.writeQueue;
	    this.writeQueue = [];
	    this.scriptStack.unshift(tok);
	  };
	
	  /**
	   * Called when a script is done.
	   *
	   * @param {Object} tok The token
	   * @private
	   */
	
	
	  WriteStream.prototype._onScriptDone = function _onScriptDone(tok) {
	    // Pop script and check nesting.
	    if (tok !== this.scriptStack[0]) {
	      this.options.error({ msg: 'Bad script nesting or script finished twice' });
	      return;
	    }
	
	    this.scriptStack.shift();
	
	    // Append outer writes to queue and process them.
	    this.write.apply(this, tok.outerWrites);
	
	    // Check for pending remote
	
	    // Assumption 2: if remote_script1 writes remote_script2 then
	    // the we notice remote_script1 finishes before remote_script2 starts.
	    // I think this is equivalent to assumption 1
	    if (!this.scriptStack.length && this.deferredRemote) {
	      this._onScriptStart(this.deferredRemote);
	      this.deferredRemote = null;
	    }
	  };
	
	  /**
	   * Build a script and insert it into the DOM.
	   * Done is called once script has executed.
	   *
	   * @param {Object} tok The token
	   * @param {Function} done The callback when complete
	   */
	
	
	  WriteStream.prototype._writeScriptToken = function _writeScriptToken(tok, done) {
	    var el = this._buildScript(tok);
	    var asyncRelease = this._shouldRelease(el);
	    var afterAsync = this.options.afterAsync;
	
	    if (tok.src) {
	      // Fix for attribute "SRC" (capitalized). IE does not recognize it.
	      el.src = tok.src;
	      this._scriptLoadHandler(el, !asyncRelease ? function () {
	        done();
	        afterAsync();
	      } : afterAsync);
	    }
	
	    try {
	      this._insertCursor(el, PROXY_SCRIPT);
	      if (!el.src || asyncRelease) {
	        done();
	      }
	    } catch (e) {
	      this.options.error(e);
	      done();
	    }
	  };
	
	  /**
	   * Build a script element from an atomic script token.
	   *
	   * @param {Object} tok The token
	   * @returns {Element}
	   */
	
	
	  WriteStream.prototype._buildScript = function _buildScript(tok) {
	    var el = this.doc.createElement(tok.tagName);
	
	    // Set attributes
	    utils.eachKey(tok.attrs, function (name, value) {
	      el.setAttribute(name, value);
	    });
	
	    // Set content
	    if (tok.content) {
	      el.text = tok.content;
	    }
	
	    return el;
	  };
	
	  /**
	   * Setup the script load handler on an element.
	   *
	   * @param {Object} el The element
	   * @param {Function} done The callback
	   * @private
	   */
	
	
	  WriteStream.prototype._scriptLoadHandler = function _scriptLoadHandler(el, done) {
	    function cleanup() {
	      el = el.onload = el.onreadystatechange = el.onerror = null;
	    }
	
	    var error = this.options.error;
	
	    function success() {
	      cleanup();
	      if (done != null) {
	        done();
	      }
	      done = null;
	    }
	
	    function failure(err) {
	      cleanup();
	      error(err);
	      if (done != null) {
	        done();
	      }
	      done = null;
	    }
	
	    function reattachEventListener(el, evt) {
	      var handler = el['on' + evt];
	      if (handler != null) {
	        el['_on' + evt] = handler;
	      }
	    }
	
	    reattachEventListener(el, 'load');
	    reattachEventListener(el, 'error');
	
	    _extends(el, {
	      onload: function onload() {
	        if (el._onload) {
	          try {
	            el._onload.apply(this, Array.prototype.slice.call(arguments, 0));
	          } catch (err) {
	            failure({ msg: 'onload handler failed ' + err + ' @ ' + el.src });
	          }
	        }
	        success();
	      },
	      onerror: function onerror() {
	        if (el._onerror) {
	          try {
	            el._onerror.apply(this, Array.prototype.slice.call(arguments, 0));
	          } catch (err) {
	            failure({ msg: 'onerror handler failed ' + err + ' @ ' + el.src });
	            return;
	          }
	        }
	        failure({ msg: 'remote script failed ' + el.src });
	      },
	      onreadystatechange: function onreadystatechange() {
	        if (/^(loaded|complete)$/.test(el.readyState)) {
	          success();
	        }
	      }
	    });
	  };
	
	  /**
	   * Determines whether to release.
	   *
	   * @param {Object} el The element
	   * @returns {boolean}
	   * @private
	   */
	
	
	  WriteStream.prototype._shouldRelease = function _shouldRelease(el) {
	    var isScript = /^script$/i.test(el.nodeName);
	    return !isScript || !!(this.options.releaseAsync && el.src && el.hasAttribute('async'));
	  };
	
	  return WriteStream;
	}();
	
	exports['default'] = WriteStream;

/***/ },
/* 3 */
/***/ function(module, exports, __webpack_require__) {

	/**
	 * @file prescribe
	 * @description Tiny, forgiving HTML parser
	 * @version vundefined
	 * @see {@link https://github.com/krux/prescribe/}
	 * @license MIT
	 * @author Derek Brans
	 * @copyright 2016 Krux Digital, Inc
	 */
	(function webpackUniversalModuleDefinition(root, factory) {
		if(true)
			module.exports = factory();
		else if(typeof define === 'function' && define.amd)
			define([], factory);
		else if(typeof exports === 'object')
			exports["Prescribe"] = factory();
		else
			root["Prescribe"] = factory();
	})(this, function() {
	return /******/ (function(modules) { // webpackBootstrap
	/******/ 	// The module cache
	/******/ 	var installedModules = {};
	
	/******/ 	// The require function
	/******/ 	function __webpack_require__(moduleId) {
	
	/******/ 		// Check if module is in cache
	/******/ 		if(installedModules[moduleId])
	/******/ 			return installedModules[moduleId].exports;
	
	/******/ 		// Create a new module (and put it into the cache)
	/******/ 		var module = installedModules[moduleId] = {
	/******/ 			exports: {},
	/******/ 			id: moduleId,
	/******/ 			loaded: false
	/******/ 		};
	
	/******/ 		// Execute the module function
	/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
	
	/******/ 		// Flag the module as loaded
	/******/ 		module.loaded = true;
	
	/******/ 		// Return the exports of the module
	/******/ 		return module.exports;
	/******/ 	}
	
	
	/******/ 	// expose the modules object (__webpack_modules__)
	/******/ 	__webpack_require__.m = modules;
	
	/******/ 	// expose the module cache
	/******/ 	__webpack_require__.c = installedModules;
	
	/******/ 	// __webpack_public_path__
	/******/ 	__webpack_require__.p = "";
	
	/******/ 	// Load entry module and return exports
	/******/ 	return __webpack_require__(0);
	/******/ })
	/************************************************************************/
	/******/ ([
	/* 0 */
	/***/ function(module, exports, __webpack_require__) {
	
		'use strict';
	
		var _HtmlParser = __webpack_require__(1);
	
		var _HtmlParser2 = _interopRequireDefault(_HtmlParser);
	
		function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
	
		module.exports = _HtmlParser2['default'];
	
	/***/ },
	/* 1 */
	/***/ function(module, exports, __webpack_require__) {
	
		'use strict';
	
		exports.__esModule = true;
	
		var _supports = __webpack_require__(2);
	
		var supports = _interopRequireWildcard(_supports);
	
		var _streamReaders = __webpack_require__(3);
	
		var streamReaders = _interopRequireWildcard(_streamReaders);
	
		var _fixedReadTokenFactory = __webpack_require__(6);
	
		var _fixedReadTokenFactory2 = _interopRequireDefault(_fixedReadTokenFactory);
	
		var _utils = __webpack_require__(5);
	
		function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
	
		function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
	
		function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
	
		/**
		 * Detection regular expressions.
		 *
		 * Order of detection matters: detection of one can only
		 * succeed if detection of previous didn't
	
		 * @type {Object}
		 */
		var detect = {
		  comment: /^<!--/,
		  endTag: /^<\//,
		  atomicTag: /^<\s*(script|style|noscript|iframe|textarea)[\s\/>]/i,
		  startTag: /^</,
		  chars: /^[^<]/
		};
	
		/**
		 * HtmlParser provides the capability to parse HTML and return tokens
		 * representing the tags and content.
		 */
	
		var HtmlParser = function () {
		  /**
		   * Constructor.
		   *
		   * @param {string} stream The initial parse stream contents.
		   * @param {Object} options The options
		   * @param {boolean} options.autoFix Set to true to automatically fix errors
		   */
		  function HtmlParser() {
		    var _this = this;
	
		    var stream = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
		    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
	
		    _classCallCheck(this, HtmlParser);
	
		    this.stream = stream;
	
		    var fix = false;
		    var fixedTokenOptions = {};
	
		    for (var key in supports) {
		      if (supports.hasOwnProperty(key)) {
		        if (options.autoFix) {
		          fixedTokenOptions[key + 'Fix'] = true; // !supports[key];
		        }
		        fix = fix || fixedTokenOptions[key + 'Fix'];
		      }
		    }
	
		    if (fix) {
		      this._readToken = (0, _fixedReadTokenFactory2['default'])(this, fixedTokenOptions, function () {
		        return _this._readTokenImpl();
		      });
		      this._peekToken = (0, _fixedReadTokenFactory2['default'])(this, fixedTokenOptions, function () {
		        return _this._peekTokenImpl();
		      });
		    } else {
		      this._readToken = this._readTokenImpl;
		      this._peekToken = this._peekTokenImpl;
		    }
		  }
	
		  /**
		   * Appends the given string to the parse stream.
		   *
		   * @param {string} str The string to append
		   */
	
	
		  HtmlParser.prototype.append = function append(str) {
		    this.stream += str;
		  };
	
		  /**
		   * Prepends the given string to the parse stream.
		   *
		   * @param {string} str The string to prepend
		   */
	
	
		  HtmlParser.prototype.prepend = function prepend(str) {
		    this.stream = str + this.stream;
		  };
	
		  /**
		   * The implementation of the token reading.
		   *
		   * @private
		   * @returns {?Token}
		   */
	
	
		  HtmlParser.prototype._readTokenImpl = function _readTokenImpl() {
		    var token = this._peekTokenImpl();
		    if (token) {
		      this.stream = this.stream.slice(token.length);
		      return token;
		    }
		  };
	
		  /**
		   * The implementation of token peeking.
		   *
		   * @returns {?Token}
		   */
	
	
		  HtmlParser.prototype._peekTokenImpl = function _peekTokenImpl() {
		    for (var type in detect) {
		      if (detect.hasOwnProperty(type)) {
		        if (detect[type].test(this.stream)) {
		          var token = streamReaders[type](this.stream);
	
		          if (token) {
		            if (token.type === 'startTag' && /script|style/i.test(token.tagName)) {
		              return null;
		            } else {
		              token.text = this.stream.substr(0, token.length);
		              return token;
		            }
		          }
		        }
		      }
		    }
		  };
	
		  /**
		   * The public token peeking interface.  Delegates to the basic token peeking
		   * or a version that performs fixups depending on the `autoFix` setting in
		   * options.
		   *
		   * @returns {object}
		   */
	
	
		  HtmlParser.prototype.peekToken = function peekToken() {
		    return this._peekToken();
		  };
	
		  /**
		   * The public token reading interface.  Delegates to the basic token reading
		   * or a version that performs fixups depending on the `autoFix` setting in
		   * options.
		   *
		   * @returns {object}
		   */
	
	
		  HtmlParser.prototype.readToken = function readToken() {
		    return this._readToken();
		  };
	
		  /**
		   * Read tokens and hand to the given handlers.
		   *
		   * @param {Object} handlers The handlers to use for the different tokens.
		   */
	
	
		  HtmlParser.prototype.readTokens = function readTokens(handlers) {
		    var tok = void 0;
		    while (tok = this.readToken()) {
		      // continue until we get an explicit "false" return
		      if (handlers[tok.type] && handlers[tok.type](tok) === false) {
		        return;
		      }
		    }
		  };
	
		  /**
		   * Clears the parse stream.
		   *
		   * @returns {string} The contents of the parse stream before clearing.
		   */
	
	
		  HtmlParser.prototype.clear = function clear() {
		    var rest = this.stream;
		    this.stream = '';
		    return rest;
		  };
	
		  /**
		   * Returns the rest of the parse stream.
		   *
		   * @returns {string} The contents of the parse stream.
		   */
	
	
		  HtmlParser.prototype.rest = function rest() {
		    return this.stream;
		  };
	
		  return HtmlParser;
		}();
	
		exports['default'] = HtmlParser;
	
	
		HtmlParser.tokenToString = function (tok) {
		  return tok.toString();
		};
	
		HtmlParser.escapeAttributes = function (attrs) {
		  var escapedAttrs = {};
	
		  for (var name in attrs) {
		    if (attrs.hasOwnProperty(name)) {
		      escapedAttrs[name] = (0, _utils.escapeQuotes)(attrs[name], null);
		    }
		  }
	
		  return escapedAttrs;
		};
	
		HtmlParser.supports = supports;
	
		for (var key in supports) {
		  if (supports.hasOwnProperty(key)) {
		    HtmlParser.browserHasFlaw = HtmlParser.browserHasFlaw || !supports[key] && key;
		  }
		}
	
	/***/ },
	/* 2 */
	/***/ function(module, exports) {
	
		'use strict';
	
		exports.__esModule = true;
		var tagSoup = false;
		var selfClose = false;
	
		var work = window.document.createElement('div');
	
		try {
		  var html = '<P><I></P></I>';
		  work.innerHTML = html;
		  exports.tagSoup = tagSoup = work.innerHTML !== html;
		} catch (e) {
		  exports.tagSoup = tagSoup = false;
		}
	
		try {
		  work.innerHTML = '<P><i><P></P></i></P>';
		  exports.selfClose = selfClose = work.childNodes.length === 2;
		} catch (e) {
		  exports.selfClose = selfClose = false;
		}
	
		work = null;
	
		exports.tagSoup = tagSoup;
		exports.selfClose = selfClose;
	
	/***/ },
	/* 3 */
	/***/ function(module, exports, __webpack_require__) {
	
		'use strict';
	
		exports.__esModule = true;
	
		var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
	
		exports.comment = comment;
		exports.chars = chars;
		exports.startTag = startTag;
		exports.atomicTag = atomicTag;
		exports.endTag = endTag;
	
		var _tokens = __webpack_require__(4);
	
		/**
		 * Regular Expressions for parsing tags and attributes
		 *
		 * @type {Object}
		 */
		var REGEXES = {
		  startTag: /^<([\-A-Za-z0-9_]+)((?:\s+[\w\-]+(?:\s*=?\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,
		  endTag: /^<\/([\-A-Za-z0-9_]+)[^>]*>/,
		  attr: /(?:([\-A-Za-z0-9_]+)\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))|(?:([\-A-Za-z0-9_]+)(\s|$)+)/g,
		  fillAttr: /^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noresize|noshade|nowrap|readonly|selected)$/i
		};
	
		/**
		 * Reads a comment token
		 *
		 * @param {string} stream The input stream
		 * @returns {CommentToken}
		 */
		function comment(stream) {
		  var index = stream.indexOf('-->');
		  if (index >= 0) {
		    return new _tokens.CommentToken(stream.substr(4, index - 1), index + 3);
		  }
		}
	
		/**
		 * Reads non-tag characters.
		 *
		 * @param {string} stream The input stream
		 * @returns {CharsToken}
		 */
		function chars(stream) {
		  var index = stream.indexOf('<');
		  return new _tokens.CharsToken(index >= 0 ? index : stream.length);
		}
	
		/**
		 * Reads start tag token.
		 *
		 * @param {string} stream The input stream
		 * @returns {StartTagToken}
		 */
		function startTag(stream) {
		  var endTagIndex = stream.indexOf('>');
		  if (endTagIndex !== -1) {
		    var match = stream.match(REGEXES.startTag);
		    if (match) {
		      var _ret = function () {
		        var attrs = {};
		        var booleanAttrs = {};
		        var rest = match[2];
	
		        match[2].replace(REGEXES.attr, function (match, name) {
		          if (!(arguments[2] || arguments[3] || arguments[4] || arguments[5])) {
		            attrs[name] = '';
		          } else if (arguments[5]) {
		            attrs[arguments[5]] = '';
		            booleanAttrs[arguments[5]] = true;
		          } else {
		            attrs[name] = arguments[2] || arguments[3] || arguments[4] || REGEXES.fillAttr.test(name) && name || '';
		          }
	
		          rest = rest.replace(match, '');
		        });
	
		        return {
		          v: new _tokens.StartTagToken(match[1], match[0].length, attrs, booleanAttrs, !!match[3], rest.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''))
		        };
		      }();
	
		      if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v;
		    }
		  }
		}
	
		/**
		 * Reads atomic tag token.
		 *
		 * @param {string} stream The input stream
		 * @returns {AtomicTagToken}
		 */
		function atomicTag(stream) {
		  var start = startTag(stream);
		  if (start) {
		    var rest = stream.slice(start.length);
		    // for optimization, we check first just for the end tag
		    if (rest.match(new RegExp('<\/\\s*' + start.tagName + '\\s*>', 'i'))) {
		      // capturing the content is inefficient, so we do it inside the if
		      var match = rest.match(new RegExp('([\\s\\S]*?)<\/\\s*' + start.tagName + '\\s*>', 'i'));
		      if (match) {
		        return new _tokens.AtomicTagToken(start.tagName, match[0].length + start.length, start.attrs, start.booleanAttrs, match[1]);
		      }
		    }
		  }
		}
	
		/**
		 * Reads an end tag token.
		 *
		 * @param {string} stream The input stream
		 * @returns {EndTagToken}
		 */
		function endTag(stream) {
		  var match = stream.match(REGEXES.endTag);
		  if (match) {
		    return new _tokens.EndTagToken(match[1], match[0].length);
		  }
		}
	
	/***/ },
	/* 4 */
	/***/ function(module, exports, __webpack_require__) {
	
		'use strict';
	
		exports.__esModule = true;
		exports.EndTagToken = exports.AtomicTagToken = exports.StartTagToken = exports.TagToken = exports.CharsToken = exports.CommentToken = exports.Token = undefined;
	
		var _utils = __webpack_require__(5);
	
		function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
	
		/**
		 * Token is a base class for all token types parsed.  Note we don't actually
		 * use intheritance due to IE8's non-existent ES5 support.
		 */
		var Token =
		/**
		 * Constructor.
		 *
		 * @param {string} type The type of the Token.
		 * @param {Number} length The length of the Token text.
		 */
		exports.Token = function Token(type, length) {
		  _classCallCheck(this, Token);
	
		  this.type = type;
		  this.length = length;
		  this.text = '';
		};
	
		/**
		 * CommentToken represents comment tags.
		 */
	
	
		var CommentToken = exports.CommentToken = function () {
		  /**
		   * Constructor.
		   *
		   * @param {string} content The content of the comment
		   * @param {Number} length The length of the Token text.
		   */
		  function CommentToken(content, length) {
		    _classCallCheck(this, CommentToken);
	
		    this.type = 'comment';
		    this.length = length || (content ? content.length : 0);
		    this.text = '';
		    this.content = content;
		  }
	
		  CommentToken.prototype.toString = function toString() {
		    return '<!--' + this.content;
		  };
	
		  return CommentToken;
		}();
	
		/**
		 * CharsToken represents non-tag characters.
		 */
	
	
		var CharsToken = exports.CharsToken = function () {
		  /**
		   * Constructor.
		   *
		   * @param {Number} length The length of the Token text.
		   */
		  function CharsToken(length) {
		    _classCallCheck(this, CharsToken);
	
		    this.type = 'chars';
		    this.length = length;
		    this.text = '';
		  }
	
		  CharsToken.prototype.toString = function toString() {
		    return this.text;
		  };
	
		  return CharsToken;
		}();
	
		/**
		 * TagToken is a base class for all tag-based Tokens.
		 */
	
	
		var TagToken = exports.TagToken = function () {
		  /**
		   * Constructor.
		   *
		   * @param {string} type The type of the token.
		   * @param {string} tagName The tag name.
		   * @param {Number} length The length of the Token text.
		   * @param {Object} attrs The dictionary of attributes and values
		   * @param {Object} booleanAttrs If an entry has 'true' then the attribute
		   *                              is a boolean attribute
		   */
		  function TagToken(type, tagName, length, attrs, booleanAttrs) {
		    _classCallCheck(this, TagToken);
	
		    this.type = type;
		    this.length = length;
		    this.text = '';
		    this.tagName = tagName;
		    this.attrs = attrs;
		    this.booleanAttrs = booleanAttrs;
		    this.unary = false;
		    this.html5Unary = false;
		  }
	
		  /**
		   * Formats the given token tag.
		   *
		   * @param {TagToken} tok The TagToken to format.
		   * @param {?string} [content=null] The content of the token.
		   * @returns {string} The formatted tag.
		   */
	
	
		  TagToken.formatTag = function formatTag(tok) {
		    var content = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
	
		    var str = '<' + tok.tagName;
		    for (var key in tok.attrs) {
		      if (tok.attrs.hasOwnProperty(key)) {
		        str += ' ' + key;
	
		        var val = tok.attrs[key];
		        if (typeof tok.booleanAttrs === 'undefined' || typeof tok.booleanAttrs[key] === 'undefined') {
		          str += '="' + (0, _utils.escapeQuotes)(val) + '"';
		        }
		      }
		    }
	
		    if (tok.rest) {
		      str += ' ' + tok.rest;
		    }
	
		    if (tok.unary && !tok.html5Unary) {
		      str += '/>';
		    } else {
		      str += '>';
		    }
	
		    if (content !== undefined && content !== null) {
		      str += content + '</' + tok.tagName + '>';
		    }
	
		    return str;
		  };
	
		  return TagToken;
		}();
	
		/**
		 * StartTagToken represents a start token.
		 */
	
	
		var StartTagToken = exports.StartTagToken = function () {
		  /**
		   * Constructor.
		   *
		   * @param {string} tagName The tag name.
		   * @param {Number} length The length of the Token text
		   * @param {Object} attrs The dictionary of attributes and values
		   * @param {Object} booleanAttrs If an entry has 'true' then the attribute
		   *                              is a boolean attribute
		   * @param {boolean} unary True if the tag is a unary tag
		   * @param {string} rest The rest of the content.
		   */
		  function StartTagToken(tagName, length, attrs, booleanAttrs, unary, rest) {
		    _classCallCheck(this, StartTagToken);
	
		    this.type = 'startTag';
		    this.length = length;
		    this.text = '';
		    this.tagName = tagName;
		    this.attrs = attrs;
		    this.booleanAttrs = booleanAttrs;
		    this.html5Unary = false;
		    this.unary = unary;
		    this.rest = rest;
		  }
	
		  StartTagToken.prototype.toString = function toString() {
		    return TagToken.formatTag(this);
		  };
	
		  return StartTagToken;
		}();
	
		/**
		 * AtomicTagToken represents an atomic tag.
		 */
	
	
		var AtomicTagToken = exports.AtomicTagToken = function () {
		  /**
		   * Constructor.
		   *
		   * @param {string} tagName The name of the tag.
		   * @param {Number} length The length of the tag text.
		   * @param {Object} attrs The attributes.
		   * @param {Object} booleanAttrs If an entry has 'true' then the attribute
		   *                              is a boolean attribute
		   * @param {string} content The content of the tag.
		   */
		  function AtomicTagToken(tagName, length, attrs, booleanAttrs, content) {
		    _classCallCheck(this, AtomicTagToken);
	
		    this.type = 'atomicTag';
		    this.length = length;
		    this.text = '';
		    this.tagName = tagName;
		    this.attrs = attrs;
		    this.booleanAttrs = booleanAttrs;
		    this.unary = false;
		    this.html5Unary = false;
		    this.content = content;
		  }
	
		  AtomicTagToken.prototype.toString = function toString() {
		    return TagToken.formatTag(this, this.content);
		  };
	
		  return AtomicTagToken;
		}();
	
		/**
		 * EndTagToken represents an end tag.
		 */
	
	
		var EndTagToken = exports.EndTagToken = function () {
		  /**
		   * Constructor.
		   *
		   * @param {string} tagName The name of the tag.
		   * @param {Number} length The length of the tag text.
		   */
		  function EndTagToken(tagName, length) {
		    _classCallCheck(this, EndTagToken);
	
		    this.type = 'endTag';
		    this.length = length;
		    this.text = '';
		    this.tagName = tagName;
		  }
	
		  EndTagToken.prototype.toString = function toString() {
		    return '</' + this.tagName + '>';
		  };
	
		  return EndTagToken;
		}();
	
	/***/ },
	/* 5 */
	/***/ function(module, exports) {
	
		'use strict';
	
		exports.__esModule = true;
		exports.escapeQuotes = escapeQuotes;
	
		/**
		 * Escape quotes in the given value.
		 *
		 * @param {string} value The value to escape.
		 * @param {string} [defaultValue=''] The default value to return if value is falsy.
		 * @returns {string}
		 */
		function escapeQuotes(value) {
		  var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
	
		  // There's no lookback in JS, so /(^|[^\\])"/ only matches the first of two `"`s.
		  // Instead, just match anything before a double-quote and escape if it's not already escaped.
		  return !value ? defaultValue : value.replace(/([^"]*)"/g, function (_, prefix) {
		    return (/\\/.test(prefix) ? prefix + '"' : prefix + '\\"'
		    );
		  });
		}
	
	/***/ },
	/* 6 */
	/***/ function(module, exports) {
	
		'use strict';
	
		exports.__esModule = true;
		exports['default'] = fixedReadTokenFactory;
		/**
		 * Empty Elements - HTML 4.01
		 *
		 * @type {RegExp}
		 */
		var EMPTY = /^(AREA|BASE|BASEFONT|BR|COL|FRAME|HR|IMG|INPUT|ISINDEX|LINK|META|PARAM|EMBED)$/i;
	
		/**
		 * Elements that you can intentionally leave open (and which close themselves)
		 *
		 * @type {RegExp}
		 */
		var CLOSESELF = /^(COLGROUP|DD|DT|LI|OPTIONS|P|TD|TFOOT|TH|THEAD|TR)$/i;
	
		/**
		 * Corrects a token.
		 *
		 * @param {Token} tok The token to correct
		 * @returns {Token} The corrected token
		 */
		function correct(tok) {
		  if (tok && tok.type === 'startTag') {
		    tok.unary = EMPTY.test(tok.tagName) || tok.unary;
		    tok.html5Unary = !/\/>$/.test(tok.text);
		  }
		  return tok;
		}
	
		/**
		 * Peeks at the next token in the parser.
		 *
		 * @param {HtmlParser} parser The parser
		 * @param {Function} readTokenImpl The underlying readToken implementation
		 * @returns {Token} The next token
		 */
		function peekToken(parser, readTokenImpl) {
		  var tmp = parser.stream;
		  var tok = correct(readTokenImpl());
		  parser.stream = tmp;
		  return tok;
		}
	
		/**
		 * Closes the last token.
		 *
		 * @param {HtmlParser} parser The parser
		 * @param {Array<Token>} stack The stack
		 */
		function closeLast(parser, stack) {
		  var tok = stack.pop();
	
		  // prepend close tag to stream.
		  parser.prepend('</' + tok.tagName + '>');
		}
	
		/**
		 * Create a new token stack.
		 *
		 * @returns {Array<Token>}
		 */
		function newStack() {
		  var stack = [];
	
		  stack.last = function () {
		    return this[this.length - 1];
		  };
	
		  stack.lastTagNameEq = function (tagName) {
		    var last = this.last();
		    return last && last.tagName && last.tagName.toUpperCase() === tagName.toUpperCase();
		  };
	
		  stack.containsTagName = function (tagName) {
		    for (var i = 0, tok; tok = this[i]; i++) {
		      if (tok.tagName === tagName) {
		        return true;
		      }
		    }
		    return false;
		  };
	
		  return stack;
		}
	
		/**
		 * Return a readToken implementation that fixes input.
		 *
		 * @param {HtmlParser} parser The parser
		 * @param {Object} options Options for fixing
		 * @param {boolean} options.tagSoupFix True to fix tag soup scenarios
		 * @param {boolean} options.selfCloseFix True to fix self-closing tags
		 * @param {Function} readTokenImpl The underlying readToken implementation
		 * @returns {Function}
		 */
		function fixedReadTokenFactory(parser, options, readTokenImpl) {
		  var stack = newStack();
	
		  var handlers = {
		    startTag: function startTag(tok) {
		      var tagName = tok.tagName;
	
		      if (tagName.toUpperCase() === 'TR' && stack.lastTagNameEq('TABLE')) {
		        parser.prepend('<TBODY>');
		        prepareNextToken();
		      } else if (options.selfCloseFix && CLOSESELF.test(tagName) && stack.containsTagName(tagName)) {
		        if (stack.lastTagNameEq(tagName)) {
		          closeLast(parser, stack);
		        } else {
		          parser.prepend('</' + tok.tagName + '>');
		          prepareNextToken();
		        }
		      } else if (!tok.unary) {
		        stack.push(tok);
		      }
		    },
		    endTag: function endTag(tok) {
		      var last = stack.last();
		      if (last) {
		        if (options.tagSoupFix && !stack.lastTagNameEq(tok.tagName)) {
		          // cleanup tag soup
		          closeLast(parser, stack);
		        } else {
		          stack.pop();
		        }
		      } else if (options.tagSoupFix) {
		        // cleanup tag soup part 2: skip this token
		        readTokenImpl();
		        prepareNextToken();
		      }
		    }
		  };
	
		  function prepareNextToken() {
		    var tok = peekToken(parser, readTokenImpl);
		    if (tok && handlers[tok.type]) {
		      handlers[tok.type](tok);
		    }
		  }
	
		  return function fixedReadToken() {
		    prepareNextToken();
		    return correct(readTokenImpl());
		  };
		}
	
	/***/ }
	/******/ ])
	});
	;

/***/ },
/* 4 */
/***/ function(module, exports) {

	'use strict';
	
	exports.__esModule = true;
	
	var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
	
	exports.existy = existy;
	exports.isFunction = isFunction;
	exports.each = each;
	exports.eachKey = eachKey;
	exports.defaults = defaults;
	exports.toArray = toArray;
	exports.last = last;
	exports.isTag = isTag;
	exports.isScript = isScript;
	exports.isStyle = isStyle;
	/**
	 * Determine if the thing is not undefined and not null.
	 *
	 * @param {*} thing The thing to test
	 * @returns {boolean} True if the thing is not undefined and not null.
	 */
	function existy(thing) {
	  return thing !== void 0 && thing !== null;
	}
	
	/**
	 * Is this a function?
	 *
	 * @param {*} x The variable to test
	 * @returns {boolean} True if the variable is a function
	 */
	function isFunction(x) {
	  return 'function' === typeof x;
	}
	
	/**
	 * Loop over each item in an array-like value.
	 *
	 * @param {Array<*>} arr The array to loop over
	 * @param {Function} fn The function to call
	 * @param {?Object} target The object to bind to the function
	 */
	function each(arr, fn, target) {
	  var i = void 0;
	  var len = arr && arr.length || 0;
	  for (i = 0; i < len; i++) {
	    fn.call(target, arr[i], i);
	  }
	}
	
	/**
	 * Loop over each key/value pair in a hash.
	 *
	 * @param {Object} obj The object
	 * @param {Function} fn The function to call
	 * @param {?Object} target The object to bind to the function
	 */
	function eachKey(obj, fn, target) {
	  for (var key in obj) {
	    if (obj.hasOwnProperty(key)) {
	      fn.call(target, key, obj[key]);
	    }
	  }
	}
	
	/**
	 * Set default options where some option was not specified.
	 *
	 * @param {Object} options The destination
	 * @param {Object} _defaults The defaults
	 * @returns {Object}
	 */
	function defaults(options, _defaults) {
	  options = options || {};
	  eachKey(_defaults, function (key, val) {
	    if (!existy(options[key])) {
	      options[key] = val;
	    }
	  });
	  return options;
	}
	
	/**
	 * Convert value (e.g., a NodeList) to an array.
	 *
	 * @param {*} obj The object
	 * @returns {Array<*>}
	 */
	function toArray(obj) {
	  try {
	    return Array.prototype.slice.call(obj);
	  } catch (e) {
	    var _ret = function () {
	      var ret = [];
	      each(obj, function (val) {
	        ret.push(val);
	      });
	      return {
	        v: ret
	      };
	    }();
	
	    if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v;
	  }
	}
	
	/**
	 * Get the last item in an array
	 *
	 * @param {Array<*>} array The array
	 * @returns {*} The last item in the array
	 */
	function last(array) {
	  return array[array.length - 1];
	}
	
	/**
	 * Test if token is a script tag.
	 *
	 * @param {Object} tok The token
	 * @param {String} tag The tag name
	 * @returns {boolean} True if the token is a script tag
	 */
	function isTag(tok, tag) {
	  return !tok || !(tok.type === 'startTag' || tok.type === 'atomicTag') || !('tagName' in tok) ? !1 : !!~tok.tagName.toLowerCase().indexOf(tag);
	}
	
	/**
	 * Test if token is a script tag.
	 *
	 * @param {Object} tok The token
	 * @returns {boolean} True if the token is a script tag
	 */
	function isScript(tok) {
	  return isTag(tok, 'script');
	}
	
	/**
	 * Test if token is a style tag.
	 *
	 * @param {Object} tok The token
	 * @returns {boolean} True if the token is a style tag
	 */
	function isStyle(tok) {
	  return isTag(tok, 'style');
	}

/***/ }
/******/ ])
});
;
;
(()=>{"use strict";var e={428:e=>{e.exports=window.jQuery},960:(e,a,t)=>{t.d(a,{K:()=>r});var i=t(428),s=t.n(i);e=t.hmd(e);const n={REFERRER_COOKIE_NAME:"advanced_ads_pro_visitor_referrer",PAGE_IMPRESSIONS_COOKIE_NAME:"advanced_ads_page_impressions",AD_IMPRESSIONS_COOKIE_NAME:"advanced_ads_ad_impressions",VISITOR_INFO_COOKIE_NAME:"advanced_ads_visitor",conditions:{mobile:"check_mobile",referrer_url:"check_referrer_url",user_agent:"check_user_agent",request_uri:"check_request_uri",browser_lang:"check_browser_lang",cookie:"check_cookie",page_impressions:"check_page_impressions",ad_impressions:"check_ad_impressions",new_visitor:"check_new_visitor",adblocker:"check_adblocker",device_width:"check_browser_width",tablet:"check_tablet",loggedin:"check_loggedin",capability:"check_capability",role:"check_role",geo_targeting:"check_geo_targeting",buddypress_profile_field:"check_buddypress_profile_field"},init:function(){s()(document).trigger("advads-passive-cb-conditions",[this]),this.init=function(){}},frontend_check:function(e,a){var t=this.conditions[e.type];return"string"==typeof t&&(t=advads_pro_utils.bind(this[t],this)),!t||!!t(e,a)},check_mobile:function(a){if(function(a){var i=/iPhone/i,s=/iPod/i,n=/iPad/i,r=/(?=.*\bAndroid\b)(?=.*\bMobile\b)/i,o=/Android/i,d=/(?=.*\bAndroid\b)(?=.*\bSD4930UR\b)/i,_=/(?=.*\bAndroid\b)(?=.*\b(?:KFOT|KFTT|KFJWI|KFJWA|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|KFARWI|KFASWI|KFSAWI|KFSAWA)\b)/i,c=/IEMobile/i,l=/(?=.*\bWindows\b)(?=.*\bARM\b)/i,p=/BlackBerry/i,T=/BB10/i,u=/Opera Mini/i,b=/(CriOS|Chrome)(?=.*\bMobile\b)/i,v=/(?=.*\bFirefox\b)(?=.*\bMobile\b)/i,h=new RegExp("(?:Nexus 7|BNTV250|Kindle Fire|Silk|GT-P1000)","i"),f=function(e,a){return e.test(a)},A=function(e){var a=e||navigator.userAgent,t=a.split("[FBAN");return void 0!==t[1]&&(a=t[0]),this.apple={phone:f(i,a),ipod:f(s,a),tablet:!f(i,a)&&f(n,a),device:f(i,a)||f(s,a)||f(n,a)},this.amazon={phone:f(d,a),tablet:!f(d,a)&&f(_,a),device:f(d,a)||f(_,a)},this.android={phone:f(d,a)||f(r,a),tablet:!f(d,a)&&!f(r,a)&&(f(_,a)||f(o,a)),device:f(d,a)||f(_,a)||f(r,a)||f(o,a)},this.windows={phone:f(c,a),tablet:f(l,a),device:f(c,a)||f(l,a)},this.other={blackberry:f(p,a),blackberry10:f(T,a),opera:f(u,a),firefox:f(v,a),chrome:f(b,a),device:f(p,a)||f(T,a)||f(u,a)||f(v,a)||f(b,a)},this.seven_inch=f(h,a),this.any=this.apple.device||this.android.device||this.windows.device||this.other.device||this.seven_inch,this.phone=this.apple.phone||this.android.phone||this.windows.phone,this.tablet=this.apple.tablet||this.android.tablet||this.windows.tablet,"undefined"==typeof window?this:void 0},P=function(){var e=new A;return e.Class=A,e};e.exports&&"undefined"==typeof window?e.exports=A:e.exports&&"undefined"!=typeof window?e.exports=P():"function"==typeof define&&t.amdO?define("isMobile",[],a.isMobile=P()):a.isMobile=P()}(this),!advads_pro_utils.isset(a.value)){if(!advads_pro_utils.isset(a.operator))return!0;const e=this.isMobile.any;return"is_not"===a.operator?!e:e}const i=this.check_tablet({operator:"is"});return Object.keys(Object.fromEntries(Object.entries({mobile:this.isMobile.any&&!i,tablet:i,desktop:!this.isMobile.any&&!i}).filter(([e,t])=>a.value.includes(e)&&t))).length>0},check_referrer_url:function(e){var a=advads_pro_utils.extract_cookie_data(advads.get_cookie(this.REFERRER_COOKIE_NAME))||"";return this.helper_check_string(a,e)},check_user_agent:function(e){var a="object"==typeof navigator?navigator.userAgent:"";return this.helper_check_string(a,e)},check_browser_lang:function(e){var a=e.value;if(!a)return!0;var t="object"==typeof navigator?navigator.languages?navigator.languages.join(","):navigator.language||navigator.userLanguage:"";if(!t)return!0;try{var i=new RegExp("\\b"+a+"\\b","i"),s=-1!==t.search(i)}catch(e){return!0}return"is_not"===e.operator?!s:s},check_request_uri:function(e){var a="object"==typeof location?location.href:"";return this.helper_check_string(a,e)},check_cookie:function(e){e.operator&&(e.operator=this.maybe_replace_cookie_operator(e.operator));var a=!advads_pro_utils.isset(e.operator)||"match_not"!==e.operator;if(!advads_pro_utils.isset(e.cookie)||""===e.cookie)return a;var t=advads.get_cookie(e.cookie);return advads_pro_utils.isset(t)?advads_pro_utils.isset(e.value)&&""!==e.value?(e.value=unescape(e.value.replace(/\\(.)/gm,"$1")),this.helper_check_string(t,e)):a:!a},check_page_impressions:function(e){if(!advads_pro_utils.isset(e.operator)||!advads_pro_utils.isset(e.value))return!0;var a,t=advads_pro_utils.extract_cookie_data(advads.get_cookie(this.PAGE_IMPRESSIONS_COOKIE_NAME));if(!advads_pro_utils.isset(t))return!0;a=parseInt(t,10)||0;var i=parseInt(e.value)||0;switch(e.operator){case"is_equal":if(i!==a)return!1;break;case"is_higher":if(i>a)return!1;break;case"is_lower":if(i<a)return!1}return!0},check_ad_impressions:function(e,a){if(!advads_pro_utils.isset(e.value)||!advads_pro_utils.isset(e.timeout)||!advads_pro_utils.isset(a.id))return!0;var t=parseInt(e.value)||0,i=this.AD_IMPRESSIONS_COOKIE_NAME+"_"+a.id,s=i+"_timeout";return!(advads_pro_utils.isset(advads.get_cookie(i))&&advads_pro_utils.isset(advads.get_cookie(s))&&t<=(parseInt(advads.get_cookie(i))||0))},check_new_visitor:function(e){if(!advads_pro_utils.isset(e.operator))return!0;const a=advads.cookie_exists(this.PAGE_IMPRESSIONS_COOKIE_NAME)?advads_pro_utils.extract_cookie_data(advads.get_cookie(this.PAGE_IMPRESSIONS_COOKIE_NAME)):0;return"is"===e.operator?1===a:1<a},check_adblocker:function(e){if(!advads_pro_utils.isset(e.operator))return!0;var a;switch(advanced_ads_check_adblocker(function(e){a=e}),e.operator){case"is":return a;case"is_not":return!a}return!0},check_browser_width:function(e){if(!advads_pro_utils.isset(e.operator)||!advads_pro_utils.isset(e.value))return!0;var a=s()(window).width(),t=parseInt(e.value)||0;switch(e.operator){case"is_equal":if(t!==a)return!1;break;case"is_higher":if(t>a)return!1;break;case"is_lower":if(t<a)return!1}return!0},check_tablet:function(e){if(!advads_pro_utils.isset(e.operator))return!0;const a={iPad:"iPad|iPad.*Mobile",NexusTablet:"Android.*Nexus[\\s]+(7|9|10)",SamsungTablet:"SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561",Kindle:"Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b",SurfaceTablet:"Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)",HPTablet:"HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10",AsusTablet:"^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA",BlackBerryTablet:"PlayBook|RIM Tablet",HTCtablet:"HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410",MotorolaTablet:"xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617",NookTablet:"Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2",AcerTablet:"Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20",ToshibaTablet:"Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO",LGTablet:"\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b",FujitsuTablet:"Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b",PrestigioTablet:"PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002",LenovoTablet:"Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)",DellTablet:"Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7",YarvikTablet:"Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b",MedionTablet:"Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB",ArnovaTablet:"AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2",IntensoTablet:"INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004",IRUTablet:"M702pro",MegafonTablet:"MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b",EbodaTablet:"E-Boda (Supreme|Impresspeed|Izzycomm|Essential)",AllViewTablet:"Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)",ArchosTablet:"\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b",AinolTablet:"NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark",NokiaLumiaTablet:"Lumia 2520",SonyTablet:"Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31",PhilipsTablet:"\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b",CubeTablet:"Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT",CobyTablet:"MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010",MIDTablet:"M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10",MSITablet:"MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b",SMiTTablet:"Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)",RockChipTablet:"Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A",FlyTablet:"IQ310|Fly Vision",bqTablet:"Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus",HuaweiTablet:"MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim",NecTablet:"\\bN-06D|\\bN-08D",PantechTablet:"Pantech.*P4100",BronchoTablet:"Broncho.*(N701|N708|N802|a710)",VersusTablet:"TOUCHPAD.*[78910]|\\bTOUCHTAB\\b",ZyncTablet:"z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900",PositivoTablet:"TB07STA|TB10STA|TB07FTA|TB10FTA",NabiTablet:"Android.*\\bNabi",KoboTablet:"Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build",DanewTablet:"DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b",TexetTablet:"NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE",PlaystationTablet:"Playstation.*(Portable|Vita)",TrekstorTablet:"ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab",PyleAudioTablet:"\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b",AdvanTablet:"Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ",DanyTechTablet:"Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1",GalapadTablet:"Android.*\\bG1\\b",MicromaxTablet:"Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b",KarbonnTablet:"Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b",AllFineTablet:"Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide",PROSCANTablet:"\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b",YONESTablet:"BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026",ChangJiaTablet:"TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503",GUTablet:"TX-A1301|TX-M9002|Q702|kf026",PointOfViewTablet:"TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10",OvermaxTablet:"OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)",HCLTablet:"HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync",DPSTablet:"DPS Dream 9|DPS Dual 7",VistureTablet:"V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10",CrestaTablet:"CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989",MediatekTablet:"\\bMT8125|MT8389|MT8135|MT8377\\b",ConcordeTablet:"Concorde([ ]+)?Tab|ConCorde ReadMan",GoCleverTablet:"GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042",ModecomTablet:"FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003",VoninoTablet:"\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b",ECSTablet:"V07OT2|TM105A|S10OT1|TR10CS1",StorexTablet:"eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab",VodafoneTablet:"SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7",EssentielBTablet:"Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2",RossMoorTablet:"RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711",iMobileTablet:"i-mobile i-note",TolinoTablet:"tolino tab [0-9.]+|tolino shine",AudioSonicTablet:"\\bC-22Q|T7-QC|T-17B|T-17P\\b",AMPETablet:"Android.* A78 ",SkkTablet:"Android.* (SKYPAD|PHOENIX|CYCLOPS)",TecnoTablet:"TECNO P9",JXDTablet:"Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b",iJoyTablet:"Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)",FX2Tablet:"FX2 PAD7|FX2 PAD10",XoroTablet:"KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151",ViewsonicTablet:"ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a",OdysTablet:"LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10",CaptivaTablet:"CAPTIVA PAD",IconbitTablet:"NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S",TeclastTablet:"T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi",OndaTablet:"\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+",JaytechTablet:"TPC-PA762",BlaupunktTablet:"Endeavour 800NG|Endeavour 1010",DigmaTablet:"\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b",EvolioTablet:"ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b",LavaTablet:"QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b",AocTablet:"MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712",MpmanTablet:"MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010",CelkonTablet:"CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b",WolderTablet:"miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b",MiTablet:"\\bMI PAD\\b|\\bHM NOTE 1W\\b",NibiruTablet:"Nibiru M1|Nibiru Jupiter One",NexoTablet:"NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI",LeaderTablet:"TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100",UbislateTablet:"UbiSlate[\\s]?7C",PocketBookTablet:"Pocketbook",KocasoTablet:"\\b(TB-1207)\\b",Hudl:"Hudl HT7S3|Hudl 2",TelstraTablet:"T-Hub2",GenericTablet:"Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b"};var t="object"==typeof navigator?navigator.userAgent:"",i="";for(var s in a){var n=new RegExp(a[s],"i");if(n.test(t)){i=n;break}}switch(e.operator){case"is":return""!==i;case"is_not":return""===i}return!0},check_loggedin:function(e){if(!advads_pro_utils.isset(e.operator)||!advads_pro_utils.isset(e.type))return!0;var a=this.check_stored(e,function(e,a){return!0===a});switch(e.operator){case"is":return!0===a;case"is_not":return!1===a}return!0},check_capability:function(e){if(!advads_pro_utils.isset(e.operator)||!advads_pro_utils.isset(e.value)||!advads_pro_utils.isset(e.type))return!0;var a=this.check_stored(e,function(e,a){return a===e.value});switch(e.operator){case"can":return!0===a;case"can_not":return!1===a}return!0},check_role:function(e){if(!advads_pro_utils.isset(e.operator)||!advads_pro_utils.isset(e.value)||!advads_pro_utils.isset(e.type))return!0;var a=this.check_stored(e,function(e,a){return a===e.value});switch(e.operator){case"is":return!0===a;case"is_not":return!1===a}return!0},check_geo_targeting:function(e){if(!advads_pro_utils.isset(e.type)||!advads_pro_utils.isset(e.operator))return!0;var a=this.check_stored(e,function(e,a){return"object"!=typeof a||(a.is_sucuri?this.check_geo_sucuri(e,a):this.check_geo_default(e,a))},this);return a},check_geo_default:function(e,a){var t=e.city?e.city.trim().toLowerCase():"",i=e.region?e.region.trim().toLowerCase():"",s=e.country?e.country.trim():"",n=(""+a.visitor_city).toLowerCase(),r=(""+a.visitor_region).toLowerCase(),o=""+a.continent_code,d=a.country_code;if(0===s.indexOf("CONT_")&&(d="CONT_"+o),"latlon"===e.geo_mode){if(this.check_for_valid_lat_lon_options(e)){var _=advads_pro_utils.calculate_distance(parseFloat(a.current_lat),parseFloat(a.current_lon),parseFloat(e.lat),parseFloat(e.lon),e.distance_unit);return"gt"===e.distance_condition?_>e.distance:_<=e.distance}return!0}return"is_not"===e.operator?t?t!==n:i?i!==r:"EU"===s?!a.is_eu_state:s!==d:t?t===n:i?i===r:"EU"===s?a.is_eu_state:s===d},check_for_valid_lat_lon_options:function(e){return advads_pro_utils.is_numeric(e.lat)&&advads_pro_utils.is_numeric(e.lon)&&""!==e.distance_condition&&advads_pro_utils.is_numeric(e.distance)&&""!==e.distance_unit},check_geo_sucuri:function(e,a){e.operator&&e.operator;var t=e.country?e.country.trim():"";return"is_not"===e.operator?"EU"===t?!a.is_eu_state:t!==country_code:"EU"===t?a.is_eu_state:t===country_code},check_buddypress_profile_field:function(e){if(!(advads_pro_utils.isset(e.operator)&&advads_pro_utils.isset(e.value)&&advads_pro_utils.isset(e.type)&&advads_pro_utils.isset(e.field)))return!0;var a=this.check_stored(e,function(e,a){if("object"!=typeof a)return!0;if(a.field!==e.field)return!1;var t=a.data;if(Array.isArray(t)){const a=-1!==["contain","start","end","match","regex"].indexOf(e.operator);return t.length?a?t.some(function(a){return Advads_passive_cb_Conditions.helper_check_string(a,e)}):t.every(function(a){return Advads_passive_cb_Conditions.helper_check_string(a,e)}):!a}return Advads_passive_cb_Conditions.helper_check_string(a.data,e)},this);return a},check_stored:function(e,a,t){var i=Advads_passive_cb_Conditions.get_stored_info()[e.type];if("object"!=typeof i)return!0;for(var s in i)if(i.hasOwnProperty(s)){var n=i[s];if("object"==typeof n&&void 0!==n.data&&a.call(t,e,n.data))return!0}return!1},helper_check_string:function(e,a){var t=a.operator,i=a.value;if("string"!=typeof i||""===i)return!0;var s=!0;switch(t){case"contain":s=-1!==e.indexOf(i);break;case"contain_not":s=-1===e.indexOf(i);break;case"start":s=0===e.lastIndexOf(i,0);break;case"start_not":s=0!==e.lastIndexOf(i,0);break;case"end":s=e.slice(-i.length)===i;break;case"end_not":s=e.slice(-i.length)!==i;break;case"match":s=e===i;break;case"match_not":s=e!==i;break;case"regex":case"regex_not":try{var n=new RegExp(i);s=!!e.match(n),"regex_not"===t&&(s=!s)}catch(e){advads_pro_utils.log('regular expression"'+i+'" in visitor condition is broken')}}return s},get_stored_info:function(){try{var e=JSON.parse(advads.get_cookie(this.VISITOR_INFO_COOKIE_NAME))}catch(e){}return"object"!=typeof e||"object"!=typeof e.conditions?{}:e.conditions},maybe_replace_cookie_operator:function(e){var a={show:"match",hide:"match_not"};return a[e]?a[e]:e}},r=()=>{window.Advads_passive_cb_Conditions=n}}},t={};function i(a){var s=t[a];if(void 0!==s)return s.exports;var n=t[a]={id:a,loaded:!1,exports:{}};return e[a](n,n.exports,i),n.loaded=!0,n.exports}i.amdO={},i.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return i.d(a,{a}),a},i.d=(e,a)=>{for(var t in a)i.o(a,t)&&!i.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},i.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),i.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a);var s=i(428),n=i.n(s);class r{constructor(e,a){if(!("object"==typeof e&&e.hasOwnProperty("id")&&e.hasOwnProperty("type")&&e.hasOwnProperty("ads")&&e.hasOwnProperty("placement_info")&&"object"==typeof e.ads))throw new SyntaxError("Can not create Advads_passive_cb_Placement obj");this.id=e.id,this.ajax_query=e.ajax_query,this.type=e.type,this.element_id=a,this.ads=e.ads,this.ads_for_ab=e.ads_for_ab,this.groups_for_ab=e.groups_for_ab,this.placement_info=e.placement_info,this.placement_id=advads_pro_utils.isset_nested(this.placement_info,"id")?parseInt(this.placement_info.id,10):null,this.group_info=e.group_info,this.group_wrap=e.group_wrap,this.server_info_duration=parseInt(e.server_info_duration,10)||0,this.server_conditions=e.server_conditions,e.inject_before&&advanced_ads_pro.inject_before.push({elementId:this.element_id,data:e.inject_before})}can_display(){if(advads_pro_utils.isset_nested(this.placement_info,"test_id")&&n().inArray(this.placement_info.slug,advanced_ads_pro.get_random_placements())<0)return!1;if(advads_pro_utils.isset_nested(this.placement_info,"layer_placement","close","enabled")&&this.placement_info.layer_placement.close.enabled&&advads_pro_utils.isset_nested(this.placement_info,"layer_placement","close","timeout_enabled")&&this.placement_info.layer_placement.close.timeout_enabled&&advads_pro_utils.isset(advads.get_cookie("timeout_placement_"+this.placement_info.slug)))return!1;if(advads_pro_utils.isset_nested(this.placement_info,"close","enabled")&&this.placement_info.close.enabled&&advads_pro_utils.isset_nested(this.placement_info,"close","timeout_enabled")&&this.placement_info.close.timeout_enabled&&advads_pro_utils.isset(advads.get_cookie("timeout_placement_"+this.placement_info.slug)))return!1;if(advads_pro_utils.isset_nested(this.placement_info,"options")&&"object"==typeof this.placement_info.options){var e=this.placement_info.options;if(!advads_pro_utils.selector_exists(e))return!1}return!0}can_use_passive_cb(){if(!this.ajax_query)return!0;var e=window.Advads_passive_cb_Conditions.get_stored_info(),a=~~((new Date).getTime()/1e3);for(var t in this.server_conditions)if(this.server_conditions.hasOwnProperty(t)){var i=e[this.server_conditions[t].type];if("object"!=typeof i)return!1;var s=i[t];if("object"!=typeof s)return!1;if((parseInt(s.time,10)||0)+this.server_info_duration<a)return!1}return!0}output(){let e=!0;const a=this.get_group_for_adblocker();if(this.can_display())switch(this.type){case"ad":if(!this.can_display())break;let t=new Advads_passive_cb_Ad(this.ads[this.id],this.element_id);if(!t.can_display())break;const i=this.get_ad_for_adblocker();if(a){this.swap_group_info(a);const t=new Advads_passive_cb_Group(this,this.element_id);t.output(),e=t.is_empty;break}i&&i.can_display()&&(t=i),t.output({track:!advads.privacy||"unknown"!==advads.privacy.get_state(),inject:!0,do_has_ad:!0}),e=!1;break;case"group":if("object"==typeof this.group_info){a&&this.swap_group_info(a);const t=new Advads_passive_cb_Group(this,this.element_id);t.output(),e=t.is_empty}}advanced_ads_pro.dispatchWrapperCBEvent(this.element_id,e,"passive",{emptyCbOption:Boolean(this.placement_info.cache_busting_empty)}),advanced_ads_pro.observers.fire({event:"inject_placement",id:this.placement_id,is_empty:e,cb_type:"passive"}),advanced_ads_pro.hasAd(this.placement_id,"placement",this.placement_info.title,"passive")}swap_group_info(e){this.id=e.id,this.type="group",this.group_info=e}get_ad_for_adblocker(){return!(!advanced_ads_pro.adblocker_active||!this.ads_for_ab)&&new Advads_passive_cb_Ad(this.ads_for_ab[Object.keys(this.ads_for_ab)[0]],this.element_id)}get_group_for_adblocker(){return!(!advanced_ads_pro.adblocker_active||!this.groups_for_ab)&&this.groups_for_ab}}const o={ads:[],passive_ads:{},deferedAds:[],blockme:!1,blockmeQueue:[],observers:n().Callbacks(),postscribeObservers:n().Callbacks(),random_placements:!1,iterations:0,adblocker_active:!1,injected:0,injected_done:0,options:{action:"advads_ad_select"},inject_before:[],ajaxAdArgsByElementId:{},dispatchWrapperCBEvent(e,a,t,i){void 0===i&&(i={}),document.dispatchEvent(new CustomEvent("advads_pro_cache_busting_done",{detail:{elementId:e,isEmpty:a,type:t,extra:i}}))},isBusy:!1,set busy(e){this.isBusy=e,document.dispatchEvent(new CustomEvent("advanced_ads_pro."+(e?"busy":"idle")))},get busy(){return this.isBusy},load:function(e){var a,t,i,s,r,o;a=e.hasOwnProperty("id")?e.id:null,t=e.hasOwnProperty("method")?e.method:null,i=e.hasOwnProperty("params")&&"object"==typeof e.params?this.add_general_ajax_args(e.params):{},s=e.hasOwnProperty("elementid")?e.elementid:null,r=advanced_ads_pro_ajax_object.lazy_load_module_enabled&&i&&"enabled"===i.lazy_load,o=e.hasOwnProperty("blog_id")?e.blog_id:"";var d=e.hasOwnProperty("server_conditions")?e.server_conditions:"";if(s&&this.iterations>1&&n()("."+s).empty(),i&&"object"==typeof i){if(!window.advads_pro_utils.selector_exists(i))return;if(i.test_id&&n().inArray(i.slug,this.get_random_placements())<0)return;i.adblocker_active=this.adblocker_active,i=JSON.stringify(i)}var _={ad_id:a,ad_method:t,ad_args:i,elementId:s,blog_id:o,server_conditions:d};r?advanced_ads_pro.lazy_load.add(s,"ajax",_):this.deferedAds[this.deferedAds.length]=_},add_general_ajax_args:function(e){return window.advads_pro_utils.isset(e.post)&&advads_ajax_queries_args[e.post]&&(e.post=advads_ajax_queries_args[e.post]),e},hasAd:function(e,a,t,i,s){var n={id:e,type:a,title:t,cb_type:i,elementId:s};this.ads.push(n),this.observers.fire({event:"hasAd",ad:n})},injectBlocked:function(){var e,a,t=this.blockmeQueue,i=t.length;for(this.blockmeQueue=[],a=0;a<i;a+=1)e=t[a],this.inject(e[0],e[1])},_inject_before:function(e,a){return e&&window.advads_pro_utils.each(advanced_ads_pro.inject_before,function(t){t.elementId===e&&(window.advads_pro_utils.each(t.data,function(e){a.append(e)}),a=n()("."+e),t.data=[])}),a},inject:function(e,a){var t,i,s=this;if(this.blockme)this.blockmeQueue.push([e,a]);else{this.injected++;for(var r=new RegExp(/^([\s\S]*?)<script[^>]+?data-tcf="waiting-for-consent"[^>]+>(.+?)<\/script>([\s\S]*)$/i),o=r.exec(a);null!==o;){var d=document.createElement("script");d.setAttribute("type","text/plain"),d.textContent=o[2],a=o[1]+advads.privacy.decode_ad(d,!1)+o[3],o=r.exec(a)}try{if(t=a.match(/<script[^>]+src/)&&-1===a.indexOf(" async"),null===e)i=n()("head ");else if(!(i=n()("."+e)).length)return void this.injected--;if(t)this.blockme=!0,(i=s._inject_before(e,i)).each(function(){var e=n()(this);advads_postscribe(e,a,{beforeWriteToken:s.beforeWriteToken,afterAsync:function(){s.blockme=!1,s.injectBlocked()},done:function(){s.postscribeObservers.fire({event:"postscribe_done",ref:i,ad:a})},error:function(e){console.error(e),advanced_ads_pro.injected--}})});else{if(i=s._inject_before(e,i),-1!==a.indexOf("gform.initializeOnLoaded")){const e=document.createElement("DIV");e.innerHTML=a;const t=e.querySelector('input[type="submit"]');if(t){const a=t.getAttribute("onclick"),i=t.getAttribute("onkeypress"),s=t.id,n=document.createElement("SCRIPT");t.removeAttribute("onclick"),t.removeAttribute("onkeypress"),n.innerHTML=["click","keypress"].map(function(e){return`document.body.addEventListener("${e}", function(event){if (event.target && event.target.id === "${this.id}"){${this[e]}}})`},{id:s,click:a,keypress:i}).join(";"),e.append(n)}const i=e.querySelector("form"),s=i.getAttribute("action");s.includes("#gf")&&i.setAttribute("action",`${window.location.href.split("#")[0]}#${s.split("#")[1]}`),a=e.innerHTML}i.each(function(){var e=n()(this);advads_postscribe(e,a,{beforeWriteToken:s.beforeWriteToken,done:function(){s.postscribeObservers.fire({event:"postscribe_done",ref:i,ad:a})},error:function(e){console.error(e),advanced_ads_pro.injected--}})})}}catch(e){console.error(e),this.injected--}}},beforeWriteToken:function(e){if("startTag"===e.type)for(var a in e.attrs){var t=e.attrs[a];'{"'===t.substring(0,2)&&(t=t.replace(/\"/g,"&quot;"),e.attrs[a]=t)}return"atomicTag"===e.type&&e.src&&(e.src=e.src.replace(/&amp;/g,"&")),e},loadAjaxAds:function(){if(!this.deferedAds.length)return advanced_ads_pro.observers.fire({event:"inject_ajax_ads",ad_ids:[]}),void advanced_ads_pro.return_to_idle_injections_done();new Date;var e={action:"advads_ad_select",ad_ids:this.ads,deferedAds:this.deferedAds,consent:"undefined"==typeof advads?"not_needed":advads.privacy.get_state(),theId:window.advanced_ads_pro_ajax_object.the_id,isSingular:advanced_ads_pro_ajax_object.is_singular};document.dispatchEvent(new CustomEvent("advanced-ads-ajax-cb-payload",{detail:{payload:e}}));for(const e of this.deferedAds)this.ajaxAdArgsByElementId[e.elementId]=JSON.parse(e.ad_args);document.dispatchEvent(new CustomEvent("advads_ajax_ad_select",{detail:e})),this.deferedAds=[];const a=this;n().ajax({url:advanced_ads_pro_ajax_object.ajax_url,method:"POST",data:e,dataType:"json"}).done(function(e){var t={};if(Array.isArray(e)){advanced_ads_pro.observe_injections();for(var i=0;i<e.length;i++){var s=e[i];if(s.hasOwnProperty("status")&&"success"===s.status&&s.hasOwnProperty("item")&&s.item&&(s.inject_before&&advanced_ads_pro.inject_before.push({elementId:s.elementId,data:s.inject_before}),advanced_ads_pro.inject(s.elementId,s.item,!0),s.hasOwnProperty("ads")&&Array.isArray(s.ads)))for(var n=0;n<s.ads.length;n++)if(advanced_ads_pro.hasAd(s.ads[n].id,s.ads[n].type,s.ads[n].title,"ajax",s.elementId),"ad"===s.ads[n].type&&s.ads[n].tracking_enabled){var r=s.blog_id?s.blog_id:1;void 0===t[r]&&(t[r]=[]),t[r].push(s.ads[n].id)}s.status&&advanced_ads_pro.dispatchWrapperCBEvent(s.elementId,"error"===s.status,"ajax",{emptyCbOption:Boolean(a.ajaxAdArgsByElementId[s.elementId].cache_busting_empty)}),s.hasOwnProperty("method")&&"placement"===s.method&&advanced_ads_pro.observers.fire({event:"inject_placement",id:s.id,is_empty:!!s.item,cb_type:"ajax"})}advanced_ads_pro.observers.fire({event:"inject_ajax_ads",ad_ids:t}),window.advads_pro_utils.log("AJAX CB response\n",e),document.body.dispatchEvent(new CustomEvent("advads_ajax_cb_response",{detail:{response:e}})),advanced_ads_pro.return_to_idle_injections_done()}}).fail(function(){advanced_ads_pro.return_to_idle_injections_done()})},get_random_placements:function(e){return!1!==this.random_placements||(this.random_placements=[],window.advads_pro_utils.each_key(e,function(e,a){if("object"==typeof a){const e=window.advads_pro_utils.get_random_el_by_weight(a.placements);e&&this.random_placements.push(e)}},this)),this.random_placements},create_non_existent_arrays:function(){0===this.iterations&&(window.advads_pro_utils.each(["advads_passive_ads","advads_passive_groups","advads_passive_placements"],function(e){window.advads_pro_utils.isset(window[e])||(window[e]={})}),window.advads_pro_utils.each(["advads_placement_tests","advads_ajax_queries","advads_has_ads","advads_js_items"],function(e){window.advads_pro_utils.isset(window[e])||(window[e]=[])}))},process_passive_cb:function(){var e=this;e.create_non_existent_arrays(),window.advads_pro_utils.print_debug_arrays();var a=function(a){e.busy=!0,e.iterations++,e.lazy_load.clear(),e.adblocker_active=a,e.observe_injections(),window.advads_pro_utils.each(advads_has_ads,function(e){advanced_ads_pro.hasAd.apply(advanced_ads_pro,e)}),e.get_random_placements(advads_placement_tests),window.advads_pro_utils.each_key(window.advads_passive_ads,function(e,a){var t=(e+"").indexOf("_");-1!==t&&(e=e.slice(0,t)),window.advads_pro_utils.each(a.elementid,function(t){advanced_ads_pro.iterations>1&&n()("."+t).empty();var i=new Advads_passive_cb_Ad(a.ads[e],t);i.can_display()&&i.output({track:!0,inject:!0,do_has_ad:!0})})}),window.advads_pro_utils.each_key(window.advads_passive_groups,function(e,a){window.advads_pro_utils.each(a.elementid,function(e){advanced_ads_pro.iterations>1&&n()("."+e).empty(),new Advads_passive_cb_Group(a,e).output()})}),window.advads_pro_utils.each_key(window.advads_passive_placements,function(e,a){window.advads_pro_utils.each(a.elementid,function(t){advanced_ads_pro.iterations>1&&n()("."+t).empty();var i=new Advads_passive_cb_Placement(a,t);i.can_use_passive_cb()?advanced_ads_pro_ajax_object.lazy_load_module_enabled&&a.placement_info.lazy_load&&"enabled"===a.placement_info.lazy_load?advanced_ads_pro.lazy_load.add(t,"passive",{key:e,placement_id:a.placement_info.id}):i.output():advanced_ads_pro.load(i.ajax_query)})}),window.advads_pro_utils.isset(window.advads_js_items)&&window.advads_pro_utils.each_key(advads_js_items,function(e,a){advanced_ads_pro.iterations>1||window.advads_pro_utils.selector_exists(a.args)&&(a.inject_before&&advanced_ads_pro.inject_before.push({elementId:a.elementid,data:a.inject_before}),advanced_ads_pro.inject(a.elementid,a.output,!0),window.advads_pro_utils.each(a.has_js_items,function(e){advanced_ads_pro.hasAd(e.id,e.type,e.title),"ad"===e.type&&(advanced_ads_pro.passive_ads[e.blog_id]||(advanced_ads_pro.passive_ads[e.blog_id]=[]),advanced_ads_pro.passive_ads[e.blog_id].push(e.id))}))}),e.observers.fire({event:"inject_passive_ads",ad_ids:e.passive_ads}),e.passive_ads={},e.process_ajax_ads(advads_ajax_queries),e.lazy_load.enable()};"function"==typeof advanced_ads_check_adblocker?advanced_ads_check_adblocker(function(e){a(e)}):a(!1)},observe_injections:function(){advanced_ads_pro.injected_done>0||advanced_ads_pro.postscribeObservers.add(function(e){"postscribe_done"===e.event&&advanced_ads_pro.injected_done++})},return_to_idle_injections_done:function(){var e=1e3,a=setInterval(function(){e-=10,(advanced_ads_pro.injected_done>=advanced_ads_pro.injected||e<0)&&(advanced_ads_pro.injected=0,advanced_ads_pro.injected_done=0,advanced_ads_pro.busy=!1,clearInterval(a))},10)},process_ajax_ads:function(e){Array.isArray(e)&&window.advads_pro_utils.each(e,function(e){advanced_ads_pro.load(e)}),this.loadAjaxAds()},lazy_load:{lazy_map:{},did_init:!1,add:function(e,a,t){var i,s=document.getElementById(e);s&&(t.placement_id?i=t.placement_id:"placement"===t.ad_method&&(i=t.ad_id),this.lazy_map[e]={node:s,type:a,data:t,offset:this.get_offset(i)})},get_offset:function(e){var a=0;return advanced_ads_pro_ajax_object.lazy_load&&(a=advanced_ads_pro_ajax_object.lazy_load.offsets[e]?parseInt(advanced_ads_pro_ajax_object.lazy_load.offsets[e],10):parseInt(advanced_ads_pro_ajax_object.lazy_load.default_offset,10)),a},clear:function(){this.lazy_map={}},enable:function(){var e=this;e.did_init?n()(window).trigger("scroll"):(e._create_scroll_handler(),e.did_init=!0)},_create_scroll_handler:function(){var e=this,a=!0;function t(){var t=n()(window).height();window.advads_pro_utils.each_key(e.lazy_map,function(a,i){var s=i.node.getBoundingClientRect(),n=i.offset;s.top+n>=0&&s.bottom-n<=t&&e._display(a)}),a=!1}function i(e){var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(e){return setTimeout(e,16)};a.call(window,e)}n()(window).on("scroll",function(){a||(a=!0,i(t))}),i(t)},_display:function(e){var a=this.lazy_map[e];if(a){if(delete this.lazy_map[e],"ajax"===a.type)advanced_ads_pro.deferedAds.push(a.data),advanced_ads_pro.process_ajax_ads();else{var t=window.advads_passive_placements[a.data.key];new Advads_passive_cb_Placement(t,e).output(),advanced_ads_pro.observers.fire({event:"inject_passive_ads",ad_ids:advanced_ads_pro.passive_ads}),advanced_ads_pro.passive_ads={}}advanced_ads_pro.busy=!1}}}};var d=i(960);const _={debug:window.location&&window.location.hash&&-1!==window.location.hash.indexOf("#debug=true"),each:function(e,a,t){var i,s=e&&e.length||0;for(i=0;i<s;i++)a.call(t,e[i],i)},each_key:function(e,a,t){var i;if("object"==typeof e)for(i in e)e.hasOwnProperty(i)&&a.call(t,i,e[i])},log:function(){if(this.debug&&this.isset(window.console)){var e=Array.prototype.slice.call(arguments);e.unshift("Advanced Ads CB:"),window.console.log.apply(window.console,e)}},print_debug_arrays:function(){0===advanced_ads_pro.iterations&&(this.log("passive_ads\n",window.advads_passive_ads),this.log("passive_groups\n",window.advads_passive_groups),this.log("passive_placements\n",window.advads_passive_placements),this.log("ajax_queries\n",window.advads_ajax_queries),this.log(window.Advads_passive_cb_Conditions.VISITOR_INFO_COOKIE_NAME+"\n",window.Advads_passive_cb_Conditions.get_stored_info()))},isset:function(e){return void 0!==e},isset_nested:function(e){for(var a=arguments.length,t=1;t<a;t++){if(!e||!e.hasOwnProperty(arguments[t]))return!1;e=e[arguments[t]]}return!0},is_numeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},get_random_number:function(e,a){var t=e-.5+Math.random()*(a-e+1);return Math.round(t)},get_random_el_by_weight:function(e,a){var t,i=0;if(a=void 0!==a&&a,"object"==typeof e){for(var s in e)s!==a&&e.hasOwnProperty(s)&&(i+=parseInt(e[s])||0);if(i<1)return null;for(var s in t=advads_pro_utils.get_random_number(1,i),e)if(s!==a&&e.hasOwnProperty(s)&&(t-=e[s])<=0)return s}},bind:function(e,a){return function(){return e.apply(a,arguments)}},shuffle_array:function(e){var a,t,i=e.length;if(!i)return e;for(;--i;)t=~~(Math.random()*(i+1)),a=e[i],e[i]=e[t],e[t]=a;return e},selector_exists:function(e){var a=e[e.inject_by&&"pro_custom_element"!==e.inject_by?"container_id":"pro_custom_element"];if(!a)return!0;var t=n()(a);return t.length?!(!advanced_ads_pro_ajax_object.moveintohidden&&!t.filter(":visible").length&&(advads_pro_utils.log("selector is hidden",a),1)):(advads_pro_utils.log("selector does not exist",a),!1)},deg2rad:function(e){return e*Math.PI/180},calculate_distance:function(e,t,i,s,n){n=n||"km",e=this.deg2rad(e),t=this.deg2rad(t),i=this.deg2rad(i);const r=(s=this.deg2rad(s))-t;a=Math.pow(Math.cos(i)*Math.sin(r),2)+Math.pow(Math.cos(e)*Math.sin(i)-Math.sin(e)*Math.cos(i)*Math.cos(r),2),b=Math.sin(e)*Math.sin(i)+Math.cos(e)*Math.cos(i)*Math.cos(r);const o=Math.atan2(Math.sqrt(a),b);return"mi"===n?3958.755865744*o:6371*o},extract_cookie_data(e){try{var a=JSON.parse(e)}catch(a){return e}return"object"!=typeof a?e:a.data}},c={element_ids:{},passiveRefresh:{},collectPassiveRefreshData:e=>{c.passiveRefresh[e.cb_id]=e},switchToPassive:e=>{const a=c.passiveRefresh[e];setTimeout(()=>{n()(`.${a.cb_id}`).empty(),c.launchRefresh(a)},parseInt(a.default_interval,10))},launchRefresh:e=>{new r({id:e.placement_info.id,type:e.type,ads:e.ads,placement_info:e.placement_info,group_info:e.group_info,group_wrap:e.group_wrap},e.cb_id).output()},add_query:(l=[],function(e,a){e.elementid;var t=(new Date).getTime()+a;l[t]=l[t]||[],l[t].push(e),setTimeout(function(){var e=(new Date).getTime(),a=[];for(const n in l)if(l.hasOwnProperty(n)&&e>n-1e3){for(var t=l[n],i=t.length,s=0;s<i;s++)a.push(t[s]);delete l[n]}advanced_ads_pro.process_ajax_ads(a)},a)}),find_float:function(e){var a=!1;return e.find("div").each(function(e,t){if("left"===this.style.float||"right"===this.style.float)return a=this.style.float,!1}),a},prepare_wrapper:function(e,a,t){t||(this.maybe_increase_sizes(e),e.empty()),this.set_float(e,a)},maybe_increase_sizes:function(e){var a=e.css("float");-1===["left","right"].indexOf(a)&&(a=!1);var t={};if(a){var i=parseInt(e.css("min-width"),10)||0,s=e.prop("scrollWidth")||0;s>i&&(t["min-width"]=s)}var n=parseInt(e.css("min-height"),10)||0,r=e.prop("scrollHeight")||0;r>n&&(t["min-height"]=r),(t["min-height"]||t["min-width"])&&e.css(t)},set_float:function(e,a){-1===["left","right"].indexOf(a)&&(a=!1),a!==(e.data("prev_float")||!1)&&(e.data("prev_float",a),a?e.css({"min-width":"","min-height":"",float:a}):e.css({"min-width":"","min-height":"",float:""}))}};var l;const p=()=>{const e={},a={};let t=null,i=0;const s=e=>{const a={};return e.classList.forEach(e=>{if(e.startsWith("gas_fallback-")){const t=e.split("-");a.ad=t[1],a.fallback=t[2]}}),a},n=e=>{if(!advancedAds.adHealthNotice.enabled||!document.getElementById("wpadminbar"))return;const a=document.getElementById("wp-admin-bar-advanced_ads_ad_health_fine");a?.remove();const t=document.getElementById("wp-admin-bar-advanced_ads_ad_health").querySelector("ul"),i=document.createElement("li");i.role="group",i.id="wp-admin-bar-advanced_ads_gads_fallback";const s=document.createElement("div");s.className="ab-item ab-empty-item",s.role="menuitem",s.textContent=window.advancedAds.adHealthNotice.pattern.replace("[ad_title]",e.ads[parseInt(e.placement_info.item.split("_")[1],10)].title),t.appendChild(i),i.appendChild(s)},r=e=>Object.values(window.advads_passive_placements).find(a=>0===a.elementid.indexOf(e))||!1,o=e=>void 0!==a[e]&&a[e],d=(e,a)=>e.ads[a]||!1;document.addEventListener("advanced_ads_pro_adsense_unfilled",a=>{i--,0===i&&t.disconnect();const _=s(a.detail.ad.closest('[class^="gas_fallback-"]'));e[_.ad]&&(e=>{const a=r(e.cbId)||o(e.cbId);a&&(((e,a)=>{const t=e.fallback.split("_");if("ad"===t[0]){const i=d(a,t[1]);if(!i)return;const s=new window.Advads_passive_cb_Ad(i,e.cbId);e.wrapper.remove(),s.output({track:!0,inject:!0,do_has_ad:!0})}if("group"===t[0]){a.id=parseInt(t[1],10),a.type="group",a.group_info=a.adsense_fallback_group_info;const i=new window.Advads_passive_cb_Group(a,e.cbId);e.wrapper.remove(),i.output()}})(e,a),n(a))})(e[_.ad])}),document.body.addEventListener("advads_ajax_cb_response",({detail:e})=>{e.response.forEach(e=>{a[e.elementId]=e})}),window.advanced_ads_ready(()=>{window.advanced_ads_pro&&window.advanced_ads_pro.postscribeObservers.add(a=>{if("postscribe_done"!==a.event)return;if(-1===a.ad.indexOf("gas_fallback-"))return;const n=a.ref[0],r=n.querySelector('[class^="gas_fallback-"]'),o=s(r);var d;e[o.ad]={fallback:o.fallback,wrapper:r,cbId:n.id},d=r.querySelector("ins"),null===t&&(t=new window.MutationObserver(e=>{for(const a of e){if("unfilled"!==a.target.getAttribute("data-ad-status"))return;document.dispatchEvent(new CustomEvent("advanced_ads_pro_adsense_unfilled",{detail:{ad:a.target}}))}})),t.observe(d,{attributeFilter:["data-ad-status"]}),i++})})};window.advanced_ads_pro=o,(0,d.K)(),window.Advads_passive_cb_Placement=r,window.Advads_passive_cb_Ad=class{constructor(e,a){if("object"!=typeof e||!advads_pro_utils.isset(e.id)||!advads_pro_utils.isset(e.title)||!advads_pro_utils.isset(e.content))throw new SyntaxError("Can not create Advads_passive_cb_Ad obj");this.id=e.id,this.title=e.title,this.content=e.content?e.content:"",this.type=e.type,this.expiry_date=parseInt(e.expiry_date)||0,this.visitors=e.visitors,this.once_per_page=e.once_per_page,this.elementid=a||null,this.day_indexes=e.day_indexes?e.day_indexes:null,this.debugmode=e.debugmode,this.tracking_enabled=void 0===e.tracking_enabled||!0===e.tracking_enabled,this.blog_id=e.blog_id?e.blog_id:"",this.privacy=e.privacy?e.privacy:{},this.position=e.position?e.position:"",document.dispatchEvent(new CustomEvent("advanced-ads-passive-cb-ad-info",{detail:{ad:this,adInfo:e}}))}output(e){if(e=e||{},this.debugmode){var a=this.can_display({ignore_debugmode:!0})?"displayed":"hidden",t=n()(this.content).find(".advads-passive-cb-debug").data(a);this.content=this.content.replace("##advanced_ads_passive_cb_debug##",t)}if(e.do_has_ad&&advanced_ads_pro.hasAd(this.id,"ad",this.title,"passive"),e.track&&this.tracking_enabled&&(advanced_ads_pro.passive_ads[this.blog_id]||(advanced_ads_pro.passive_ads[this.blog_id]=[]),advanced_ads_pro.passive_ads[this.blog_id].push(this.id)),advads_pro_utils.log("output passive ad",this.id,this.elementid,this.content),!e.inject)return this.content;advanced_ads_pro.inject(this.elementid,this.content)}can_display(e){if(e=e||{},this.debugmode&&!e.ignore_debugmode)return!0;if(""===this.content.trim())return advads_pro_utils.log("passive ad id",this.id,"cannot be displayed: empty content"),!1;if(!this.can_display_by_visitor())return advads_pro_utils.log("passive ad id",this.id,"cannot be displayed: by_visitor"),!1;if(!this.can_display_by_expiry_date())return advads_pro_utils.log("passive ad id",this.id,"cannot be displayed: by_expiry_date"),!1;if(!this.can_display_by_timeout())return advads_pro_utils.log("passive ad id",this.id,"cannot be displayed: by_timeout"),!1;if(!this.can_display_by_display_limit())return advads_pro_utils.log("passive ad id",this.id,"cannot be displayed: by_display_limit"),!1;if(!this.can_display_by_weekday())return advads_pro_utils.log("passive ad id",this.id,"cannot be displayed: by_weekday"),!1;if(!this.can_display_by_cfp())return advads_pro_utils.log("passive ad id",this.id,"cannot be displayed: by_cfp"),!1;if(!this.can_display_by_consent())return advads_pro_utils.log("passive ad id",this.id,"cannot be displayed: by_consent"),!1;const a={display:!0};return document.dispatchEvent(new CustomEvent("advanced-ads-passive-cb-can-display",{detail:{canDisplay:a,checkOptions:e,adInfo:this}})),a.display}can_display_by_visitor(){if(!Array.isArray(this.visitors)||0===this.visitors.length)return!0;window.Advads_passive_cb_Conditions.init();for(var e,a=0,t=!1,i=0;i<this.visitors.length;++i)if(e=this.visitors[a],t&&"or"===e.connector)a++;else if(t=window.Advads_passive_cb_Conditions.frontend_check(e,this))a++;else if(a++,!this.visitors[a]||"or"!==this.visitors[a].connector)return!1;return!0}can_display_by_expiry_date(){return this.expiry_date<=0||this.expiry_date>~~((new Date).getTime()/1e3)}can_display_by_weekday(){if(!this.day_indexes)return!0;var e=new Date,a=window.advanced_ads_pro_ajax_object.wp_timezone_offset/60,t=a/60>=0?Math.floor(a/60):Math.ceil(a/60);return(a=e.getUTCMinutes()+a%60)>60&&(t++,a%=60),e.setHours(e.getUTCHours()+t),e.setMinutes(a),n().inArray(e.getDay(),this.day_indexes)>=0}can_display_by_timeout(){return!advads_pro_utils.isset(advads.get_cookie("timeout_"+this.id))}can_display_by_display_limit(){if(this.once_per_page)for(var e=advanced_ads_pro.ads.length,a=0;a<e;a++)if("ad"===advanced_ads_pro.ads[a].type&&parseInt(advanced_ads_pro.ads[a].id,10)===this.id)return!1;return!0}can_display_by_cfp(){for(const e of this.visitors)if("ad_clicks"===e.type&&e["exclude-from-global"])return!0;return!advads.get_cookie("advads_pro_cfp_ban")}can_display_by_consent(){if(!advads.privacy||this.privacy.ignore||"adsense"===this.type&&advads.privacy.is_adsense_npa_enabled()||("image"===this.type||"dummy"===this.type)&&!this.privacy.needs_consent)return!0;var e=advads.privacy.get_state();return"accepted"===e||"not_needed"===e}},window.Advads_passive_cb_Group=class{constructor(e,a){if(!(advads_pro_utils.isset(e.group_info.id)&&advads_pro_utils.isset(e.group_info.type)&&advads_pro_utils.isset(e.group_info.weights)&&advads_pro_utils.isset(e.group_info.ordered_ad_ids)&&advads_pro_utils.isset(e.group_info.ad_count)&&advads_pro_utils.isset(e.ads)))throw new SyntaxError("Can not create Advads_passive_cb_Group obj");this.id=e.group_info.id,this.name=e.group_info.name?e.group_info.name:this.id,this.type=e.group_info.type,this.weights=e.group_info.weights,this.ordered_ad_ids=e.group_info.ordered_ad_ids,this.ad_count=e.group_info.ad_count,this.elementid=a||null,this.slider_options=!!advads_pro_utils.isset(e.group_info.slider_options)&&e.group_info.slider_options,this.refresh_enabled=advads_pro_utils.isset(e.group_info.refresh_enabled),advads_pro_utils.isset(e.group_info.refresh_interval_for_ads)?this.refresh_interval=e.group_info.refresh_interval_for_ads:advads_pro_utils.isset(e.group_info.refresh_interval)?this.refresh_interval=e.group_info.refresh_interval:this.refresh_interval=2e3,this.placement=e instanceof Advads_passive_cb_Placement&&e,this.random=e.group_info.random,this.ads=e.ads,this.group_wrap=e.group_wrap,this.is_empty=!0}output(){var e=this.placement&&this.placement.get_ad_for_adblocker();if(advanced_ads_pro.hasAd(this.id,"group",this.name,"passive"),!e&&this.refresh_enabled)return void this.output_refresh();var a,t=0,i=[];const s=this.placement&&this.placement.get_group_for_adblocker();switch(s&&(this.ads=s.ads),this.type){case"ordered":case"slider":a=this.shuffle_ordered_ads(this.ordered_ad_ids,this.weights);break;case"grid":a=this.random?this.shuffle_ads():this.shuffle_ordered_ads(this.ordered_ad_ids,this.weights);break;default:a=this.shuffle_ads()}if(Array.isArray(a)&&n().isPlainObject(this.ads)){for(var r=0;r<a.length;r++)if(this.ads.hasOwnProperty(a[r])){var o=this.ads[a[r]];if("object"==typeof o){var d=new Advads_passive_cb_Ad(o,this.elementid);if(d.can_display()){e&&(d=e);const a=!advads.privacy||"unknown"!==advads.privacy.get_state();"slider"===this.type&&this.slider_options||this.group_wrap?i.push(d.output({track:a,inject:!1,do_has_ad:!0})):d.output({track:a,inject:!0,do_has_ad:!0}),t++,this.is_empty=!1}}if(t===this.ad_count)break;if(!this.is_empty&&e)break}i.length&&("slider"===this.type&&this.slider_options&&(i=this.output_slider(i)),advanced_ads_pro.inject(this.elementid,this.add_group_wrap(i,t)))}}output_refresh(){var e=this.ordered_ad_ids,a=[],t=this,i=!1,s=[],r=0,o=(this.refresh_interval,n()("."+t.elementid));function d(e){if(n().inArray(e.id,s)<0&&e.tracking_enabled){var a={};a[e.blog_id]=[e.id],advanced_ads_pro.observers.fire({event:"inject_passive_ads",ad_ids:a})}}function _(e){return"object"!=typeof t.refresh_interval?parseInt(t.refresh_interval,10)||2e3:parseInt(t.refresh_interval[e],10)||2e3}function c(e){var a="";return advads_pro_utils.isset_nested(t.placement,"placement_info","options","placement_position")&&(a=t.placement.placement_info.options.placement_position),-1===["left","right"].indexOf(a)&&(a=e.position),a}o=advanced_ads_pro._inject_before(this.elementid,o),Array.isArray(e)&&n().isPlainObject(this.ads)&&function l(){for(var p=function(){var a;if("ordered"===t.type)if(-1!==(a=e.indexOf(i)))var s=e.slice(a+1).concat(e.slice(0,a));else s=e;else-1!==(a=(s=t.shuffle_ads()).indexOf(i))&&s.splice(a,1);return s}(),T=p.length,u=0;u<T;u++){var b=p[u],v=t.ads[b];if("object"==typeof v){var h=new Advads_passive_cb_Ad(v,t.elementid);if(h.can_display()){if(0===r)a=[h.output({track:!0,inject:!1,do_has_ad:!0})],advanced_ads_group_refresh.prepare_wrapper(o,c(h),!0);else{var f=n().inArray(b,s)<0;a=[h.output({track:!1,inject:!1,do_has_ad:f})],d(h),advanced_ads_group_refresh.prepare_wrapper(o,c(h),!1)}s.push(h.id),advanced_ads_pro.inject(t.elementid,t.add_group_wrap(a,1)),t.is_empty=!1,r++,setTimeout(function(){t.placement&&!t.placement.can_display()||l()},_(b)),i=h.id;break}}}}()}add_group_wrap(e,a){if(!e.length)return"";var t="",i="";if(this.group_wrap)for(var s=0;s<this.group_wrap.length;s++){var n=this.group_wrap[s];if(n.min_ads=n.min_ads||1,!("object"!=typeof n||n.min_ads>a))if(n.before&&(t=n.before+t),n.after&&(i+=n.after),"string"==typeof n.each)for(var r=0;r<e.length;r++)e[r]=n.each.replace("%s",e[r]);else if("object"==typeof n.each){var o=n.each;for(r=0;r<e.length;r++){for(var d in o){var _=!1;if(o.hasOwnProperty(d)&&"all"!==d&&(1+r)%parseInt(d,10)===0){e[r]=o[d].replace("%s",e[r]),_=!0;break}}!_&&o.all&&(e[r]=o.all.replace("%s",e[r]))}}}return t+e.join("")+i}output_slider(e){var a;return e.length>1&&"function"==typeof n().fn.unslider&&(a=e.join("</li><li>"),(e=[]).push('<div id="'+this.slider_options.slider_id+'" class="'+this.slider_options.init_class+" "+this.slider_options.prefix+'slider"><ul><li>'),e.push(a),e.push("</li></ul></div>"),e.push("<script>jQuery(function() { jQuery('."+this.slider_options.init_class+"').unslider({ "+this.slider_options.settings+" }); });<\/script>")),e}shuffle_ordered_ads(e,a){const t=[];for(var i=0;i<e.length;i++){var s=a[e[i]];if(!s)return e;t.push(s)}var n=t.length,r=0;for(i=1;i<=n;i++)if(i==n||t[i]!==t[i-1]){var o=i-r;if(1!==o){var d=advads_pro_utils.shuffle_array(e.slice(r,r+o)),_=[r,o].concat(d);Array.prototype.splice.apply(e,_)}r=i}return e}shuffle_ads(){const e=[],a=n().extend({},this.weights);let t=advads_pro_utils.get_random_el_by_weight(a);for(;null!==t;)delete a[t],e.push(parseInt(t,10)),t=advads_pro_utils.get_random_el_by_weight(a);return e}},window.advads_pro_utils=_,window.advanced_ads_group_refresh=c,n()(()=>{p()}),"undefined"!=typeof advads&&void 0!==advads.privacy.dispatch_event?document.addEventListener("advanced_ads_privacy",function(e){if("unknown"===e.detail.previousState||"rejected"===e.detail.previousState&&"accepted"===e.detail.state){if(_.log("reload ads! transition from "+e.detail.previousState+" to "+e.detail.state),"accepted"===e.detail.state||"not_needed"===e.detail.state){var a='script[type="text/plain"][data-tcf="waiting-for-consent"]';document.querySelectorAll(a).forEach(function(e){o.passive_ads.hasOwnProperty(e.dataset.bid)||(o.passive_ads[e.dataset.bid]=[]),o.passive_ads[e.dataset.bid].push(parseInt(e.dataset.id,10)),advads.privacy.decode_ad(e)}),new MutationObserver(function(e){var t={},i=function(e){void 0!==e.dataset.noTrack&&"impressions"===e.dataset.noTrack||(t.hasOwnProperty(e.dataset.bid)||(t[e.dataset.bid]=[]),t[e.dataset.bid].push(parseInt(e.dataset.id,10))),advads.privacy.decode_ad(e)};e.forEach(function(e){e.addedNodes.forEach(function(e){void 0===e.tagName||void 0===e.dataset||"script"!==e.tagName.toLowerCase()||"waiting-for-consent"!==e.dataset.tcf?void 0!==e.dataset&&"waiting-for-consent"===e.dataset.tcf||document.querySelectorAll(a).forEach(i):i(e)})}),Object.keys(t).length&&o.observers.fire({event:"advanced_ads_decode_inserted_ads",ad_ids:t})}).observe(document,{subtree:!0,childList:!0})}o.busy?document.addEventListener("advanced_ads_pro.idle",o.process_passive_cb,{once:!0}):o.process_passive_cb()}else _.log("no action! transition from "+e.detail.previousState+" to "+e.detail.state)}):(window.advanced_ads_ready||n()(document).ready).call(null,function(){o.process_passive_cb()}),n()(document).on("advanced-ads-resize-window",function(){const e=function(){let e=o.ads.length;for(;e--;)"off"!==o.ads.cb_method&&o.ads.splice(e,1);o.process_passive_cb()};o.busy?document.addEventListener("advanced_ads_pro.idle",e,{once:!0}):e()}),document.addEventListener("advads_pro_cache_busting_done",e=>{if(!e.detail.isEmpty||!e.detail.extra.emptyCbOption)return;let a=document.getElementById(e.detail.elementId);a&&(a.parentNode&&a.parentNode.classList.contains("widget")&&(a=a.parentNode),a.remove())}),o.observers.add(e=>{-1===["inject_passive_ads","inject_ajax_ads"].indexOf(e.event)||Array.isArray(e.ad_ids)&&!e.ad_ids.length||(()=>{const e=document.getElementById("wp-admin-bar-advanced_ads_ad_health_highlight_ads");if(!e)return;const a=e.querySelector(".highlighted_ads_count");a&&(a.innerText=document.querySelectorAll(`.${window.advancedAds.frontendPrefix}highlight-wrapper`).length)})()})})();;
