vendor: 5,718 bytes, lines 1-12
1(()=>{function h(e){return e.indexOf("smartbanner:")!==-1&&e.split(":")[1].length>0}function b(e){let t=e.split("-");return t.map(function(n,i){i>0&&(t[i]=n.charAt(0).toUpperCase()+n.substring(1))}),t.join("")}var m=class{parse(){let e=document.getElementsByTagName("meta"),t={};return Array.apply(null,e).forEach(function(n){let i=null,r=n.getAttribute("name"),a=n.getAttribute("content");r&&a&&h(r)&&a.length>0&&(i=r.split(":")[1],i.indexOf("-")!==-1&&(i=b(i)),t[i]=a)}),t}},o=class d{static platform(){let t=window.navigator.maxTouchPoints,n=window.navigator.userAgent;if(/Android/i.test(n))return"android";if(!window.MSStream&&!/X11|Linux|Windows/i.test(n)&&t&&t>0||/iPhone|iPad|iPod/i.test(n))return"ios"}static userAgentMatchesRegex(t){return new RegExp(t).test(window.navigator.userAgent)}static jQueryMobilePage(){return typeof window.$<"u"&&typeof window.$.mobile<"u"&&document.querySelector(".ui-page")!==null}static wrapperElement(){let t=d.jQueryMobilePage()?".ui-page":"html";return document.querySelectorAll(t)}},p=class g{static getCookieExpiresString(t){let n=new Date;return`expires=${new Date(n.getTime()+t).toGMTString()};`}static bake(t,n){document.cookie=`smartbanner_exited=1; ${t?g.getCookieExpiresString(t):""} path=${n}`}static unbake(){document.cookie="smartbanner_exited=; expires=Thu, 01 Jan 1970 00:00:01 GMT;"}static get baked(){return document.cookie.replace(/(?:(?:^|.*;\s*)smartbanner_exited\s*=\s*([^;]*).*$)|^.*$/,"$1")==="1"}},f="android,ios",v="Close",_="View",s={originalTop:"data-smartbanner-original-top",originalMarginTop:"data-smartbanner-original-margin-top"};function w(e,t){t.exit(),e.preventDefault()}function x(e,t){t.clickout()}function u(e){this.positioningDisabled||c(e.data.height)}function A(e){document.querySelector(".js_smartbanner__exit").addEventListener("click",i=>w(i,e)),document.querySelector(".js_smartbanner__button").addEventListener("click",i=>x(i,e)),o.jQueryMobilePage()&&$(document).on("pagebeforeshow",e,u)}function E(){o.jQueryMobilePage()&&$(document).off("pagebeforeshow",u)}function c(e){let t=o.wrapperElement();for(let n=0,i=t.length,r;n<i;n++)if(r=t[n],o.jQueryMobilePage()){if(r.getAttribute(s.originalTop))continue;let a=parseFloat(getComputedStyle(r).top);r.setAttribute(s.originalTop,isNaN(a)?0:a),r.style.top=e+"px"}else{if(r.getAttribute(s.originalMarginTop))continue;let a=parseFloat(getComputedStyle(r).marginTop);r.setAttribute(s.originalMarginTop,isNaN(a)?0:a),r.style.marginTop=e+"px"}}function T(){let e=o.wrapperElement();for(let t=0,n=e.length,i;t<n;t++)i=e[t],o.jQueryMobilePage()&&i.getAttribute(s.originalTop)?i.style.top=i.getAttribute(s.originalTop)+"px":i.getAttribute(s.originalMarginTop)&&(i.style.marginTop=i.getAttribute(s.originalMarginTop)+"px")}var y=class{constructor(){let e=new m;this.options=e.parse(),this.platform=o.platform();let t=new Event("smartbanner.init");document.dispatchEvent(t)}get originalTop(){let e=o.wrapperElement()[0];return parseFloat(e.getAttribute(s.originalTop))}get originalTopMargin(){let e=o.wrapperElement()[0];return parseFloat(e.getAttribute(s.originalMarginTop))}get priceSuffix(){return this.platform==="ios"&&this.options.priceSuffixApple?this.options.priceSuffixApple:this.platform==="android"&&this.options.priceSuffixGoogle?this.options.priceSuffixGoogle:""}get price(){return this.options.price&&this.options.price!==""?this.options.price:""}get icon(){return this.platform==="android"?this.options.iconGoogle:this.options.iconApple}get buttonUrl(){return this.platform==="android"?this.options.buttonUrlGoogle:this.platform==="ios"?this.options.buttonUrlApple:"#"}get closeLabel(){return this.options.closeLabel!==void 0?this.options.closeLabel:v}get buttonLabel(){let e=this.options.button;return this.platform==="android"&&this.options.buttonGoogle?e=this.options.buttonGoogle:this.platform==="ios"&&this.options.buttonApple&&(e=this.options.buttonApple),e||_}get html(){return`<div class="smartbanner smartbanner--${this.options.customDesignModifier?this.options.customDesignModifier:this.platform} js_smartbanner"> 2 <a href="#" class="smartbanner__exit js_smartbanner__exit" title="${this.closeLabel}" rel="nofollow"></a> 3 <div class="smartbanner__icon" style="background-image: url(${this.icon});"></div> 4 <div class="smartbanner__info"> 5 <div> 6 <div class="smartbanner__info__title">${this.options.title}</div> 7 <div class="smartbanner__info__author">${this.options.author}</div> 8 <div class="smartbanner__info__price">${this.price}${this.priceSuffix}</div> 9 </div> 10 </div> 11 <a href="${this.buttonUrl}" target="_blank" class="smartbanner__button js_smartbanner__button" rel="noopener" aria-label="${this.buttonLabel}"><span class="smartbanner__button__label">${this.buttonLabel}</span></a> 12 </div>`}get height(){try{return document.querySelector(".js_smartbanner").offsetHeight}catch{return 0}}get platformEnabled(){let e=this.options.enabledPlatforms||f;return e&&e.replace(/\s+/g,"").split(",").indexOf(this.platform)!==-1}get positioningDisabled(){return this.options.disablePositioning==="true"}get apiEnabled(){return this.options.api==="true"||this.options.api==="yes"}get userAgentExcluded(){return this.options.excludeUserAgentRegex?o.userAgentMatchesRegex(this.options.excludeUserAgentRegex):!1}get userAgentIncluded(){return this.options.includeUserAgentRegex?o.userAgentMatchesRegex(this.options.includeUserAgentRegex):!1}get hideTtl(){return this.options.hideTtl?parseInt(this.options.hideTtl):!1}get hidePath(){return this.options.hidePath?this.options.hidePath:"/"}publish(){if(Object.keys(this.options).length===0)throw new Error("No options detected. Please consult documentation.");
12if(p.baked||this.userAgentExcluded||!(this.platformEnabled||this.userAgentIncluded))return!1;let e=document.createElement("div");document.querySelector("body").prepend(e),e.outerHTML=this.html;let t=new Event("smartbanner.view");document.dispatchEvent(t),this.positioningDisabled||c(this.height),A(this)}exit(){E(),this.positioningDisabled||T();let e=document.querySelector(".js_smartbanner");document.querySelector("body").removeChild(e);let t=new Event("smartbanner.exit");document.dispatchEvent(t),p.bake(this.hideTtl,this.hidePath)}clickout(){let e=new Event("smartbanner.clickout");document.dispatchEvent(e)}},l;window.addEventListener("load",function(){l=new y,l.apiEnabled?window.smartbanner=l:l.publish()})})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.