UNPKG

adtrust

Version:

AdTrust is a versatile JavaScript library designed for efficient ad delivery with built-in viewability tracking, multi-format support, and ad block detection.

3 lines (2 loc) 40.5 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).AdTrust=e()}(this,(function(){"use strict";function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var e={exports:{}};const i=s;function s(t,e){const i=o();return(s=function(t,e){return i[t-=342]})(t,e)}!function(t){const e=s,i=t();for(;;)try{if(915675===-parseInt(e(763))/1*(parseInt(e(648))/2)+-parseInt(e(574))/3*(-parseInt(e(541))/4)+parseInt(e(736))/5*(parseInt(e(456))/6)+-parseInt(e(536))/7+-parseInt(e(577))/8+-parseInt(e(576))/9*(parseInt(e(728))/10)+parseInt(e(642))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(o);var n,r=e[i(499)];function o(){const t=["Ad ","): HTML content contains script tags, but sandboxing is disabled. Ensure content is trusted or enable sandboxing for security.","cursor","17285818nNIInj","viewableTimeout","setRequestHeader","data-html-template-id","Registered ","loadedmetadata","44338YiRpOr","head","viewabilityHistory","warn","Refreshing ad ","_findOrCreateContainer","containerElement","autoInit","#aaa",'\n <html>\n <head>\n <style>\n html, body { margin: 0; padding: 0; width: 100%; height: 100%; }\n .adTrust-clickable {\n width: 100%;\n height: 100%;\n position: relative;\n cursor: pointer;\n }\n </style>\n </head>\n <body>\n <div class="adTrust-clickable" onclick="window.open(\'',"script[data-adTrust-id='","addedNodes","hasAttribute","fontSize","addEventListener","data-video-url","protocol","quartileEvents","_onContentLoadError","report-endpoint","quartiles","Global config updated.","enablejsapi=1","readyState","AdTrust: MutationObserver not supported. Dynamically added ad tags might not auto-initialize.","innerWidth","ended","image-url","webkit-playsinline","loadDelayedAdNow","youtu.be","relative","closest","enable-refresh","Valid tagUrl is required for ThirdPartyTagAd (id: ","), instance already exists.","PAUSED","detectAdBlocker","Autoplay prevented for video ad ","htmlContent","data-","muted",'Unsupported ad type "',"imageAltText","display","100%","Error in _startViewabilityTracking","12px","playVideo","getAdById","mute=1","unobserve","allow","delayTimer","Invalid report endpoint URL for beacon:","object","parseTimeToMs","Loading HTML content for ","iframe","substring","Invalid image URL: ","apply","documentElement","disabled","delayComplete","div","htmlContent is required for HtmlAd (id: ","destroyViewability","0.0.5","canplay","cover","loaded","viewabilityStartTime","adTrust-video-","Failed to execute adBlockerDetectedCallback","video/ogg","videoStarted","playsinline","AdTrust","center","624100yfHyBH",": Element is null, cannot load content.","Invalid options provided to createAd",'" specified in tag (id: ',"length","parseBoolean","send","ad banner ads ad-banner ad_banner banner_ad textads","126060SitTol","log","_setupAutoRefresh","Error in _triggerViewableImpression","border","Failed to initialize MutationObserver","click","clickUrl","lazy","videoPause","margin",'" or it was already processed without an instance being created.',"Failed to dispatch event ","getViewabilityMetrics","script[data-adTrust-id], script[data-image-url], script[data-html-content], script[data-tag-url], script[data-html-template-id], script[data-type], script[data-video-url]","enableRefresh","impressionId","log-viewability","autoplay","join",".mpeg","options","Error destroying ViewabilityTracker","forEach","element","createElement","src","67ahzLhm","logViewabilityEvents","parentNode","nodeType","parseAdOptionsFromTag","_triggerViewableImpression","Cannot setup viewability, element is null for ad ","html-content","toString","type","logError","alignItems","adTrust-","BannerAd ","logErrors","lazyLoadThreshold","true","Failed to initialize ad ","allow-scripts allow-same-origin allow-popups allow-forms allow-popups-to-escape-sandbox","' not found or invalid type.","isValidUrl","Error processing pending script","async","PLAYING","code","loading","_clearTimers","). Returning existing instance.","Loading","getElementById",", element not found.","Failed to send beacon/XHR","Failed to load content for ad ","Unknown video error","controls=0","destroyLazyLoader","body","ENDED","allowFullscreen",".webm",", loading now","click-url","calculateVisiblePercentage","setGlobalConfig","viewabilityThreshold","Delay complete for ","hidden","unknown","loadContent() must be implemented by subclasses.","filter","AdTrust Error:","Starting refresh for ","lazyLoadObserver","): Injecting HTML directly without sandbox. Ensure content is fully trusted.","fontFamily",'data-image-url is required for type="banner" (id: ',"_setupVideoEventTracking","AdTrust ",".mov","data-image-url","lazy-load-threshold","MutationObserver","currentProgress","find","viewableStart","includes","zIndex","videoError","isYouTube","currentTime",'data-html-content or data-html-template-id is required for type="html" (id: ',"Detected dynamically added script tags. Processing...",".video-controls","pointer","data-html-content","data-adTrust-id","_checkAndUpdateQuartiles","loadContent","youtubeId","videoReady","videoCompleted","Video error for ad ","Container element with ID '","',\n adType: 'html'\n }, '*');\n });\n <\/script>\n </body>\n </html>\n ","observer","querySelectorAll","alt",'<div style="color:red; font-size:12px; text-align:center; padding: 10px;">Ad failed to load</div>',"html","innerHeight","% 0px","videoStart","'], script[data-id='","posterUrl","https://www.youtube.com/iframe_api","script","VideoAd ","dispatchEvent","boundingClientRect","setAttribute","Player","Failed to initialize IntersectionObserver","init","viewabilityOptions","_cleanupOnError","getMetrics","): Running third-party tag without sandbox is highly discouraged due to security risks.",".mpg","Script element not provided to TagParser","adTrust-iframe-","Ad blocker suspected based on bait element","viewabilityTime","#f0f0f0","IntersectionObserver","sandbox","srcdoc","videoQuartile","tagName","50px","overflow","getDataAttribute","imageObjectFit","some","Loading banner content for ","Loading third-party tag content for ","target","appendChild","insertBefore","auto","Destroyed ad ","tag","imageUrl","allow-scripts allow-same-origin allow-popups allow-forms","open","rel","height","autoplay=1","120oEWuyT","_onContentLoadSuccess","_setupViewability","onYouTubeIframeAPIReady","useSandbox","Error in _checkAndUpdateQuartiles","adBlockerDetectedCallback","isIntersecting","low","1px","delay",". User interaction required.","justifyContent","Loading video content for ","onErrorCallback","debug","origin=","_dispatchEvent","https:","pause",".ogg","adTrust:click","adTrustGlobalConfig","minHeight","outerHTML","isInViewport failed","sendBeacon",'" already initialized (id: ',"https://www.youtube.com/embed/","video/x-m4v","textContent","right","-9999px","videoComplete","PlayerState","play","importance","absolute","viewability","keys","youtube.com/embed/","data-type","defaultAdType","exports","background","reduce","stringify","_blank","isCurrentlyViewable","function","catch","heartbeatInterval",") to prevent CLS.","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture","Content-Type","contains","data","Error removing element for ad ","videoUrl","loop","block","tagUrl","rgba(0,0,0,0.3)","bottom","adTrust-container-","duration","refreshTimer","Error in _endViewabilityTracking","href","http:","poster-url","viewQuartile","padding","data-tag-url","amd","containerId","observe","push","min","loadImage","2103059eUTwKh","viewabilityTracker","Failed to parse options from script tag (id: ","toLowerCase","viewableImpression","308pHrBsq","scriptElement","undefined","IntersectionObserver not supported. Loading ad ","bind","ELEMENT_NODE"," for ad ","videoElement","video/mpeg","ms delay","_extractYouTubeId","style","top","innerHTML","removeChild","data-adlib-processed","Invalid videoUrl provided for VideoAd (id: ","Forcing immediate load for delayed ad ","s...",'Unsupported adType "',"error","video/webm","SCRIPT","_handleClick","videoEvents","video/quicktime","log-errors","videoPlay","POST","nextSibling","Could not determine optimal placement for ad ","Cannot refresh ad ","adType","52395aNjOSI","totalViewTime","63mvewhj","2257424LlsLWS"," immediately.","Failed to setup lazy loading for ad ","tag-url","hasOwnProperty","offsetHeight","adTrust:","refresh-interval",". Appending to body.","adTrust-youtube-","width","flex","_startViewabilityTracking","destroy","removeEventListener","', '_blank')\">\n ","hasBeenViewable","random","getVideoMetrics","adInstances","endsWith","AdTrust: Explicit width and height are recommended for banner ads (id: ","ThirdPartyTagAd ","AdTrust (id: ","refresh","_setupLazyLoading","video","auto-init","none","initialized",".ogv","AdTrust Error: Failed to execute onErrorCallback","\n </div>\n </body>\n </html>\n ","banner","HtmlAd ","currentScript","firstChild","timeupdate","poster"," from ","Error in _handleIntersection","refreshInterval","left","position","_endViewabilityTracking","objectFit","controls=1","Invalid selector provided to initSpecificTag: ","intersectionRect","reportEndpoint","now","message","generateUniqueId","Debug mode ","Error dispatching event ","controls","_handleVideoEvent","isLoaded","split","getAttribute","loadError",'\n <html>\n <head>\n <style>\n html, body { margin: 0; padding: 0; width: 100%; height: 100%; }\n .adTrust-content { width: 100%; height: 100%; }\n </style>\n </head>\n <body>\n <div class="adTrust-content">\n '];return(o=function(){return t})()}var a=function(){const t=i;return n||(n=1,o=e,function(t,e){const i=s;"undefined"===i(505)&&(void 0)[i(530)]?(void 0)([],e):i(703)==i(703)&&o.exports?o[i(499)]=e():t[i(726)]=e()}("undefined"!=typeof self?self:r,(function(){const t=s,e={viewabilityThreshold:.5,viewabilityTime:1e3,heartbeatInterval:250,lazyLoadThreshold:1,refreshInterval:3e4,enableRefresh:!1,logViewabilityEvents:!1,logErrors:!0,reportEndpoint:null,autoInit:!0,delay:0,detectAdBlocker:!0,adBlockerDetectedCallback:null,onErrorCallback:null,defaultAdType:"banner",debug:!1};typeof window!==t(543)&&(window[t(596)]=window[t(596)]||[],window.adTrustGlobalConfig=window[t(478)]||{});let i=[],n=[],r=!1;const o={generateUniqueId:function(){const e=t;return e(775)+Math[e(594)]()[e(771)](36)[e(707)](2,15)},throttle:function(t,e){let i;return function(){const n=arguments;!i&&(t[s(709)](this,n),i=!0,setTimeout((()=>i=!1),e))}},parseTimeToMs:function(e){const i=t;if(!e)return 0;const s=parseInt(e,10);return isNaN(s)?0:e[i(597)]("s")?1e3*s:e[i(597)]("m")?60*s*1e3:s},isValidUrl:function(e){const i=t;try{const t=new URL(e);return t[i(664)]===i(525)||t[i(664)]===i(474)}catch(t){return!1}},isInViewport:function(e,i=0){const s=t;if(!e)return!1;try{const t=e.getBoundingClientRect();return t[s(553)]>=-i*window.innerHeight&&t.left>=0&&t[s(519)]<=window[s(408)]+i*window[s(408)]&&t[s(487)]<=window[s(673)]}catch(t){return o[s(773)](s(481),t,e),!1}},calculateVisiblePercentage:function(e){const i=t;if(e[i(463)]&&e[i(417)].width>0&&e[i(417)].height>0){const t=e[i(625)][i(587)]*e.intersectionRect[i(454)],s=e[i(417)][i(587)]*e.boundingClientRect[i(454)];return s>0?t/s:0}return 0},createPlaceholder:function(e,i,s,n=""){const r=t,o=document[r(761)](r(713));if(o.id=s,o[r(552)][r(587)]=e?e+"px":"100%",o[r(552)][r(454)]=i?i+"px":r(447),i&&(o.style[r(479)]=i+"px"),o[r(552)].position=r(679),o.style[r(438)]="hidden",o[r(552)][r(500)]=r(431),o.style.display=r(588),o.style[r(774)]=r(727),o.style.justifyContent=r(727),o[r(552)].color=r(656),o[r(552)][r(661)]=r(695),o[r(552)][r(373)]="sans-serif",o.setAttribute("aria-label","Ad loading area"),n){const t=document[r(761)](r(713));t.textContent=n,o[r(445)](t)}return o},loadImage:function(e,i){const s=t;if(!o[s(783)](e)){const t=new Error(s(708)+e);return o[s(773)](t[s(628)]),i(t)}const n=new Image;n.onload=()=>i(null,n),n.onerror=()=>{const t=s,n=new Error("Failed to load image: "+e);o[t(773)](n.message),i(n)},n[s(762)]=e},sendBeacon:function(e,i){const s=t;try{if(!o[s(783)](e))return void o[s(773)](s(702),e);const t=JSON[s(502)](i);if(navigator[s(482)])navigator[s(482)](e,t);else{const i=new XMLHttpRequest;i[s(452)](s(569),e,!0),i[s(644)](s(510),"application/json"),i[s(734)](t)}}catch(t){o[s(773)](s(350),t,{url:e,data:i})}},getDataAttribute:function(e,i,s){const n=t;if(!e||typeof e[n(636)]!==n(505))return s;const r=e.getAttribute(n(688)+i);return null!==r?r:s},parseBoolean:function(t){return"boolean"==typeof t?t:"true"===t||"1"===t||"yes"===t},log:function(i,...s){const n=t;({...e,...window[n(478)]})[n(471)]&&console.log("AdTrust:",i,...s)},logError:function(i,s,n){const r=t,o={...e,...window[r(478)]};if(o[r(777)]&&console[r(561)](r(369),i,s||"",n||""),"function"==typeof o[r(470)])try{o[r(470)]({message:i,error:s,context:n})}catch(t){console.error(r(608),t)}},detectAdBlocker:function(i){const n=t,a=document[n(761)]("div");a.className=n(735),a[n(552)][n(620)]="absolute",a[n(552)][n(619)]=n(488),a.style[n(553)]=n(488),a.style[n(454)]=n(465),a.style.width=n(465),document[n(355)][n(445)](a),requestAnimationFrame((()=>{setTimeout((()=>{const t=s;let n=!1;if((!document.body[t(511)](a)||0===a[t(582)]||a[t(552)][t(692)]===t(605))&&(n=!0),document[t(355)][t(555)](a),n){r=!0,o[t(773)](t(429));const i={...e,...window[t(478)]};if(typeof i[t(462)]===t(505))try{i[t(462)]()}catch(e){o.logError(t(722),e)}}i&&i(n)}),100)}))}};class a{constructor(e,i){const s=t;this[s(760)]=e,this.options=i,this[s(643)]=null,this[s(507)]=null,this[s(504)]=!1,this.viewabilityStartTime=null,this[s(575)]=0,this[s(650)]=[],this[s(752)]=o.generateUniqueId(),this[s(593)]=!1,this[s(668)]=[!1,!1,!1,!1],this[s(403)]=null;try{this[s(403)]=new IntersectionObserver(this._handleIntersection.bind(this),{threshold:[0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1]}),this[s(403)].observe(this[s(760)])}catch(t){o[s(773)](s(420),t,{elementId:e.id})}}_handleIntersection(e){const i=t;try{if(!e||0===e.length)return;const t=e[0],s=o[i(361)](t);s>=this[i(757)][i(363)]?this.isCurrentlyViewable||this[i(589)]():this[i(504)]&&this._endViewabilityTracking(),this[i(650)][i(533)]({timestamp:Date.now(),visiblePercentage:s})}catch(t){o[i(773)](i(617),t,{impressionId:this[i(752)]}),this._clearTimers()}}[t(589)](){const e=t;try{this[e(504)]=!0,this[e(720)]=Date[e(627)](),this[e(345)](),this.viewableTimeout=setTimeout((()=>{const t=e;this[t(504)]&&this[t(768)]()}),this[e(757)][e(430)]),this[e(507)]=setInterval((()=>{const t=e;this.isCurrentlyViewable?(this.totalViewTime+=this[t(757)][t(507)],this[t(395)]()):this[t(345)]()}),this[e(757)].heartbeatInterval),this[e(473)](e(383))}catch(t){o[e(773)](e(694),t,{impressionId:this.impressionId})}}[t(621)](){const e=t;try{if(!this[e(504)])return;this[e(504)]=!1;const t=Date.now()-this[e(720)];this[e(575)]+=t,this._clearTimers(),this[e(473)]("viewableEnd",{duration:t})}catch(t){o[e(773)](e(523),t,{impressionId:this[e(752)]})}}[t(768)](){const e=t;try{if(this[e(593)])return;this[e(593)]=!0,this._dispatchEvent(e(540)),this[e(757)].reportEndpoint&&o[e(482)](this.options[e(626)],{event:"viewableImpression",impressionId:this[e(752)],elementId:this[e(760)].id,timestamp:Date[e(627)](),totalViewTime:this[e(575)]})}catch(t){o[e(773)](e(739),t,{impressionId:this[e(752)]})}}_checkAndUpdateQuartiles(){const e=t;try{const t=this[e(757)][e(430)]/4,i=Math[e(534)](Math.floor(this.totalViewTime/t)-1,3);for(let t=0;t<=i;t++)t>=0&&!this.quartiles[t]&&(this[e(668)][t]=!0,this._dispatchEvent(e(527),{quartile:25*(t+1)}))}catch(t){o[e(773)](e(461),t,{impressionId:this[e(752)]})}}_dispatchEvent(i,s={}){const n=t;try{const t={impressionId:this[n(752)],elementId:this.element.id,timestamp:Date[n(627)](),totalViewTime:this[n(575)],...s};this[n(757)].logViewabilityEvents&&{...e,...window.adTrustGlobalConfig}.debug&&console.log(n(376)+i+":",t);const r=new CustomEvent("adTrust:"+i,{detail:t,bubbles:!0});this.element[n(416)](r)}catch(t){o.logError(n(631)+i,t,{impressionId:this[n(752)]})}}[t(345)](){const e=t;clearTimeout(this[e(643)]),clearInterval(this.heartbeatInterval),this.viewableTimeout=null,this[e(507)]=null}[t(590)](){const e=t;try{this._clearTimers(),this[e(403)]&&this[e(403)].disconnect(),this.observer=null,this.element=null}catch(t){o.logError(e(758),t,{impressionId:this[e(752)]})}}[t(424)](){const e=t;return{impressionId:this[e(752)],hasBeenViewable:this[e(593)],totalViewTime:this[e(575)],quartiles:this.quartiles,isCurrentlyViewable:this.isCurrentlyViewable}}}class d{constructor(i){const s=t;this.id=i.id||o.generateUniqueId(),this[s(573)]=i[s(573)]||s(366),this.containerId=i[s(531)],this[s(587)]=i[s(587)]||null,this[s(454)]=i[s(454)]||null,this[s(743)]=i[s(743)]||null,this[s(422)]={...e,...window.adTrustGlobalConfig,...i[s(494)]||{},...i||{}},this[s(466)]=o[s(704)](i[s(466)]||this[s(422)].delay),this[s(760)]=null,this[s(654)]=null,this[s(537)]=null,this[s(634)]=!1,this.refreshTimer=null,this[s(701)]=null,this[s(606)]=!1,this[s(371)]=null,this.width&&this[s(454)]&&this[s(587)]*this[s(454)]>242500&&(this.viewabilityOptions[s(363)]=this[s(422)][s(363)]>.3?.3:this[s(422)][s(363)])}[t(421)](){const e=t;if(this[e(606)])return!0;this[e(606)]=!0;try{if(!this[e(653)]())throw new Error("Container not found or creatable for ID: "+(this[e(531)]||this.id));const t=this.delay>0?"Loading in "+Math.round(this.delay/1e3)+e(559):"";return this[e(760)]=o.createPlaceholder(this[e(587)],this[e(454)],this.id,t),this.containerElement[e(445)](this[e(760)]),this[e(466)]>0?(o[e(737)](e(639)+this.id+" ("+this[e(573)]+") will load after "+this[e(466)]+e(550)),this.delayTimer=setTimeout((()=>{const t=e;o[t(737)](t(364)+this.id+t(359)),this[t(760)][t(613)]&&this.element.firstChild[t(486)][t(384)](t(347))&&(this[t(760)][t(554)]=""),this[t(602)](),this[t(473)](t(712),{delay:this.delay})}),this[e(466)])):this[e(602)](),!0}catch(t){return o[e(773)](e(780)+this.id,t),this[e(423)](),!1}}[t(653)](){const e=t;if(this[e(531)]){if(this[e(654)]=document.getElementById(this.containerId),!this[e(654)])return o.logError(e(401)+this[e(531)]+"' not found."),!1}else{this.containerElement=document[e(761)](e(713)),this[e(531)]=e(520)+this.id,this[e(654)].id=this[e(531)];const t=document.querySelector(e(658)+this.id+e(411)+this.id+"']");t&&t[e(765)]?t[e(765)][e(446)](this[e(654)],t[e(570)]):document[e(612)]&&document[e(612)].parentNode?document[e(612)][e(765)][e(446)](this[e(654)],document.currentScript.nextSibling):(o[e(737)](e(571)+this.id+e(585)),document[e(355)][e(445)](this[e(654)]))}return!0}_setupLazyLoading(){const e=t;if(!this.isLoaded)try{e(432)in window?(this[e(371)]=new IntersectionObserver(((t,i)=>{const s=e;t[s(759)]((t=>{const e=s;(t[e(463)]||o.isInViewport(t[e(444)],this[e(422)][e(778)]))&&(this[e(396)](),i[e(699)](t[e(444)]),this[e(371)]=null)}))}),{rootMargin:100*this[e(422)][e(778)]+e(409)}),this[e(371)][e(532)](this[e(760)])):(o[e(737)](e(544)+this.id+e(578)),this[e(396)]())}catch(t){o[e(773)](e(579)+this.id,t),this[e(396)]()}}loadContent(){throw new Error(t(367))}[t(457)](){const e=t;this[e(634)]=!0,this._dispatchEvent(e(719),{delayed:this[e(466)]>0,delay:this[e(466)]}),this[e(458)](),this._setupAutoRefresh()}_onContentLoadError(e){const i=t;o[i(773)](i(351)+this.id,e),this[i(473)](i(637),{error:e[i(628)]}),this[i(760)]&&(this[i(760)].innerHTML=i(406)),this[i(423)]()}_setupViewability(){const e=t;this[e(537)]&&this.viewabilityTracker.destroy(),this[e(760)]?this[e(537)]=new a(this[e(760)],this[e(422)]):o[e(773)](e(769)+this.id)}[t(738)](){const e=t;clearInterval(this[e(522)]),this[e(422)][e(751)]&&this[e(422)][e(618)]>0&&(this[e(522)]=setInterval((()=>{const t=e;this.viewabilityTracker&&this[t(537)][t(504)]&&(o[t(737)](t(652)+this.id),this[t(601)]())}),this.viewabilityOptions[e(618)]))}_handleClick(e){const i=t,s=this[i(749)]();this._dispatchEvent(i(742),{metrics:s}),this[i(422)].reportEndpoint&&o.sendBeacon(this[i(422)][i(626)],{event:i(742),impressionId:s?s[i(752)]:null,id:this.id,timestamp:Date[i(627)](),metrics:s})}[t(601)](){const e=t;this[e(760)]?(o[e(737)](e(370)+this.id),this[e(537)]&&this.viewabilityTracker[e(590)](),this[e(634)]=!1,this[e(760)][e(554)]="",this[e(396)]()):o[e(773)](e(572)+this.id+e(349))}[t(473)](e,i={}){const s=t;if(!this[s(760)])return;const n=new CustomEvent(s(583)+e,{detail:{id:this.id,adType:this.adType,timestamp:Date[s(627)](),...i},bubbles:!0});try{this[s(760)].dispatchEvent(n)}catch(t){o[s(773)](s(748)+e+s(547)+this.id,t)}}_cleanupOnError(){const e=t;this[e(715)](),this[e(354)](),clearInterval(this[e(522)]),clearTimeout(this[e(701)]),this.element&&this[e(760)][e(765)]&&(this.element.parentNode.removeChild(this[e(760)]),this[e(760)]=null)}[t(715)](){const e=t;this[e(537)]&&(this.viewabilityTracker[e(590)](),this.viewabilityTracker=null)}[t(354)](){const e=t;if(this[e(371)]&&this[e(760)]){try{this.lazyLoadObserver[e(699)](this[e(760)])}catch(t){}this[e(371)]=null}}destroy(){const e=t;if(clearInterval(this[e(522)]),clearTimeout(this.delayTimer),this[e(354)](),this.destroyViewability(),this.element&&this[e(760)][e(765)])try{this[e(760)][e(765)][e(555)](this[e(760)])}catch(t){o[e(773)](e(513)+this.id,t)}this[e(760)]=null,this[e(654)]=null,window[e(596)]=window[e(596)][e(368)]((t=>t.id!==this.id)),n=n.filter((t=>t.id!==this.id)),o[e(737)](e(448)+this.id)}[t(749)](){const e=t;return this[e(537)]?this[e(537)].getMetrics():null}}class l extends d{constructor(e){const i=t;if(super({...e,adType:i(610)}),this[i(450)]=e[i(450)],!this[i(450)])throw new Error("imageUrl is required for BannerAd (id: "+this.id+")");if(!o.isValidUrl(this[i(450)]))throw new Error("Invalid imageUrl provided for BannerAd (id: "+this.id+")");this.width&&this.height||console[i(651)](i(598)+this.id+i(508))}[t(396)](){const e=t;this[e(634)]||(o.log(e(442)+this.id),o[e(535)](this[e(450)],((t,i)=>{const s=e;if(!t&&i)if(this.element)try{const t=document[s(761)](s(713));t[s(552)][s(587)]=s(693),t.style.height=s(693),t[s(552)][s(438)]=s(365),t[s(552)][s(620)]=s(679);const e=document[s(761)]("a");e[s(552)][s(692)]=s(516),e[s(552)][s(587)]=s(693),e[s(552)][s(454)]=s(693),this[s(743)]&&o.isValidUrl(this[s(743)])?(e[s(524)]=this[s(743)],e[s(444)]=s(503),e[s(453)]="noopener noreferrer",e.addEventListener(s(742),this._handleClick[s(545)](this))):e[s(552)][s(641)]="default",i[s(552)][s(587)]="100%",i[s(552)][s(454)]="100%",i[s(552)][s(622)]=this[s(422)][s(440)]||s(718),i[s(418)](s(405),this.viewabilityOptions[s(691)]||"Advertisement"),i[s(418)]("loading",s(744)),i.setAttribute("decoding",s(785)),e[s(445)](i),t[s(445)](e),this.element[s(554)]="",this.element[s(445)](t),this._onContentLoadSuccess()}catch(t){this[s(666)](t)}else o[s(773)](s(776)+this.id+": Element is null, cannot append image.");else this[s(666)](t||new Error("Image object null after load"))})))}}class h extends d{constructor(e){const i=t;if(super({...e,adType:i(407)}),this.htmlContent=e[i(687)],this.useSandbox=o[i(733)](void 0===e[i(460)]||e.useSandbox),!this[i(687)])throw new Error(i(714)+this.id+")");!this[i(460)]&&/<script/i.test(this[i(687)])&&console.warn(i(600)+this.id+i(640))}[t(396)](){const e=t;if(!this[e(634)])if(this[e(760)]){o[e(737)](e(705)+this.id);try{const t=document[e(761)](e(713));if(t[e(552)].width=this[e(587)]?this[e(587)]+"px":e(693),t[e(552)][e(454)]=this[e(454)]?this.height+"px":e(693),t.style.overflow="auto",t[e(552)].border=e(605),this[e(460)]){const i=document.createElement("iframe");i.id=e(428)+this.id,i.style[e(587)]=e(693),i.style.height=e(693),i.style[e(740)]="0",i[e(552)][e(746)]="0",i[e(552)][e(528)]="0",i[e(418)]("loading",e(744)),i.setAttribute(e(492),e(464)),i[e(418)]("sandbox",e(451));let s=this[e(687)];s=this[e(743)]&&o.isValidUrl(this[e(743)])?e(657)+this[e(743)]+e(592)+this.htmlContent+"\n </div>\n <script>\n // Notify parent of clicks via postMessage\n document.querySelector('.adTrust-clickable').addEventListener('click', function(e) {\n window.parent.postMessage({\n type: 'adTrust:click',\n id: '"+this.id+e(402):e(638)+this.htmlContent+e(609),i[e(434)]=s,window[e(662)]("message",(t=>{const i=e;t[i(512)]&&t.data.type===i(477)&&t.data.id===this.id&&this._handleClick(new Event(i(742)))})),t[e(445)](i)}else{console[e(651)]("AdTrust (id: "+this.id+e(372));const i=document.createElement("div");i[e(552)][e(587)]=e(693),i[e(552)].height=e(693),i.innerHTML=this.htmlContent,this[e(743)]&&o[e(783)](this.clickUrl)&&(i.style.cursor=e(392),i.addEventListener("click",(t=>{const i=e;!t[i(444)].closest("a")&&(window[i(452)](this[i(743)],"_blank"),this[i(564)](t))}))),t[e(445)](i)}this.element.innerHTML="",this[e(760)][e(445)](t),this[e(457)]()}catch(t){this[e(666)](t)}}else o[e(773)](e(611)+this.id+": Element is null, cannot load content.")}}class c extends d{constructor(e){const i=t;if(super({...e,adType:i(449)}),this[i(517)]=e[i(517)],!this[i(517)]||!o[i(783)](this[i(517)]))throw new Error(i(682)+this.id+")");this[i(460)]=o[i(733)](void 0===e[i(460)]||e[i(460)]),!this[i(460)]&&console[i(651)](i(600)+this.id+i(425))}[t(396)](){const e=t;if(!this[e(634)])if(this[e(760)]){o[e(737)](e(443)+this.id+e(616)+this[e(517)]);try{const t=document[e(761)](e(713));t[e(552)][e(587)]=e(693),t[e(552)][e(454)]=e(693),t[e(552)][e(620)]=e(679);const i=document[e(761)](e(706));if(i.id="adTrust-iframe-"+this.id,i[e(552)].width=this[e(587)]?this[e(587)]+"px":"100%",i.style.height=this[e(454)]?this.height+"px":e(693),i[e(552)].border="0",i[e(552)][e(746)]="0",i[e(552)][e(528)]="0",i.setAttribute(e(344),e(744)),i[e(418)](e(492),e(464)),this.useSandbox?i.setAttribute(e(433),e(781)):i.removeAttribute(e(433)),this[e(743)]&&o[e(783)](this[e(743)])){const i=document.createElement(e(713));i[e(552)][e(620)]=e(493),i[e(552)][e(553)]="0",i.style.left="0",i[e(552)][e(587)]=e(693),i[e(552)][e(454)]=e(693),i[e(552)][e(641)]=e(392),i[e(552)][e(385)]="1",i[e(552)].pointerEvents=e(605),t[e(662)]("click",(i=>{const s=e;i[s(444)]===t&&(window.open(this[s(743)],"_blank"),this[s(564)](i))})),t[e(445)](i)}i[e(762)]=this.tagUrl,t[e(445)](i),this[e(760)].innerHTML="",this.element[e(445)](t),this[e(457)]()}catch(t){this[e(666)](t)}}else o[e(773)](e(599)+this.id+e(729))}}class u extends d{constructor(e){const i=t;if(super({...e,adType:i(603),viewability:{...e.viewability,viewabilityTime:e[i(494)]?.[i(430)]||2e3}}),this[i(514)]=e[i(514)],this.posterUrl=e.posterUrl||null,this[i(754)]=void 0!==e[i(754)]&&e[i(754)],this[i(632)]=void 0===e[i(632)]||e[i(632)],this[i(689)]=void 0===e[i(689)]||e[i(689)],this[i(515)]=void 0!==e[i(515)]&&e.loop,this[i(565)]={},this.videoElement=null,this.progressTracker=null,this[i(724)]=!1,this.videoCompleted=!1,this[i(381)]=0,this[i(665)]=[!1,!1,!1,!1],this[i(387)]=this[i(514)]&&(this.videoUrl[i(384)]("youtube.com")||this.videoUrl.includes(i(678))),this[i(387)]&&(this.youtubeId=this[i(551)](this[i(514)])),!this[i(514)])throw new Error("videoUrl is required for VideoAd (id: "+this.id+")");if(!this[i(387)]&&!o[i(783)](this[i(514)]))throw new Error(i(557)+this.id+")")}[t(551)](e){const i=t;let s=null;return e.includes("youtube.com/watch?v=")?s=new URLSearchParams(e[i(635)]("?")[1]).get("v"):e[i(384)](i(496))?s=e[i(635)](i(496))[1][i(635)]("?")[0]:e[i(384)]("youtu.be/")&&(s=e[i(635)]("youtu.be/")[1][i(635)]("?")[0]),s}[t(396)](){const e=t;if(!this[e(634)])if(o.log(e(469)+this.id),this[e(760)])try{const t=document.createElement(e(713));if(t[e(552)][e(587)]=e(693),t[e(552)][e(454)]=e(693),t[e(552)][e(620)]=e(679),t[e(552)][e(438)]="hidden",this[e(387)]&&this[e(397)]){const i=document[e(761)](e(706));i.id=e(586)+this.id,i[e(587)]=e(693),i[e(454)]="100%",i[e(552)][e(740)]="none";let s=e(484)+this[e(397)]+"?";const n=[];this[e(754)]&&n[e(533)](e(455)),this.muted&&n[e(533)](e(698)),this[e(632)]?n[e(533)](e(623)):n.push(e(353)),this[e(515)]&&n[e(533)]("loop=1&playlist="+this[e(397)]),n[e(533)](e(670)),n.push(e(472)+encodeURIComponent(window.location.origin)),s+=n[e(755)]("&"),i[e(762)]=s,i[e(700)]=e(509),i[e(357)]=!0,t.appendChild(i);const r=document.createElement(e(414));let a;if(r.src=e(413),document[e(649)][e(445)](r),window[e(459)]=()=>{const t=e;a=new(YT[t(419)])(i.id,{events:{onReady:e=>{const i=t;this[i(473)](i(398)),this[i(754)]&&e[i(444)][i(696)]()},onStateChange:e=>{const i=t;switch(e[i(512)]){case YT.PlayerState[i(342)]:!this[i(724)]&&(this[i(724)]=!0,this._dispatchEvent(i(410))),this._dispatchEvent(i(568));break;case YT[i(490)][i(684)]:this._dispatchEvent("videoPause");break;case YT[i(490)][i(356)]:this[i(399)]=!0,this._dispatchEvent(i(489))}}}})},this[e(743)]&&o.isValidUrl(this[e(743)])){const i=document[e(761)](e(713));i.style.position=e(493),i[e(552)][e(553)]="0",i[e(552)][e(619)]="0",i[e(552)][e(587)]=e(693),i.style[e(454)]=e(437),i[e(552)][e(641)]=e(392),i.style[e(385)]="10",i[e(662)](e(742),(t=>{const i=e;this[i(564)](t),window.open(this.clickUrl,i(503))})),t.appendChild(i)}}else{const i=document[e(761)](e(603));i.id=e(721)+this.id,i.style[e(587)]=e(693),i[e(552)].height=e(693),i[e(552)][e(622)]=e(718),this[e(754)]&&i[e(418)](e(754),""),this.muted&&(i.setAttribute(e(689),""),i[e(689)]=!0),this.loop&&i[e(418)](e(515),""),this[e(632)]&&i.setAttribute(e(632),""),this[e(412)]&&i.setAttribute(e(615),this[e(412)]),i.setAttribute(e(725),""),i[e(418)](e(676),"");const s=document.createElement("source");s[e(762)]=this[e(514)];let n="video/mp4";if(this[e(514)].endsWith(e(358))?n=e(562):this[e(514)][e(597)](e(476))||this[e(514)][e(597)](e(607))?n=e(723):this[e(514)][e(597)](e(377))?n=e(566):this[e(514)][e(597)](e(426))||this[e(514)][e(597)](e(756))?n=e(549):this[e(514)][e(597)](".m4v")&&(n=e(485)),s[e(772)]=n,i.appendChild(s),i[e(662)](e(561),(t=>{const s=e;o[s(773)](s(400)+this.id,t,{videoSrc:this.videoUrl,errorCode:i[s(561)]?i.error[s(343)]:"unknown"}),this._dispatchEvent(s(386),{error:i[s(561)]?i[s(561)][s(628)]:"Unknown video error"})})),this[e(754)]){i.load();const s=i[e(491)]();void 0!==s&&s[e(506)]((s=>{const n=e;o.log(n(686)+this.id+n(467));const r=document.createElement(n(713));r[n(552)][n(620)]=n(493),r[n(552)][n(553)]="0",r[n(552)][n(619)]="0",r.style[n(587)]=n(693),r[n(552)][n(454)]=n(693),r.style[n(692)]=n(588),r[n(552)][n(774)]=n(727),r[n(552)][n(468)]=n(727),r[n(552)][n(500)]=n(518),r[n(552)].cursor=n(392),r[n(554)]='<svg width="60" height="60" viewBox="0 0 24 24" fill="white"><path d="M8 5v14l11-7z"/></svg>',r[n(662)]("click",(()=>{i[n(491)](),r.remove()})),t.appendChild(r)}))}if(this[e(375)](i),this[e(743)]&&o[e(783)](this[e(743)])){const s=document.createElement("div");s[e(552)][e(620)]=e(493),s.style[e(553)]="0",s[e(552)][e(619)]="0",s[e(552)][e(587)]="100%",s[e(552)][e(454)]=e(693),s[e(552)].cursor=e(392),s[e(552)][e(385)]="10",this[e(632)]?(s.style.pointerEvents="none",i[e(662)](e(742),(t=>{const i=e;!t.target[i(680)](i(391))&&(this[i(564)](t),window[i(452)](this[i(743)],"_blank"))}))):s[e(662)](e(742),(t=>{const i=e;this[i(564)](t),window[i(452)](this[i(743)],i(503))})),t[e(445)](s)}t[e(445)](i),this[e(548)]=i}this[e(760)][e(554)]="",this.element[e(445)](t),this[e(457)]()}catch(t){this._onContentLoadError(t)}else o[e(773)](e(415)+this.id+": Element is null, cannot load content.")}[t(375)](e){const i=t;["play",i(475),i(674),i(561),i(614),i(647),i(717)][i(759)]((t=>{const s=i,n=e=>this[s(633)](t,e);e[s(662)](t,n),this.videoEvents[t]=n})),e[i(662)](i(614),(()=>{const t=i;if(!e[t(521)])return;const s=e[t(388)]/e[t(521)]*100;this[t(381)]=s,[25,50,75,100].forEach(((e,i)=>{const n=t;!this[n(665)][i]&&s>=e&&(this[n(665)][i]=!0,this._dispatchEvent(n(435),{quartile:e}))}))}))}[t(633)](e,i){const s=t;switch(e){case s(647):case"canplay":this[s(473)](s(398));break;case s(491):!this[s(724)]&&(this.videoStarted=!0,this[s(473)](s(410))),this[s(473)](s(568));break;case s(475):!this[s(399)]&&this[s(473)](s(745));break;case s(674):this[s(399)]=!0,this[s(473)](s(489));break;case"error":this[s(473)](s(386),{error:i[s(444)][s(561)]?i.target[s(561)][s(628)]:s(352)})}}[t(590)](){const e=t;this[e(387)]&&window.YT&&window.YT[e(419)],this.videoElement&&(Object.keys(this[e(565)]).forEach((t=>{const i=e;this[i(548)][i(591)](t,this[i(565)][t])})),this[e(548)]=null),super.destroy()}[t(595)](){const e=t;return this.videoElement||this[e(387)]?this.isYouTube?{isYouTube:!0,youtubeId:this[e(397)],started:this[e(724)],completed:this[e(399)],quartileEvents:this[e(665)],viewabilityMetrics:this[e(749)]()}:{duration:this[e(548)].duration||0,currentTime:this[e(548)].currentTime||0,progress:this[e(381)],started:this[e(724)],completed:this.videoCompleted,quartileEvents:this[e(665)],viewabilityMetrics:this[e(749)]()}:null}}class p{constructor(e){const i=t;this[i(542)]=e,this.id=o[i(439)](e,"id",o[i(629)]()),this.scriptElement[i(418)]("data-adTrust-id",this.id)}[t(767)](){const i=t;if(!this[i(542)])return o.logError(i(427)),null;try{const t=o[i(439)](this[i(542)],"type",e[i(498)])[i(539)](),s={id:this.id,containerId:o[i(439)](this[i(542)],"container-id",null),width:parseInt(o[i(439)](this[i(542)],i(587),""),10)||null,height:parseInt(o.getDataAttribute(this[i(542)],i(454),""),10)||null,clickUrl:o[i(439)](this[i(542)],i(360),null),delay:o.getDataAttribute(this[i(542)],i(466),"0"),viewability:{refreshInterval:parseInt(o.getDataAttribute(this[i(542)],i(584),e.refreshInterval),10),enableRefresh:o[i(733)](o[i(439)](this[i(542)],i(681),e[i(751)])),reportEndpoint:o[i(439)](this[i(542)],i(667),e[i(626)]),viewabilityThreshold:parseFloat(o[i(439)](this[i(542)],"viewability-threshold",e.viewabilityThreshold)),viewabilityTime:parseInt(o.getDataAttribute(this.scriptElement,"viewability-time",e[i(430)]),10),logViewabilityEvents:o[i(733)](o[i(439)](this[i(542)],i(753),e[i(764)])),lazyLoadThreshold:parseFloat(o[i(439)](this[i(542)],i(379),e.lazyLoadThreshold))},logErrors:o[i(733)](o.getDataAttribute(this[i(542)],i(567),e[i(777)])),useSandbox:o[i(733)](o[i(439)](this[i(542)],"use-sandbox",!0)),debug:o.parseBoolean(o.getDataAttribute(this[i(542)],"debug",e[i(471)]))};let n={};switch(t){case"banner":if(n[i(450)]=o[i(439)](this[i(542)],i(675),null),!n.imageUrl)throw new Error(i(374)+this.id+")");break;case"html":n.htmlContent=o[i(439)](this[i(542)],i(770),null);const e=o[i(439)](this[i(542)],"html-template-id",null);if(!n[i(687)]&&e){const t=document[i(348)](e);t&&t[i(436)]===i(563)&&"text/html"===t.type?n[i(687)]=t[i(554)]:o[i(773)]("HTML template script with ID '"+e+i(782),null,{adId:this.id})}if(!n.htmlContent)throw new Error(i(389)+this.id+")");break;case"tag":if(n[i(517)]=o[i(439)](this[i(542)],i(580),null),!n[i(517)])throw new Error('data-tag-url is required for type="tag" (id: '+this.id+")");break;case i(603):if(n.videoUrl=o.getDataAttribute(this.scriptElement,"video-url",null),n[i(412)]=o.getDataAttribute(this[i(542)],i(526),null),n[i(754)]=o[i(733)](o.getDataAttribute(this[i(542)],"autoplay",!1)),n[i(632)]=o[i(733)](o[i(439)](this[i(542)],i(632),!0)),n[i(689)]=o.parseBoolean(o[i(439)](this.scriptElement,i(689),!0)),n[i(515)]=o[i(733)](o.getDataAttribute(this[i(542)],i(515),!1)),!n.videoUrl)throw new Error('data-video-url is required for type="video" (id: '+this.id+")");break;default:throw new Error(i(690)+t+i(731)+this.id+")")}return{...s,...n,adType:t}}catch(t){return o.logError(i(538)+this.id+")",t,{scriptOuterHTML:this.scriptElement.outerHTML}),null}}}const m={version:t(716),createAd:function(i){const s=t;if(!i||"object"!=typeof i)return o[s(773)](s(730),null,i),null;let r=null;const a=i[s(573)]||e[s(498)];try{switch(a[s(539)]()){case s(610):r=new l(i);break;case"html":r=new h(i);break;case s(449):r=new c(i);break;case"video":r=new u(i);break;default:return o[s(773)](s(560)+a+'" requested.',null,i),null}r[s(466)]>0&&!n.some((t=>t.id===r.id))&&n[s(533)](r),r.init()?!window.adInstances[s(441)]((t=>t.id===r.id))&&window[s(596)][s(533)](r):r=null}catch(t){o[s(773)]("Failed to create ad instance (type: "+a+")",t,i),r&&r[s(590)](),r=null}return r},createBanner:function(e){return console[t(651)]("AdTrust: createBanner() is deprecated. Use createAd() with adType:'banner' instead."),this.createAd({...e,adType:"banner"})},initFromTag:function(e){const i=t;if(e){const t=new p(e)[i(767)]();return t?this.createAd(t):null}return y(),w(),window[i(596)][i(732)]},initSpecificTag:function(e){const i=t;let s=null;try{s=document.querySelector(e)}catch(t){return o[i(773)](i(624)+e,t),null}if(s&&s[i(436)]===i(563)&&s.hasAttribute(i(394))){const t=this[i(697)](s.getAttribute(i(394)));if(t)return o.log('Ad for selector "'+e+i(483)+t.id+i(346)),t}return s&&s[i(436)]===i(563)?(s[i(418)]("data-adlib-processed",i(779)),this.initFromTag(s)):(o[i(773)]('Could not find a valid SCRIPT element with selector "'+e+i(747)),null)},getAdInstances:()=>window[t(596)],getDelayedAds:()=>n,getAdById:e=>window[t(596)][t(382)]((t=>t.id===e)),loadDelayedAdNow:function(e){const i=t,s=n[i(382)]((t=>t.id===e));s?(o[i(737)](i(558)+e),clearTimeout(s.delayTimer),s.delayTimer=null,!s.isLoaded&&(s[i(760)]&&s[i(760)][i(613)]&&s[i(760)][i(613)][i(486)].includes("Loading")&&(s.element[i(554)]=""),s[i(602)]()),n=n[i(368)]((t=>t.id!==e))):console.warn("AdTrust: Could not find delayed ad with ID "+e+" to load immediately.")},loadAllDelayed:function(){const e=t;[...n].forEach((t=>this[e(677)](t.id)))},getAggregateMetrics:function(){const e=t,i=window.adInstances[e(732)],s=window.adInstances[e(368)]((t=>t.getViewabilityMetrics()?.[e(593)])),n=s[e(732)],o=s[e(501)](((t,i)=>t+(i[e(749)]()?.[e(575)]||0)),0);return{totalAds:i,viewableAds:n,viewabilityRate:i>0?n/i:0,averageViewTime:n>0?o/n:0,isAdBlockerSuspected:r}},destroyAll:function(){const e=t;[...window[e(596)]][e(759)]((t=>t[e(590)]())),window[e(596)]=[],n=[],i=[],o[e(737)]("All instances destroyed.")},setGlobalConfig:function(i){const s=t;Object[s(495)](e)[s(759)]((t=>{const n=s;i[n(581)](t)&&(t.endsWith("Callback")&&typeof i[t]!==n(505)||(e[t]=i[t],window[n(478)][t]=i[t]))})),o[s(737)](s(669),e)},setDebugMode:function(i){const s=t;e[s(471)]=!!i,window[s(478)].debug=!!i,o[s(737)](s(630)+(i?"enabled":s(711)))},processRemainingScripts:function(){w()}};function y(){const e=t,s=document[e(404)](e(750)),n=[];s.forEach((t=>{const s=e;(t[s(660)](s(394))||t.hasAttribute("data-image-url")||t[s(660)](s(393))||t[s(660)]("data-tag-url")||t[s(660)](s(645))||t.hasAttribute(s(663))||t[s(660)](s(497))&&[s(610),s(407),s(449),s(603)].includes(t[s(636)](s(497))))&&!t[s(660)]("data-adlib-processed")&&(i.push(t),t[s(418)](s(556),s(779)),n[s(533)](t))})),n.length>0&&o[e(737)](e(646)+n[e(732)]+" new script tags.")}function w(){const s=t,n=[...i];i=[],n[s(759)]((t=>{const i=s;try{const s=o.parseBoolean(o[i(439)](t,i(604),e[i(655)])),n=t[i(636)](i(394)),r=n&&m[i(697)](n);s&&!r?m.initFromTag(t):r&&o[i(737)]("Skipping auto-init for script (id: "+n+i(683))}catch(e){o[i(773)](i(784),e,{scriptOuterHTML:t[i(480)]})}}))}if(function(e){const i=t;document[i(671)]===i(344)?document.addEventListener("DOMContentLoaded",e):e()}((()=>{const i=t;window.adTrustGlobalConfig&&m[i(362)](window[i(478)]),y(),w(),{...e,...window.adTrustGlobalConfig}[i(685)]&&o[i(685)]()})),typeof window!==t(543)&&window[t(380)]){const e=new MutationObserver((e=>{const s=t;let n=!1;e[s(759)]((t=>{const e=s;"childList"===t[e(772)]&&t[e(659)][e(732)]>0&&t[e(659)][e(759)]((t=>{const s=e;t[s(766)]===Node[s(546)]&&t[s(436)]===s(563)&&(t[s(660)](s(394))||t[s(660)](s(378))||t[s(660)](s(393))||t[s(660)](s(529))||t[s(660)](s(645))||t[s(660)](s(663))||t[s(660)](s(497))&&["banner",s(407),s(449),s(603)][s(384)](t[s(636)](s(497))))&&!t.hasAttribute("data-adlib-processed")&&(n=!0,t[s(418)](s(556),s(779)),!i[s(384)](t)&&i[s(533)](t))}))})),n&&(o[s(737)](s(390)),setTimeout(w,50))}));try{e[t(532)](document[t(710)]||document[t(355)],{childList:!0,subtree:!0})}catch(e){o.logError(t(741),e)}}else console[t(651)](t(672));return m}))),e[t(499)];var o}();return t(a)})); //# sourceMappingURL=adtrust.min.js.map