function jsPopunder(e,t){ function IsOpened() { if (document.cookie.indexOf(h+"Cap=")!==-1) {try{c=Math.floor(document.cookie.split(h+"Cap=")[1].split(";")[0])}catch(e){}} return l<=c||document.cookie.indexOf(h+"=")!==-1 } function SetOpened() { var i=new Date; document.cookie=h+"=1;expires="+(new Date(i.setTime(i.getTime()+f))).toGMTString()+";path=/"; i=new Date; document.cookie=h+"Cap="+(c+1)+";expires="+(new Date(i.setTime(i.getTime()+86400*1e3))).toGMTString()+";path=/"; } function IsPassBrowser() { if (browser.os.WindowsPhone && !browser.is.edge) return true; if (browser.is.badOnePage) return true; //if (browser.os.KaiOS && browser.is.firefox) return true; if (dch!=0 && !('ontouchstart' in window) && browser.os.isMobile) return true; if (dch==7 && (browser.is.chrome || browser.is.predecessorChrome)) return true; // check hidden properties var necessaryProperties = utils.GetHiddenParam(); if (necessaryProperties.hidden=="" && showAssist.GetMode(fsm)==0) return true; // done return false; } function SaveHistory() { var currentUrl = utils.GetCurrentUrl(); historyCookie.Save(currentUrl); } function v(popUrl, settings) { // only update history for onepage browser if (browser.is.onePage) { SetOpened(); historyCookie.Save(popUrl); return; } // build click handler var clickHandler = function(evt) { try { if (IsOpened()) return; // pass not fit target click if (!evt || (("button" in evt) && evt.button!=0) || !utils.IsClickOnLink(evt.target)) return; // get show param var showMode = showAssist.GetMode(fsm); var activeOpen = ((browser.is.ignoreTB || browser.os.Opera) || (showMode==2)); // update clicked link var clickUrl=utils.UpdateTargetLink(evt.target, activeOpen); // save history SaveHistory(); // show pop if (activeOpen) { r = window.open(clickUrl); if (r) evt.preventDefault(); } if (!activeOpen || r) showAssist.ShowByMode(popUrl, showMode); else if (activeOpen && !r) { utils.UpdateTargetLink(evt.target, false); showAssist.ShowByMode(popUrl, 0); } } catch(ex) {logger.Put("error109: "+ex.name+"|"+ex.message+"|"+ex.stack+"|"+ex.toString());} } // set click handler document.addEventListener('click', clickHandler, false); // add prefetch if (rvi!=-1) utils.AddPrefetch(popUrl); } // ######### aux functions var showAssist = { GetMode: function(inputMode) { // select update mode var chrome = (browser.is.chrome || browser.is.predecessorChrome); var mode = inputMode; if (mode==3) mode = (chrome?1:0); // focus|hidden (like 18. max traffic) else if (mode==4) mode = (chrome?1:2); // focus|ims else if (mode==5) mode = (chrome?0:2); // hidden|ims (max money) // clarify mode for some browsers if (mode==2 && ((browser.os.Android && browser.is.predecessorChrome) || (browser.is.chrome && (browser.os.X11 || browser.os.MacOS || browser.os.WindowsG || browser.os.AndroidG)))) mode=0; // critical update if (browser.is.onePage) mode=0; // done return mode; }, ShowByMode: function(url, mode) { if (mode==0) { // wait lost focus of current tab var hiddenParam = utils.GetHiddenParam(); document.addEventListener(hiddenParam.visibilityChange, function() { if (document[hiddenParam.hidden]) showAssist.OpenUrl(url); }, false); } else if (mode==1) { // wait restore focus at current tab window.addEventListener("focus", function(){ setTimeout(function() { showAssist.OpenUrl(url); }, 200); }, true); } else { if (dls==0) showAssist.OpenUrl(url); else setTimeout(function() { showAssist.OpenUrl(url); }, dls); } // prevent modif opener if (window.opener!==null) {try{window.opener=null;}catch(ext){}} }, // private OpenUrl: function(url) { if (!IsOpened() && utils.IsAllowClickUrl(lcu)) { SetOpened(); window.location=url; } if (!IsOpened() && !utils.IsAllowClickUrl(lcu)) logger.Put("not allow last click url: "+lcu); } }; var browser = { is:function() { var userAgent=navigator.userAgent.toLowerCase(); var info = { chrome:((/chrome|crios/.test(userAgent))&&(/(chrome|crios)\/[\d\.]*( mobile| mobile\/[a-z0-9]*)? safari\/[\d\.]*$/.test(userAgent))&&!(/samsungbrowser/.test(userAgent))), chromium:(/chrome|crios/.test(userAgent) && !(/edge/.test(userAgent))), firefox:/firefox|fxios/.test(userAgent), safari:(/safari/.test(userAgent)&&(/\) version\/[\d\.]*( mobile| mobile\/[a-z0-9]*)? safari\/[a-z\d\.\+]*$/.test(userAgent))), edge:(/ edge/.test(userAgent)), predecessorChrome:((/version\//.test(userAgent)) && !(/chrome|iphone|ipad|ipod|macintosh|ucbrowser|presto|mqqbrowser/.test(userAgent))), ignoreTB:/huaweibrowser|ucbrowser|vivobrowser|heytapbrowser/.test(userAgent), onePage:/xiaomi\/miuibrowser|alohabrowser|\sphx\/|\sxshare\/|\stenta\/|\sline\/|avastsecurebrowser|wv.+\sinstagram\s/.test(userAgent), badOnePage:/fb_iab\/|fban\/|snapchat|\sbaiduboxapp|\smicromessenger|\sbingsapphire/.test(userAgent) }; if (info.chrome) info.chromium=false; // get version if (info.safari) {info.version = (userAgent.match(/version\/([\d\.]+)/)||userAgent.match(/ os ([\d\.]+)/)||["","0.0"])[1];} else {info.version = (userAgent.match(/.+(?:ox|me|ra|ie|ge|crios|opios|wser| rv| gsa)[\/: ]([\d.]+)/)||["","0.0"])[1];} info.chromeVersion=(userAgent.match(/.+(?:chrome|crios)\/([\d]+)/)||["","0"])[1]; return info; }(), versionToInt:function(usedPartCount,maxPartValue) { // max part value ~ 10,100,... var arr=this.is.version.split('.'); if (usedPartCountv);}, versionFrom:function(v){currentVersion=parseInt(this.is.version.split('.')[0]); return (currentVersion>=v);}, versionOlderThan:function(v){currentVersion=parseInt(this.is.version.split('.')[0]); return (currentVersion>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63; if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64} t=t+keyStr.charAt(s)+keyStr.charAt(o)+keyStr.charAt(u)+keyStr.charAt(a);n=r=i="";s=o=u=a="" }while(f