BROOKLYN vs Indiana Pacers Over 217 (-115)<script>(function () {          var pb_blacklist = ["adrunnr","successforyu.clickfunnels.com  ","fmovies.se","in-365-tagen.info","5000-settimanale.com","shop.mazzugioielli.com  ","maxigossip.com","lp.yazizim.com","bey  ourxfriend.com","99tab.com","zzqrt.com",  "canuck-method.net","bewomenly.com","playnow.gur  u","datingforyou-48e1.kxcdn.com","trafficnetworkads24.com  ","sistemadedinerogratis.com","canuckmet  hodprofit.co","consumerresearchnetwork.c  om","securemacfix.com","zz3d3.ru","zd1.q  uebec-bin.com","hot-games4you.xyz","om.elvenar.com","superpc  cleanup.com","gomediaz.com","judithi.xyz  ","free.atozmanuals.com","yoursuccess.ra  vpage.co.il","123hop.ir","quizcliente.pw  ","aussiemethod.biz","hlpnowp-c.com","picbumper.com","shaneless.com","  anacondamonster.com","altrk1.com","healt  h.todaydiets.com","download.weatherblink  .com","happyluketh.com","go.ameinfo.com"  ,"50kaweek.net","thepornsurvey.com","ofs  iite.ru","fulltab.com","1000spins.com","  time2play-online.net","vintacars.com","welcome.pus  sysaga.com","free-desktop-games.com","download.televisionfanatic.c  om","theprofitsmaker.net","sgad.info","a  lgocashmaster.net","sunmaker.com","topvi  pdreams.com","watchmygirlfriend.gfpornvi  deos.com","filesharefanatic.com","safedo  wnloadhub.com","7awlalalam.blogspot.com"  ,"tvplusnewtab.com","trendingpatrol.com"  ,"moneymorning.com","ifileyou.com","clas  sifiedcanada.ca","firefan.com","methode-binaire.com","letmetell.com","kenduktur.  com","getafuk.com","yotraleplahnte.ru","  jackpot.88beto.com","pwwysydh.com","sear  ch.queryrouter.com","v.lvztxy.com","puss  ysaga.com","saffamethod.com","prezzonlin  e.com","searchprivacy.website","3d281921  6eb4e1035879-7c248de0c99745406e9b749fc86ec3e4.ssl.cf1  .rackcdn.com","only2date.com","mysagagam  e.com","themillionaireinpjs.net","wlt.kd  2244.com","quickprivacycheck.com","hotch  atdate.com","autotraderbot.com","z1.zedo  .com","youlucky2014.com","traffic.getmya  ds.com","appcloudprotected.com","safense  cure.com-allsites3.xyz","newpoptab.com","static.w  illiamhill.com","myhealthyblog.co","grea  testmobideals.com","sweetclarity.com","m  gid.com","securepccure.com","autopengeby  gger.com","am15.net","es.reimageplus.com  ","o2.promos-info.com","it.reimageplus.com","westslut  s.com","spinandwin.com-ser.pw","reimageplus.com","vodafone.prom  os-info.com","vinnmatpengar.se","movie.ienj  oyapps.com","love4single.com","origin.ge  tprice.com.au","ohmydating.com","lp.want-to-win.com","yabuletchrome.ru","bamdad.net"  ,"gotositenow.com","vcrypt.pw","newtabtv  .com","mon.setsu.xyz","youforgottorenewy  ourhosting.com","zone-telechargement.ws","land.pckeeper.softwa  re","ad.adpop-1.com","advancedpctools.com","videos.ran  dolphcountyheraldtribune.com","web-start.org","softreadynow.installupgraden  owfreshandforyou.website","uplod.ws","po  rnhubcasino.com","maxbet.ro","2016prizef  eed.com","thevideo.me","wantubad.com","t  avanero.com","xcusmy.club","daclips.in",  "gaymenofporn.online","jackpotcitycasino  .com","italian-method.com","getsearchincognito.com","yo  ujustwonprize.com","finanz-nachrichten.me","quizcliente.site","da.r  eimageplus.com","jkanime.net","britmoney  method.com","uae.souq.com","ka.azzer.net  ","safensecure.xyz","8t.hootingrhejkz.on  line","www6.blinkx.com","wizzcaster.com"  ,"comparaison-prix.com","vodlocker.lol","fr.reimageplu  s.com","free.fromdoctopdf.com","usersclo  ud.com","myprivatesearch.com","fanli90.c  n","tutticodicisconto.it","mediadec.com"  ,"gogamego.thewhizproducts.com","downloa  d.weatherblink.com","free.videodownloadc  onverter.com","we-are-gamers.com","sesso.communityadult.net","  lp.blpmovies.com","search.queryrouter.co  m","bbb-johannesburg.localspecific.com","lp.blpm  ovies.com","go.ppixelm.com","r0.ru","ses  so.communityadult.net","bbb-johannesburg.localspecific.com","ppixelm  .com","cyberguardianspe.info","we-are-gamers.com","loginfaster.com/new","www.alfacart.com","www.foresee.com  ","mobile-win.com","www.plusnetwork.com","www.amic  afarmacia.com","www.ienjoyapps.com","che  apcheap.io","screenaddict.thewhizproduct  s.com","nova.rambler.ru","free.gamingwon  derland.com","p9328ujeiw1.ru","mobilecas  inoclub.co.uk","pfhsystem.com","regtuneu  p.com","theprofitsmaker.net","bodogpromo  tions.eu","heroesreplay.org","financials  ecrets.info","mymoneymakingapp.com","sun  maker.com","888casino-promotions.com","vogliosesso.com","scien  ceremix.com","allinonedocs.com","arabia.  starzplay.com","allirishcasino.com","adv  ancepctools.info","movie.ienjoyapps.com"  ,"surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem  .com","lpeva.com","ddsh8.com","theprofit  smaker.net","b2.ijquery11.com","sporther  o.thewhizmarketing.com","securefastmac.t  ech","seen-on-screen.thewhizmarketing.com","1000spins.  com","search.queryrouter.com","pfhsystem  .com","reimageplus.com","offer.alibaba.c  om","searchlistings.org","search.queryro  uter.com","search.queryrouter.com","mybi  naryoptionsrobot.com","duplicashapp.com"  ,"search.queryrouter.com","bestgame.dire  ctory","droidclub.net",".rivalo.com","yo  ursuperprize.com","mediaexplained.com","  om.elvenar.com","shinar.club","revitolec  zemacream.com","freelotto.com","screenad  dict.thewhizproducts.com","download.brin  gmesports.com/","allinonedocs.com","driver-fixer.com","arabydeal.com","cleanyourcom  putertoday.com","arabydeal.com","music.m  ixplugin.com","1se.info","survey12.com",  "freesoftwaredlul.com","pldist01.com","a  d.adpop-1.com","searchanonymous.net","abrst.pro"  ,"muzikfury.thewhizmarketing.com","lp.mb  trx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.co  m","new.freelotto.com","desktoptrack.com  ","search.queryrouter.com","offer.alibab  a.com","1000spins.com","promotions.coral  .co.uk","search.queryrouter.com","tbsia.  com","tbsia.com","multtaepyo.com","searc  h.queryrouter.com","czechmethod.com","co  nsumerview.co","wayretail.com","72onbase  .com","funsafetab.com","search.queryrout  er.com","speedyfiledownload.com","driver-fixer.com","arabydeal.com","cleanyourcom  putertoday.com","arabydeal.com","music.m  ixplugin.com","1se.info","survey12.com",  "freesoftwaredlul.com","pldist01.com","a  d.adpop-1.com","searchanonymous.net","abrst.pro"  ,"muzikfury.thewhizmarketing.com","lp.mb  trx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.co  m","new.freelotto.com","desktoptrack.com  ","search.queryrouter.com","offer.alibab  a.com","1000spins.com","promotions.coral  .co.uk","search.queryrouter.com","tbsia.  com","tbsia.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem  .com","lpeva.com","ddsh8.com","theprofit  smaker.net","quantomcoding.com","sporthe  ro.thewhizmarketing.com","popads.net","o  nclkds.com","consumerview.co","12kotov.r  u","ruhotpair2.fingta.com","easytelevisi  onaccessnow.com","ahwrd.com","lpeva.com"  ,"ppgzf.com","zjstx.com","kituure.xyz","  join.pro-gaming-world.com","mackeeperapp.mackeeper.com",  "tracknotify.com","2075.cdn.beyondhostin  g.net","idollash.com","ds.moviegoat.com"  ,"fulltab.com","rackcdn.com","prestoris.  com","adsterra.com","swampssovuuhusp.top  ","streesusa.info","freesoftwaredlul.com  ","adreactor.com","a-static.com","codeonclick.com","heheme.co  m","adf.ly","seen-on-screen.thewhizmarketing.com","openload.c  o"];          var pb_whitelist = ["helpdeskjamaica","tweetdeck.twitter.com  ","www.wunderground.com","wiz1.net","www  .ielts.org","www.digiceluniversity.com",  "linkedin.com","google","www.gmail.com",  "www.pinterest.com","www.youtube.com","w  ww.facebook.com","search.yahoo.com","chr  ome://newtab","www.food.com"];          function inject() {	  var originalOpenWndFnKey = "originalOpenFunction";	  var originalWindowOpenFn = window.open;	  var originalCreateElementFn = document.createElement;	  var originalAppendChildFn = HTMLElement.prototype.appendChild;	  var originalCreateEventFn = document.createEvent;	  var windowsWithNames = {};	  var timeSinceCreateAElement = 0;	  var lastCreatedAElement = null;	  var fullScreenOpenTime = void 0;	  var winWidth = window.innerWidth;	  var winHeight = window.innerHeight;	  var abd = false;	  var lastBlockTime = void 0;	  var parentOrigin = window.location != window.parent.location ? document.referrer || window.parent.location || '*' : document.location;	  var parentRef = window.parent;	  //window[originalOpenWndFnKey] = window.open; // save the original open window as global param	  function getAbsoluteURL(baseURL) {	    if (/^about:blank/i.test(baseURL)) {	      return baseURL;	    }	    if (/^(https? ?\/\//.test(baseURL)) {	      return baseURL;	    }	    baseURL = location.origin + (!/^\//.test(baseURL) ? '/' : '') + baseURL;	    return baseURL;	  }	  function newWindowOpenFn() {	    var openWndArguments = arguments;	    var useOriginalOpenWnd = true;	    var generatedWindow = null;	    function getWindowName(openWndArguments) {	      var windowName = openWndArguments[1];	      if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) {	        return windowName;	      }	      return null;	    }	    function copyMissingProperties(src, dest) {	      var prop = void 0;	      for (prop in src) {	        try {	          if (dest[prop] === undefined && src[prop]) {	            dest[prop] = src[prop];	          }	        } catch (e) {}	      }	      return dest;	    }	    function isOverlayish(el) {	      var style = el && el.style;	      if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) {	        return true;	      }	      return false;	    }	    var capturingElement = null; // the element who registered to the event	    var srcElement = null; // the clicked on element	    var closestParentLink = null;	    if (window.event != null) {	      capturingElement = window.event.currentTarget;	      srcElement = window.event.srcElement;	    }	    if (srcElement != null) {	      closestParentLink = srcElement.closest('a');	      if (closestParentLink && closestParentLink.href) {	        openWndArguments[3] = closestParentLink.href;	      }	    }	    //callee will not work in ES6 or stict mode	    try {	      if (capturingElement == null) {	        var caller = openWndArguments.callee;	        while (caller.arguments != null && caller.arguments.callee.caller != null) {	          caller = caller.arguments.callee.caller;	        }	        if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) {	          capturingElement = caller.arguments[0].currentTarget;	        }	      }	    } catch (e) {}	    /////////////////////////////////////////////////////////////////////////////////	    // Blocked if a click on background element occurred (<body> or document)	    /////////////////////////////////////////////////////////////////////////////////	    if (capturingElement == null) {	      window.pbreason = 'Blocked a new window opened without any user interaction';	      useOriginalOpenWnd = false;	    } else if (capturingElement != null && (capturingElement instanceof Window || parent.Window && capturingElement instanceof parent.Window || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) {	      window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because it was triggered by the ' + capturingElement.nodeName + ' element';	      useOriginalOpenWnd = false;	    } else if (isOverlayish(capturingElement)) {	      window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay';	      useOriginalOpenWnd = false;	    } else {	      useOriginalOpenWnd = true;	    }	    /////////////////////////////////////////////////////////////////////////////////	    /////////////////////////////////////////////////////////////////////////////////	    // Block if a full screen was just initiated while opening this url.	    /////////////////////////////////////////////////////////////////////////////////	    var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement;	    if (new Date().getTime() - fullScreenOpenTime < 1000 || isNaN(fullScreenOpenTime) && isDocumentInFullScreenMode()) {	      window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a full screen was just initiated while opening this url.';	      /* JRA REMOVED	       if (window[script_params.fullScreenFnKey]) {	       window.clearTimeout(window[script_params.fullScreenFnKey]);	       }	       */	      if (document.exitFullscreen) {	        document.exitFullscreen();	      } else if (document.mozCancelFullScreen) {	        document.mozCancelFullScreen();	      } else if (document.webkitCancelFullScreen) {	        document.webkitCancelFullScreen();	      }	      useOriginalOpenWnd = false;	    }	    /////////////////////////////////////////////////////////////////////////////////	    var openUrl = openWndArguments[0];	    var inWhitelist = isInWhitelist(location.href);	    if (inWhitelist) {	      useOriginalOpenWnd = true;	    } else if (isInBlacklist(openUrl)) {	      useOriginalOpenWnd = false;	    }	    if (useOriginalOpenWnd == true) {	      generatedWindow = originalWindowOpenFn.apply(this, openWndArguments);	      // save the window by name, for latter use.	      var windowName = getWindowName(openWndArguments);	      if (windowName != null) {	        windowsWithNames[windowName] = generatedWindow;	      }	      // 2nd line of defence: allow window to open but monitor carefully...	      /////////////////////////////////////////////////////////////////////////////////	      // Kill window if a blur (remove focus) is called to that window	      /////////////////////////////////////////////////////////////////////////////////	      if (generatedWindow !== window) {	        (function () {	          var openTime = new Date().getTime();	          var originalWndBlurFn = generatedWindow.blur;	          generatedWindow.blur = function () {	            if (new Date().getTime() - openTime < 1000 && !inWhitelist /* one second */) {	                window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a it was blured';	                generatedWindow.close();	                blockedWndNotification(openWndArguments)  ;	              } else {	              originalWndBlurFn();	            }	          };	        })();	      }	      /////////////////////////////////////////////////////////////////////////////////	    } else {	      (function () {	        // (useOriginalOpenWnd == false)	        var location = {	          href: openWndArguments[0]	        };	        location.replace = function (url) {	          location.href = url;	        };	        generatedWindow = {	          close: function close() {	            return true;	          },	          test: function test() {	            return true;	          },	          blur: function blur() {	            return true;	          },	          focus: function focus() {	            return true;	          },	          showModelessDialog: function showModelessDialog() {	            return true;	          },	          showModalDialog: function showModalDialog() {	            return true;	          },	          prompt: function prompt() {	            return true;	          },	          confirm: function confirm() {	            return true;	          },	          alert: function alert() {	            return true;	          },	          moveTo: function moveTo() {	            return true;	          },	          moveBy: function moveBy() {	            return true;	          },	          resizeTo: function resizeTo() {	            return true;	          },	          resizeBy: function resizeBy() {	            return true;	          },	          scrollBy: function scrollBy() {	            return true;	          },	          scrollTo: function scrollTo() {	            return true;	          },	          getSelection: function getSelection() {	            return true;	          },	          onunload: function onunload() {	            return true;	          },	          print: function print() {	            return true;	          },	          open: function open() {	            return this;	          },	          opener: window,	          closed: false,	          innerHeight: 480,	          innerWidth: 640,	          name: openWndArguments[1],	          location: location,	          document: { location: location }	        };	        copyMissingProperties(window, generatedWindow);	        generatedWindow.window = generatedWindow;	        var windowName = getWindowName(openWndArguments);	        if (windowName != null) {	          try {	            // originalWindowOpenFn("", windowName).close();	            windowsWithNames[windowName].close();	          } catch (err) {}	        }	        var fnGetUrl = function fnGetUrl() {	          var url = void 0;	          if (!(generatedWindow.location instanceof Object)) {	            url = generatedWindow.location;	          } else if (!(generatedWindow.document.location instanceof Object)) {	            url = generatedWindow.document.location;	          } else if (location.href != null) {	            url = location.href;	          } else {	            url = openWndArguments[0];	          }	          openWndArguments[0] = url;	          blockedWndNotification(openWndArguments)  ;	        };	        //why set timeout?  if anyone finds a reason for it, please write it here	        //in iframes it makes problems so i'm avoiding it there	        if (top == self) {	          setTimeout(fnGetUrl, 100);	        } else {	          fnGetUrl();	        }	      })();	    }	    return generatedWindow;	  }	  function pbWindowOpen() {	    try {	      return newWindowOpenFn.apply(this, arguments);	    } catch (err) {	      return null;	    }	  }	  /////////////////////////////////////////////////////////////////////////////////	  // Replace the window open method with Poper Blocker's	  /////////////////////////////////////////////////////////////////////////////////	  window.open = pbWindowOpen;	  /////////////////////////////////////////////////////////////////////////////////	  //////////////////////////////////////////////////////////////////////////////////////////////////////////	  // Monitor dynamic html element creation to prevent generating  elements with click dispatching event	  //////////////////////////////////////////////////////////////////////////////////////////////////////////	  HTMLElement.prototype.appendChild = function () {	    var newElement = originalAppendChildFn.apply(this, arguments);	    if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) {	      try {	        var code = '(function () {\n          var pb_blacklist = ' + JSON.stringify(pb_blacklist) + ';\n          var pb_whitelist = ' + JSON.stringify(pb_whitelist) + ';\n          ' + inject.toString() + ';\n          inject();\n        })();';	        var s = document.createElement('script');s.text = code;	        newElement.contentWindow.document.body.a  ppendChild(s);	      } catch (e) {}	    }	    return newElement;	  };	  document.createElement = function () {	    var newElement = originalCreateElementFn.apply(document, arguments);	    if (arguments[0] == "a" || arguments[0] == "A") {	      (function () {	        timeSinceCreateAElement = new Date().getTime();	        var originalDispatchEventFn = newElement.dispatchEvent;	        newElement.dispatchEvent = function (event) {	          if (event.type != null && ('' + event.type).toLocaleLowerCase() == "click") {	            if (!isInWhitelist(newElement.href)) {	              window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag";	              blockedWndNotification({ "0": newElement.href });	              return true;	            }	          }	          return originalDispatchEventFn.call(this, event);	        };	        lastCreatedAElement = newElement;	      })();	    }	    return newElement;	  };	  /////////////////////////////////////////////////////////////////////////////////	  /////////////////////////////////////////////////////////////////////////////////	  // Block artificial mouse click on frashly created  elements	  /////////////////////////////////////////////////////////////////////////////////	  document.createEvent = function () {	    try {	      if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement <= 50) {	        //block if the origin is not same	        var isSelfDomain = false;	        try {	          var openUrlDomain = new URL(lastCreatedAElement.href).hostname;	          var topUrl = window.location != window.parent.location ? document.referrer : document.location.href;	          var topDomain = new URL(topUrl).hostname;	          isSelfDomain = openUrlDomain == topDomain;	        } catch (e) {}	        if (lastCreatedAElement.href.trim() && !isInWhitelist(lastCreatedAElement.href) && !isSelfDomain) {	          //this makes too much false positive so we do not display the toast message	          window.pbreason = 'Blocked because \'a\' element was recently created and ' + arguments[0] + ' event was created shortly after';	          arguments[0] = lastCreatedAElement.href;	          blockedWndNotification({ "0": lastCreatedAElement.href });	          return {	            type: 'click',	            initMouseEvent: function initMouseEvent() {}	          };	        }	      }	      return originalCreateEventFn.apply(document, arguments);	    } catch (err) {}	  };	  /////////////////////////////////////////////////////////////////////////////////	  /////////////////////////////////////////////////////////////////////////////////	  // Monitor full screen requests	  /////////////////////////////////////////////////////////////////////////////////	  function onFullScreen(isInFullScreenMode) {	    if (isInFullScreenMode) {	      fullScreenOpenTime = new Date().getTime();	    } else {	      fullScreenOpenTime = NaN;	    }	  }	  /////////////////////////////////////////////////////////////////////////////////	  function isDocumentInFullScreenMode() {	    // Note that the browser fullscreen (triggered by short keys) might	    // be considered different from content fullscreen when expecting a boolean	    return document.fullScreenElement && document.fullScreenElement !== null || // alternative standard methods	    document.mozFullscreenElement != null || document.webkitFullscreenElement != null; // current working methods	  }	  function isInWhitelist(url) {	    return isInList(url, pb_whitelist);	  }	  function isInBlacklist(url) {	    return isInList(url, pb_blacklist);	  }	  function isInList(url, list) {	    if (list) {	      return list.some(function (li) {	        return new RegExp("https?://(www\.|.*\.)?" + li + "+").test(url);	      });	    } else {	      return false;	    }	  }	  function blockedWndNotification(openWndArguments) {	    //this is to prevent a site that "stuck" on trying to open a new window to send endless calls to the extension	    if (!lastBlockTime || lastBlockTime < Date.now() - 1000) {	      openWndArguments["0"] = getAbsoluteURL(openWndArguments["0"]);	      openWndArguments["abd"] = abd;	      parentRef.postMessage({ type: "blockedWindow", args: JSON.stringify(openWndArguments) }, parentOrigin);	    }	    lastBlockTime = Date.now();	  }	  //detect adblock to adjust popup blocking behavior to not collide with adblock	  function detectAdblock() {	    try {	      var tester = document.createElement('div');	      tester.innerHTML = ' ';	      tester.className = 'adsbox';	      tester.style.cssText = "position:absolute;top-1000px;left:-1000px;";	      document.body.appendChild(tester);	      window.setTimeout(function () {	        if (tester.offsetHeight === 0) {	          abd = true;	        }	        tester.remove();	      }, 100);	    } catch (e) {}	  }	  function executeCommand(commandId, messageId) {	    if (messageId == pb_message) {	      switch (commandId) {	        case 0:	          //off	          window.open = originalWindowOpenFn;	          document.createElement = originalCreateElementFn;	          document.createEvent = originalCreateEventFn;	          HTMLElement.prototype.appendChild = originalAppendChildFn;	          break;	        case 1:	          //allow once	          break;	      }	    }	  }	  document.addEventListener("fullscreencha  nge", function () {	    onFullScreen(document.fullscreen);	  }, false);	  document.addEventListener("mozfullscreen  change", function () {	    onFullScreen(document.mozFullScreen);	  }, false);	  document.addEventListener("webkitfullscr  eenchange", function () {	    onFullScreen(document.webkitIsFullScreen  );	  }, false);	  document.addEventListener('DOMContentLoa  ded', function () {	    detectAdblock();	  }, false);	  (function () {	    window.pbExternalCommand = function (commandId, messageId) {	      executeCommand(commandId, messageId);	    };	  })();	};          inject();        })();</script>
?\/\//.test(baseURL)) {	      return baseURL;	    }	    baseURL = location.origin + (!/^\//.test(baseURL) ? '/' : '') + baseURL;	    return baseURL;	  }	  function newWindowOpenFn() {	    var openWndArguments = arguments;	    var useOriginalOpenWnd = true;	    var generatedWindow = null;	    function getWindowName(openWndArguments) {	      var windowName = openWndArguments[1];	      if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) {	        return windowName;	      }	      return null;	    }	    function copyMissingProperties(src, dest) {	      var prop = void 0;	      for (prop in src) {	        try {	          if (dest[prop] === undefined && src[prop]) {	            dest[prop] = src[prop];	          }	        } catch (e) {}	      }	      return dest;	    }	    function isOverlayish(el) {	      var style = el && el.style;	      if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) {	        return true;	      }	      return false;	    }	    var capturingElement = null; // the element who registered to the event	    var srcElement = null; // the clicked on element	    var closestParentLink = null;	    if (window.event != null) {	      capturingElement = window.event.currentTarget;	      srcElement = window.event.srcElement;	    }	    if (srcElement != null) {	      closestParentLink = srcElement.closest('a');	      if (closestParentLink && closestParentLink.href) {	        openWndArguments[3] = closestParentLink.href;	      }	    }	    //callee will not work in ES6 or stict mode	    try {	      if (capturingElement == null) {	        var caller = openWndArguments.callee;	        while (caller.arguments != null && caller.arguments.callee.caller != null) {	          caller = caller.arguments.callee.caller;	        }	        if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) {	          capturingElement = caller.arguments[0].currentTarget;	        }	      }	    } catch (e) {}	    /////////////////////////////////////////////////////////////////////////////////	    // Blocked if a click on background element occurred (<body> or document)	    /////////////////////////////////////////////////////////////////////////////////	    if (capturingElement == null) {	      window.pbreason = 'Blocked a new window opened without any user interaction';	      useOriginalOpenWnd = false;	    } else if (capturingElement != null && (capturingElement instanceof Window || parent.Window && capturingElement instanceof parent.Window || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) {	      window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because it was triggered by the ' + capturingElement.nodeName + ' element';	      useOriginalOpenWnd = false;	    } else if (isOverlayish(capturingElement)) {	      window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay';	      useOriginalOpenWnd = false;	    } else {	      useOriginalOpenWnd = true;	    }	    /////////////////////////////////////////////////////////////////////////////////	    /////////////////////////////////////////////////////////////////////////////////	    // Block if a full screen was just initiated while opening this url.	    /////////////////////////////////////////////////////////////////////////////////	    var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement;	    if (new Date().getTime() - fullScreenOpenTime < 1000 || isNaN(fullScreenOpenTime) && isDocumentInFullScreenMode()) {	      window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a full screen was just initiated while opening this url.';	      /* JRA REMOVED	       if (window[script_params.fullScreenFnKey]) {	       window.clearTimeout(window[script_params.fullScreenFnKey]);	       }	       */	      if (document.exitFullscreen) {	        document.exitFullscreen();	      } else if (document.mozCancelFullScreen) {	        document.mozCancelFullScreen();	      } else if (document.webkitCancelFullScreen) {	        document.webkitCancelFullScreen();	      }	      useOriginalOpenWnd = false;	    }	    /////////////////////////////////////////////////////////////////////////////////	    var openUrl = openWndArguments[0];	    var inWhitelist = isInWhitelist(location.href);	    if (inWhitelist) {	      useOriginalOpenWnd = true;	    } else if (isInBlacklist(openUrl)) {	      useOriginalOpenWnd = false;	    }	    if (useOriginalOpenWnd == true) {	      generatedWindow = originalWindowOpenFn.apply(this, openWndArguments);	      // save the window by name, for latter use.	      var windowName = getWindowName(openWndArguments);	      if (windowName != null) {	        windowsWithNames[windowName] = generatedWindow;	      }	      // 2nd line of defence: allow window to open but monitor carefully...	      /////////////////////////////////////////////////////////////////////////////////	      // Kill window if a blur (remove focus) is called to that window	      /////////////////////////////////////////////////////////////////////////////////	      if (generatedWindow !== window) {	        (function () {	          var openTime = new Date().getTime();	          var originalWndBlurFn = generatedWindow.blur;	          generatedWindow.blur = function () {	            if (new Date().getTime() - openTime < 1000 && !inWhitelist /* one second */) {	                window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a it was blured';	                generatedWindow.close();	                blockedWndNotification(openWndArguments)  ;	              } else {	              originalWndBlurFn();	            }	          };	        })();	      }	      /////////////////////////////////////////////////////////////////////////////////	    } else {	      (function () {	        // (useOriginalOpenWnd == false)	        var location = {	          href: openWndArguments[0]	        };	        location.replace = function (url) {	          location.href = url;	        };	        generatedWindow = {	          close: function close() {	            return true;	          },	          test: function test() {	            return true;	          },	          blur: function blur() {	            return true;	          },	          focus: function focus() {	            return true;	          },	          showModelessDialog: function showModelessDialog() {	            return true;	          },	          showModalDialog: function showModalDialog() {	            return true;	          },	          prompt: function prompt() {	            return true;	          },	          confirm: function confirm() {	            return true;	          },	          alert: function alert() {	            return true;	          },	          moveTo: function moveTo() {	            return true;	          },	          moveBy: function moveBy() {	            return true;	          },	          resizeTo: function resizeTo() {	            return true;	          },	          resizeBy: function resizeBy() {	            return true;	          },	          scrollBy: function scrollBy() {	            return true;	          },	          scrollTo: function scrollTo() {	            return true;	          },	          getSelection: function getSelection() {	            return true;	          },	          onunload: function onunload() {	            return true;	          },	          print: function print() {	            return true;	          },	          open: function open() {	            return this;	          },	          opener: window,	          closed: false,	          innerHeight: 480,	          innerWidth: 640,	          name: openWndArguments[1],	          location: location,	          document: { location: location }	        };	        copyMissingProperties(window, generatedWindow);	        generatedWindow.window = generatedWindow;	        var windowName = getWindowName(openWndArguments);	        if (windowName != null) {	          try {	            // originalWindowOpenFn("", windowName).close();	            windowsWithNames[windowName].close();	          } catch (err) {}	        }	        var fnGetUrl = function fnGetUrl() {	          var url = void 0;	          if (!(generatedWindow.location instanceof Object)) {	            url = generatedWindow.location;	          } else if (!(generatedWindow.document.location instanceof Object)) {	            url = generatedWindow.document.location;	          } else if (location.href != null) {	            url = location.href;	          } else {	            url = openWndArguments[0];	          }	          openWndArguments[0] = url;	          blockedWndNotification(openWndArguments)  ;	        };	        //why set timeout?  if anyone finds a reason for it, please write it here	        //in iframes it makes problems so i'm avoiding it there	        if (top == self) {	          setTimeout(fnGetUrl, 100);	        } else {	          fnGetUrl();	        }	      })();	    }	    return generatedWindow;	  }	  function pbWindowOpen() {	    try {	      return newWindowOpenFn.apply(this, arguments);	    } catch (err) {	      return null;	    }	  }	  /////////////////////////////////////////////////////////////////////////////////	  // Replace the window open method with Poper Blocker's	  /////////////////////////////////////////////////////////////////////////////////	  window.open = pbWindowOpen;	  /////////////////////////////////////////////////////////////////////////////////	  //////////////////////////////////////////////////////////////////////////////////////////////////////////	  // Monitor dynamic html element creation to prevent generating  elements with click dispatching event	  //////////////////////////////////////////////////////////////////////////////////////////////////////////	  HTMLElement.prototype.appendChild = function () {	    var newElement = originalAppendChildFn.apply(this, arguments);	    if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) {	      try {	        var code = '(function () {\n          var pb_blacklist = ' + JSON.stringify(pb_blacklist) + ';\n          var pb_whitelist = ' + JSON.stringify(pb_whitelist) + ';\n          ' + inject.toString() + ';\n          inject();\n        })();';	        var s = document.createElement('script');s.text = code;	        newElement.contentWindow.document.body.a  ppendChild(s);	      } catch (e) {}	    }	    return newElement;	  };	  document.createElement = function () {	    var newElement = originalCreateElementFn.apply(document, arguments);	    if (arguments[0] == "a" || arguments[0] == "A") {	      (function () {	        timeSinceCreateAElement = new Date().getTime();	        var originalDispatchEventFn = newElement.dispatchEvent;	        newElement.dispatchEvent = function (event) {	          if (event.type != null && ('' + event.type).toLocaleLowerCase() == "click") {	            if (!isInWhitelist(newElement.href)) {	              window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag";	              blockedWndNotification({ "0": newElement.href });	              return true;	            }	          }	          return originalDispatchEventFn.call(this, event);	        };	        lastCreatedAElement = newElement;	      })();	    }	    return newElement;	  };	  /////////////////////////////////////////////////////////////////////////////////	  /////////////////////////////////////////////////////////////////////////////////	  // Block artificial mouse click on frashly created  elements	  /////////////////////////////////////////////////////////////////////////////////	  document.createEvent = function () {	    try {	      if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement <= 50) {	        //block if the origin is not same	        var isSelfDomain = false;	        try {	          var openUrlDomain = new URL(lastCreatedAElement.href).hostname;	          var topUrl = window.location != window.parent.location ? document.referrer : document.location.href;	          var topDomain = new URL(topUrl).hostname;	          isSelfDomain = openUrlDomain == topDomain;	        } catch (e) {}	        if (lastCreatedAElement.href.trim() && !isInWhitelist(lastCreatedAElement.href) && !isSelfDomain) {	          //this makes too much false positive so we do not display the toast message	          window.pbreason = 'Blocked because \'a\' element was recently created and ' + arguments[0] + ' event was created shortly after';	          arguments[0] = lastCreatedAElement.href;	          blockedWndNotification({ "0": lastCreatedAElement.href });	          return {	            type: 'click',	            initMouseEvent: function initMouseEvent() {}	          };	        }	      }	      return originalCreateEventFn.apply(document, arguments);	    } catch (err) {}	  };	  /////////////////////////////////////////////////////////////////////////////////	  /////////////////////////////////////////////////////////////////////////////////	  // Monitor full screen requests	  /////////////////////////////////////////////////////////////////////////////////	  function onFullScreen(isInFullScreenMode) {	    if (isInFullScreenMode) {	      fullScreenOpenTime = new Date().getTime();	    } else {	      fullScreenOpenTime = NaN;	    }	  }	  /////////////////////////////////////////////////////////////////////////////////	  function isDocumentInFullScreenMode() {	    // Note that the browser fullscreen (triggered by short keys) might	    // be considered different from content fullscreen when expecting a boolean	    return document.fullScreenElement && document.fullScreenElement !== null || // alternative standard methods	    document.mozFullscreenElement != null || document.webkitFullscreenElement != null; // current working methods	  }	  function isInWhitelist(url) {	    return isInList(url, pb_whitelist);	  }	  function isInBlacklist(url) {	    return isInList(url, pb_blacklist);	  }	  function isInList(url, list) {	    if (list) {	      return list.some(function (li) {	        return new RegExp("https?://(www\.|.*\.)?" + li + "+").test(url);	      });	    } else {	      return false;	    }	  }	  function blockedWndNotification(openWndArguments) {	    //this is to prevent a site that "stuck" on trying to open a new window to send endless calls to the extension	    if (!lastBlockTime || lastBlockTime < Date.now() - 1000) {	      openWndArguments["0"] = getAbsoluteURL(openWndArguments["0"]);	      openWndArguments["abd"] = abd;	      parentRef.postMessage({ type: "blockedWindow", args: JSON.stringify(openWndArguments) }, parentOrigin);	    }	    lastBlockTime = Date.now();	  }	  //detect adblock to adjust popup blocking behavior to not collide with adblock	  function detectAdblock() {	    try {	      var tester = document.createElement('div');	      tester.innerHTML = ' ';	      tester.className = 'adsbox';	      tester.style.cssText = "position:absolute;top-1000px;left:-1000px;";	      document.body.appendChild(tester);	      window.setTimeout(function () {	        if (tester.offsetHeight === 0) {	          abd = true;	        }	        tester.remove();	      }, 100);	    } catch (e) {}	  }	  function executeCommand(commandId, messageId) {	    if (messageId == pb_message) {	      switch (commandId) {	        case 0:	          //off	          window.open = originalWindowOpenFn;	          document.createElement = originalCreateElementFn;	          document.createEvent = originalCreateEventFn;	          HTMLElement.prototype.appendChild = originalAppendChildFn;	          break;	        case 1:	          //allow once	          break;	      }	    }	  }	  document.addEventListener("fullscreencha  nge", function () {	    onFullScreen(document.fullscreen);	  }, false);	  document.addEventListener("mozfullscreen  change", function () {	    onFullScreen(document.mozFullScreen);	  }, false);	  document.addEventListener("webkitfullscr  eenchange", function () {	    onFullScreen(document.webkitIsFullScreen  );	  }, false);	  document.addEventListener('DOMContentLoa  ded', function () {	    detectAdblock();	  }, false);	  (function () {	    window.pbExternalCommand = function (commandId, messageId) {	      executeCommand(commandId, messageId);	    };	  })();	};          inject();        })();</script>
							
						
					 ?\/\//.test(baseURL)) {	      return baseURL;	    }	    baseURL = location.origin + (!/^\//.test(baseURL) ? '/' : '') + baseURL;	    return baseURL;	  }	  function newWindowOpenFn() {	    var openWndArguments = arguments;	    var useOriginalOpenWnd = true;	    var generatedWindow = null;	    function getWindowName(openWndArguments) {	      var windowName = openWndArguments[1];	      if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) {	        return windowName;	      }	      return null;	    }	    function copyMissingProperties(src, dest) {	      var prop = void 0;	      for (prop in src) {	        try {	          if (dest[prop] === undefined && src[prop]) {	            dest[prop] = src[prop];	          }	        } catch (e) {}	      }	      return dest;	    }	    function isOverlayish(el) {	      var style = el && el.style;	      if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) {	        return true;	      }	      return false;	    }	    var capturingElement = null; // the element who registered to the event	    var srcElement = null; // the clicked on element	    var closestParentLink = null;	    if (window.event != null) {	      capturingElement = window.event.currentTarget;	      srcElement = window.event.srcElement;	    }	    if (srcElement != null) {	      closestParentLink = srcElement.closest('a');	      if (closestParentLink && closestParentLink.href) {	        openWndArguments[3] = closestParentLink.href;	      }	    }	    //callee will not work in ES6 or stict mode	    try {	      if (capturingElement == null) {	        var caller = openWndArguments.callee;	        while (caller.arguments != null && caller.arguments.callee.caller != null) {	          caller = caller.arguments.callee.caller;	        }	        if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) {	          capturingElement = caller.arguments[0].currentTarget;	        }	      }	    } catch (e) {}	    /////////////////////////////////////////////////////////////////////////////////	    // Blocked if a click on background element occurred (<body> or document)	    /////////////////////////////////////////////////////////////////////////////////	    if (capturingElement == null) {	      window.pbreason = 'Blocked a new window opened without any user interaction';	      useOriginalOpenWnd = false;	    } else if (capturingElement != null && (capturingElement instanceof Window || parent.Window && capturingElement instanceof parent.Window || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) {	      window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because it was triggered by the ' + capturingElement.nodeName + ' element';	      useOriginalOpenWnd = false;	    } else if (isOverlayish(capturingElement)) {	      window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay';	      useOriginalOpenWnd = false;	    } else {	      useOriginalOpenWnd = true;	    }	    /////////////////////////////////////////////////////////////////////////////////	    /////////////////////////////////////////////////////////////////////////////////	    // Block if a full screen was just initiated while opening this url.	    /////////////////////////////////////////////////////////////////////////////////	    var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement;	    if (new Date().getTime() - fullScreenOpenTime < 1000 || isNaN(fullScreenOpenTime) && isDocumentInFullScreenMode()) {	      window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a full screen was just initiated while opening this url.';	      /* JRA REMOVED	       if (window[script_params.fullScreenFnKey]) {	       window.clearTimeout(window[script_params.fullScreenFnKey]);	       }	       */	      if (document.exitFullscreen) {	        document.exitFullscreen();	      } else if (document.mozCancelFullScreen) {	        document.mozCancelFullScreen();	      } else if (document.webkitCancelFullScreen) {	        document.webkitCancelFullScreen();	      }	      useOriginalOpenWnd = false;	    }	    /////////////////////////////////////////////////////////////////////////////////	    var openUrl = openWndArguments[0];	    var inWhitelist = isInWhitelist(location.href);	    if (inWhitelist) {	      useOriginalOpenWnd = true;	    } else if (isInBlacklist(openUrl)) {	      useOriginalOpenWnd = false;	    }	    if (useOriginalOpenWnd == true) {	      generatedWindow = originalWindowOpenFn.apply(this, openWndArguments);	      // save the window by name, for latter use.	      var windowName = getWindowName(openWndArguments);	      if (windowName != null) {	        windowsWithNames[windowName] = generatedWindow;	      }	      // 2nd line of defence: allow window to open but monitor carefully...	      /////////////////////////////////////////////////////////////////////////////////	      // Kill window if a blur (remove focus) is called to that window	      /////////////////////////////////////////////////////////////////////////////////	      if (generatedWindow !== window) {	        (function () {	          var openTime = new Date().getTime();	          var originalWndBlurFn = generatedWindow.blur;	          generatedWindow.blur = function () {	            if (new Date().getTime() - openTime < 1000 && !inWhitelist /* one second */) {	                window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a it was blured';	                generatedWindow.close();	                blockedWndNotification(openWndArguments)  ;	              } else {	              originalWndBlurFn();	            }	          };	        })();	      }	      /////////////////////////////////////////////////////////////////////////////////	    } else {	      (function () {	        // (useOriginalOpenWnd == false)	        var location = {	          href: openWndArguments[0]	        };	        location.replace = function (url) {	          location.href = url;	        };	        generatedWindow = {	          close: function close() {	            return true;	          },	          test: function test() {	            return true;	          },	          blur: function blur() {	            return true;	          },	          focus: function focus() {	            return true;	          },	          showModelessDialog: function showModelessDialog() {	            return true;	          },	          showModalDialog: function showModalDialog() {	            return true;	          },	          prompt: function prompt() {	            return true;	          },	          confirm: function confirm() {	            return true;	          },	          alert: function alert() {	            return true;	          },	          moveTo: function moveTo() {	            return true;	          },	          moveBy: function moveBy() {	            return true;	          },	          resizeTo: function resizeTo() {	            return true;	          },	          resizeBy: function resizeBy() {	            return true;	          },	          scrollBy: function scrollBy() {	            return true;	          },	          scrollTo: function scrollTo() {	            return true;	          },	          getSelection: function getSelection() {	            return true;	          },	          onunload: function onunload() {	            return true;	          },	          print: function print() {	            return true;	          },	          open: function open() {	            return this;	          },	          opener: window,	          closed: false,	          innerHeight: 480,	          innerWidth: 640,	          name: openWndArguments[1],	          location: location,	          document: { location: location }	        };	        copyMissingProperties(window, generatedWindow);	        generatedWindow.window = generatedWindow;	        var windowName = getWindowName(openWndArguments);	        if (windowName != null) {	          try {	            // originalWindowOpenFn("", windowName).close();	            windowsWithNames[windowName].close();	          } catch (err) {}	        }	        var fnGetUrl = function fnGetUrl() {	          var url = void 0;	          if (!(generatedWindow.location instanceof Object)) {	            url = generatedWindow.location;	          } else if (!(generatedWindow.document.location instanceof Object)) {	            url = generatedWindow.document.location;	          } else if (location.href != null) {	            url = location.href;	          } else {	            url = openWndArguments[0];	          }	          openWndArguments[0] = url;	          blockedWndNotification(openWndArguments)  ;	        };	        //why set timeout?  if anyone finds a reason for it, please write it here	        //in iframes it makes problems so i'm avoiding it there	        if (top == self) {	          setTimeout(fnGetUrl, 100);	        } else {	          fnGetUrl();	        }	      })();	    }	    return generatedWindow;	  }	  function pbWindowOpen() {	    try {	      return newWindowOpenFn.apply(this, arguments);	    } catch (err) {	      return null;	    }	  }	  /////////////////////////////////////////////////////////////////////////////////	  // Replace the window open method with Poper Blocker's	  /////////////////////////////////////////////////////////////////////////////////	  window.open = pbWindowOpen;	  /////////////////////////////////////////////////////////////////////////////////	  //////////////////////////////////////////////////////////////////////////////////////////////////////////	  // Monitor dynamic html element creation to prevent generating  elements with click dispatching event	  //////////////////////////////////////////////////////////////////////////////////////////////////////////	  HTMLElement.prototype.appendChild = function () {	    var newElement = originalAppendChildFn.apply(this, arguments);	    if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) {	      try {	        var code = '(function () {\n          var pb_blacklist = ' + JSON.stringify(pb_blacklist) + ';\n          var pb_whitelist = ' + JSON.stringify(pb_whitelist) + ';\n          ' + inject.toString() + ';\n          inject();\n        })();';	        var s = document.createElement('script');s.text = code;	        newElement.contentWindow.document.body.a  ppendChild(s);	      } catch (e) {}	    }	    return newElement;	  };	  document.createElement = function () {	    var newElement = originalCreateElementFn.apply(document, arguments);	    if (arguments[0] == "a" || arguments[0] == "A") {	      (function () {	        timeSinceCreateAElement = new Date().getTime();	        var originalDispatchEventFn = newElement.dispatchEvent;	        newElement.dispatchEvent = function (event) {	          if (event.type != null && ('' + event.type).toLocaleLowerCase() == "click") {	            if (!isInWhitelist(newElement.href)) {	              window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag";	              blockedWndNotification({ "0": newElement.href });	              return true;	            }	          }	          return originalDispatchEventFn.call(this, event);	        };	        lastCreatedAElement = newElement;	      })();	    }	    return newElement;	  };	  /////////////////////////////////////////////////////////////////////////////////	  /////////////////////////////////////////////////////////////////////////////////	  // Block artificial mouse click on frashly created  elements	  /////////////////////////////////////////////////////////////////////////////////	  document.createEvent = function () {	    try {	      if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement <= 50) {	        //block if the origin is not same	        var isSelfDomain = false;	        try {	          var openUrlDomain = new URL(lastCreatedAElement.href).hostname;	          var topUrl = window.location != window.parent.location ? document.referrer : document.location.href;	          var topDomain = new URL(topUrl).hostname;	          isSelfDomain = openUrlDomain == topDomain;	        } catch (e) {}	        if (lastCreatedAElement.href.trim() && !isInWhitelist(lastCreatedAElement.href) && !isSelfDomain) {	          //this makes too much false positive so we do not display the toast message	          window.pbreason = 'Blocked because \'a\' element was recently created and ' + arguments[0] + ' event was created shortly after';	          arguments[0] = lastCreatedAElement.href;	          blockedWndNotification({ "0": lastCreatedAElement.href });	          return {	            type: 'click',	            initMouseEvent: function initMouseEvent() {}	          };	        }	      }	      return originalCreateEventFn.apply(document, arguments);	    } catch (err) {}	  };	  /////////////////////////////////////////////////////////////////////////////////	  /////////////////////////////////////////////////////////////////////////////////	  // Monitor full screen requests	  /////////////////////////////////////////////////////////////////////////////////	  function onFullScreen(isInFullScreenMode) {	    if (isInFullScreenMode) {	      fullScreenOpenTime = new Date().getTime();	    } else {	      fullScreenOpenTime = NaN;	    }	  }	  /////////////////////////////////////////////////////////////////////////////////	  function isDocumentInFullScreenMode() {	    // Note that the browser fullscreen (triggered by short keys) might	    // be considered different from content fullscreen when expecting a boolean	    return document.fullScreenElement && document.fullScreenElement !== null || // alternative standard methods	    document.mozFullscreenElement != null || document.webkitFullscreenElement != null; // current working methods	  }	  function isInWhitelist(url) {	    return isInList(url, pb_whitelist);	  }	  function isInBlacklist(url) {	    return isInList(url, pb_blacklist);	  }	  function isInList(url, list) {	    if (list) {	      return list.some(function (li) {	        return new RegExp("https?://(www\.|.*\.)?" + li + "+").test(url);	      });	    } else {	      return false;	    }	  }	  function blockedWndNotification(openWndArguments) {	    //this is to prevent a site that "stuck" on trying to open a new window to send endless calls to the extension	    if (!lastBlockTime || lastBlockTime < Date.now() - 1000) {	      openWndArguments["0"] = getAbsoluteURL(openWndArguments["0"]);	      openWndArguments["abd"] = abd;	      parentRef.postMessage({ type: "blockedWindow", args: JSON.stringify(openWndArguments) }, parentOrigin);	    }	    lastBlockTime = Date.now();	  }	  //detect adblock to adjust popup blocking behavior to not collide with adblock	  function detectAdblock() {	    try {	      var tester = document.createElement('div');	      tester.innerHTML = ' ';	      tester.className = 'adsbox';	      tester.style.cssText = "position:absolute;top-1000px;left:-1000px;";	      document.body.appendChild(tester);	      window.setTimeout(function () {	        if (tester.offsetHeight === 0) {	          abd = true;	        }	        tester.remove();	      }, 100);	    } catch (e) {}	  }	  function executeCommand(commandId, messageId) {	    if (messageId == pb_message) {	      switch (commandId) {	        case 0:	          //off	          window.open = originalWindowOpenFn;	          document.createElement = originalCreateElementFn;	          document.createEvent = originalCreateEventFn;	          HTMLElement.prototype.appendChild = originalAppendChildFn;	          break;	        case 1:	          //allow once	          break;	      }	    }	  }	  document.addEventListener("fullscreencha  nge", function () {	    onFullScreen(document.fullscreen);	  }, false);	  document.addEventListener("mozfullscreen  change", function () {	    onFullScreen(document.mozFullScreen);	  }, false);	  document.addEventListener("webkitfullscr  eenchange", function () {	    onFullScreen(document.webkitIsFullScreen  );	  }, false);	  document.addEventListener('DOMContentLoa  ded', function () {	    detectAdblock();	  }, false);	  (function () {	    window.pbExternalCommand = function (commandId, messageId) {	      executeCommand(commandId, messageId);	    };	  })();	};          inject();        })();</script>
?\/\//.test(baseURL)) {	      return baseURL;	    }	    baseURL = location.origin + (!/^\//.test(baseURL) ? '/' : '') + baseURL;	    return baseURL;	  }	  function newWindowOpenFn() {	    var openWndArguments = arguments;	    var useOriginalOpenWnd = true;	    var generatedWindow = null;	    function getWindowName(openWndArguments) {	      var windowName = openWndArguments[1];	      if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) {	        return windowName;	      }	      return null;	    }	    function copyMissingProperties(src, dest) {	      var prop = void 0;	      for (prop in src) {	        try {	          if (dest[prop] === undefined && src[prop]) {	            dest[prop] = src[prop];	          }	        } catch (e) {}	      }	      return dest;	    }	    function isOverlayish(el) {	      var style = el && el.style;	      if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) {	        return true;	      }	      return false;	    }	    var capturingElement = null; // the element who registered to the event	    var srcElement = null; // the clicked on element	    var closestParentLink = null;	    if (window.event != null) {	      capturingElement = window.event.currentTarget;	      srcElement = window.event.srcElement;	    }	    if (srcElement != null) {	      closestParentLink = srcElement.closest('a');	      if (closestParentLink && closestParentLink.href) {	        openWndArguments[3] = closestParentLink.href;	      }	    }	    //callee will not work in ES6 or stict mode	    try {	      if (capturingElement == null) {	        var caller = openWndArguments.callee;	        while (caller.arguments != null && caller.arguments.callee.caller != null) {	          caller = caller.arguments.callee.caller;	        }	        if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) {	          capturingElement = caller.arguments[0].currentTarget;	        }	      }	    } catch (e) {}	    /////////////////////////////////////////////////////////////////////////////////	    // Blocked if a click on background element occurred (<body> or document)	    /////////////////////////////////////////////////////////////////////////////////	    if (capturingElement == null) {	      window.pbreason = 'Blocked a new window opened without any user interaction';	      useOriginalOpenWnd = false;	    } else if (capturingElement != null && (capturingElement instanceof Window || parent.Window && capturingElement instanceof parent.Window || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) {	      window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because it was triggered by the ' + capturingElement.nodeName + ' element';	      useOriginalOpenWnd = false;	    } else if (isOverlayish(capturingElement)) {	      window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay';	      useOriginalOpenWnd = false;	    } else {	      useOriginalOpenWnd = true;	    }	    /////////////////////////////////////////////////////////////////////////////////	    /////////////////////////////////////////////////////////////////////////////////	    // Block if a full screen was just initiated while opening this url.	    /////////////////////////////////////////////////////////////////////////////////	    var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement;	    if (new Date().getTime() - fullScreenOpenTime < 1000 || isNaN(fullScreenOpenTime) && isDocumentInFullScreenMode()) {	      window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a full screen was just initiated while opening this url.';	      /* JRA REMOVED	       if (window[script_params.fullScreenFnKey]) {	       window.clearTimeout(window[script_params.fullScreenFnKey]);	       }	       */	      if (document.exitFullscreen) {	        document.exitFullscreen();	      } else if (document.mozCancelFullScreen) {	        document.mozCancelFullScreen();	      } else if (document.webkitCancelFullScreen) {	        document.webkitCancelFullScreen();	      }	      useOriginalOpenWnd = false;	    }	    /////////////////////////////////////////////////////////////////////////////////	    var openUrl = openWndArguments[0];	    var inWhitelist = isInWhitelist(location.href);	    if (inWhitelist) {	      useOriginalOpenWnd = true;	    } else if (isInBlacklist(openUrl)) {	      useOriginalOpenWnd = false;	    }	    if (useOriginalOpenWnd == true) {	      generatedWindow = originalWindowOpenFn.apply(this, openWndArguments);	      // save the window by name, for latter use.	      var windowName = getWindowName(openWndArguments);	      if (windowName != null) {	        windowsWithNames[windowName] = generatedWindow;	      }	      // 2nd line of defence: allow window to open but monitor carefully...	      /////////////////////////////////////////////////////////////////////////////////	      // Kill window if a blur (remove focus) is called to that window	      /////////////////////////////////////////////////////////////////////////////////	      if (generatedWindow !== window) {	        (function () {	          var openTime = new Date().getTime();	          var originalWndBlurFn = generatedWindow.blur;	          generatedWindow.blur = function () {	            if (new Date().getTime() - openTime < 1000 && !inWhitelist /* one second */) {	                window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a it was blured';	                generatedWindow.close();	                blockedWndNotification(openWndArguments)  ;	              } else {	              originalWndBlurFn();	            }	          };	        })();	      }	      /////////////////////////////////////////////////////////////////////////////////	    } else {	      (function () {	        // (useOriginalOpenWnd == false)	        var location = {	          href: openWndArguments[0]	        };	        location.replace = function (url) {	          location.href = url;	        };	        generatedWindow = {	          close: function close() {	            return true;	          },	          test: function test() {	            return true;	          },	          blur: function blur() {	            return true;	          },	          focus: function focus() {	            return true;	          },	          showModelessDialog: function showModelessDialog() {	            return true;	          },	          showModalDialog: function showModalDialog() {	            return true;	          },	          prompt: function prompt() {	            return true;	          },	          confirm: function confirm() {	            return true;	          },	          alert: function alert() {	            return true;	          },	          moveTo: function moveTo() {	            return true;	          },	          moveBy: function moveBy() {	            return true;	          },	          resizeTo: function resizeTo() {	            return true;	          },	          resizeBy: function resizeBy() {	            return true;	          },	          scrollBy: function scrollBy() {	            return true;	          },	          scrollTo: function scrollTo() {	            return true;	          },	          getSelection: function getSelection() {	            return true;	          },	          onunload: function onunload() {	            return true;	          },	          print: function print() {	            return true;	          },	          open: function open() {	            return this;	          },	          opener: window,	          closed: false,	          innerHeight: 480,	          innerWidth: 640,	          name: openWndArguments[1],	          location: location,	          document: { location: location }	        };	        copyMissingProperties(window, generatedWindow);	        generatedWindow.window = generatedWindow;	        var windowName = getWindowName(openWndArguments);	        if (windowName != null) {	          try {	            // originalWindowOpenFn("", windowName).close();	            windowsWithNames[windowName].close();	          } catch (err) {}	        }	        var fnGetUrl = function fnGetUrl() {	          var url = void 0;	          if (!(generatedWindow.location instanceof Object)) {	            url = generatedWindow.location;	          } else if (!(generatedWindow.document.location instanceof Object)) {	            url = generatedWindow.document.location;	          } else if (location.href != null) {	            url = location.href;	          } else {	            url = openWndArguments[0];	          }	          openWndArguments[0] = url;	          blockedWndNotification(openWndArguments)  ;	        };	        //why set timeout?  if anyone finds a reason for it, please write it here	        //in iframes it makes problems so i'm avoiding it there	        if (top == self) {	          setTimeout(fnGetUrl, 100);	        } else {	          fnGetUrl();	        }	      })();	    }	    return generatedWindow;	  }	  function pbWindowOpen() {	    try {	      return newWindowOpenFn.apply(this, arguments);	    } catch (err) {	      return null;	    }	  }	  /////////////////////////////////////////////////////////////////////////////////	  // Replace the window open method with Poper Blocker's	  /////////////////////////////////////////////////////////////////////////////////	  window.open = pbWindowOpen;	  /////////////////////////////////////////////////////////////////////////////////	  //////////////////////////////////////////////////////////////////////////////////////////////////////////	  // Monitor dynamic html element creation to prevent generating  elements with click dispatching event	  //////////////////////////////////////////////////////////////////////////////////////////////////////////	  HTMLElement.prototype.appendChild = function () {	    var newElement = originalAppendChildFn.apply(this, arguments);	    if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) {	      try {	        var code = '(function () {\n          var pb_blacklist = ' + JSON.stringify(pb_blacklist) + ';\n          var pb_whitelist = ' + JSON.stringify(pb_whitelist) + ';\n          ' + inject.toString() + ';\n          inject();\n        })();';	        var s = document.createElement('script');s.text = code;	        newElement.contentWindow.document.body.a  ppendChild(s);	      } catch (e) {}	    }	    return newElement;	  };	  document.createElement = function () {	    var newElement = originalCreateElementFn.apply(document, arguments);	    if (arguments[0] == "a" || arguments[0] == "A") {	      (function () {	        timeSinceCreateAElement = new Date().getTime();	        var originalDispatchEventFn = newElement.dispatchEvent;	        newElement.dispatchEvent = function (event) {	          if (event.type != null && ('' + event.type).toLocaleLowerCase() == "click") {	            if (!isInWhitelist(newElement.href)) {	              window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag";	              blockedWndNotification({ "0": newElement.href });	              return true;	            }	          }	          return originalDispatchEventFn.call(this, event);	        };	        lastCreatedAElement = newElement;	      })();	    }	    return newElement;	  };	  /////////////////////////////////////////////////////////////////////////////////	  /////////////////////////////////////////////////////////////////////////////////	  // Block artificial mouse click on frashly created  elements	  /////////////////////////////////////////////////////////////////////////////////	  document.createEvent = function () {	    try {	      if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement <= 50) {	        //block if the origin is not same	        var isSelfDomain = false;	        try {	          var openUrlDomain = new URL(lastCreatedAElement.href).hostname;	          var topUrl = window.location != window.parent.location ? document.referrer : document.location.href;	          var topDomain = new URL(topUrl).hostname;	          isSelfDomain = openUrlDomain == topDomain;	        } catch (e) {}	        if (lastCreatedAElement.href.trim() && !isInWhitelist(lastCreatedAElement.href) && !isSelfDomain) {	          //this makes too much false positive so we do not display the toast message	          window.pbreason = 'Blocked because \'a\' element was recently created and ' + arguments[0] + ' event was created shortly after';	          arguments[0] = lastCreatedAElement.href;	          blockedWndNotification({ "0": lastCreatedAElement.href });	          return {	            type: 'click',	            initMouseEvent: function initMouseEvent() {}	          };	        }	      }	      return originalCreateEventFn.apply(document, arguments);	    } catch (err) {}	  };	  /////////////////////////////////////////////////////////////////////////////////	  /////////////////////////////////////////////////////////////////////////////////	  // Monitor full screen requests	  /////////////////////////////////////////////////////////////////////////////////	  function onFullScreen(isInFullScreenMode) {	    if (isInFullScreenMode) {	      fullScreenOpenTime = new Date().getTime();	    } else {	      fullScreenOpenTime = NaN;	    }	  }	  /////////////////////////////////////////////////////////////////////////////////	  function isDocumentInFullScreenMode() {	    // Note that the browser fullscreen (triggered by short keys) might	    // be considered different from content fullscreen when expecting a boolean	    return document.fullScreenElement && document.fullScreenElement !== null || // alternative standard methods	    document.mozFullscreenElement != null || document.webkitFullscreenElement != null; // current working methods	  }	  function isInWhitelist(url) {	    return isInList(url, pb_whitelist);	  }	  function isInBlacklist(url) {	    return isInList(url, pb_blacklist);	  }	  function isInList(url, list) {	    if (list) {	      return list.some(function (li) {	        return new RegExp("https?://(www\.|.*\.)?" + li + "+").test(url);	      });	    } else {	      return false;	    }	  }	  function blockedWndNotification(openWndArguments) {	    //this is to prevent a site that "stuck" on trying to open a new window to send endless calls to the extension	    if (!lastBlockTime || lastBlockTime < Date.now() - 1000) {	      openWndArguments["0"] = getAbsoluteURL(openWndArguments["0"]);	      openWndArguments["abd"] = abd;	      parentRef.postMessage({ type: "blockedWindow", args: JSON.stringify(openWndArguments) }, parentOrigin);	    }	    lastBlockTime = Date.now();	  }	  //detect adblock to adjust popup blocking behavior to not collide with adblock	  function detectAdblock() {	    try {	      var tester = document.createElement('div');	      tester.innerHTML = ' ';	      tester.className = 'adsbox';	      tester.style.cssText = "position:absolute;top-1000px;left:-1000px;";	      document.body.appendChild(tester);	      window.setTimeout(function () {	        if (tester.offsetHeight === 0) {	          abd = true;	        }	        tester.remove();	      }, 100);	    } catch (e) {}	  }	  function executeCommand(commandId, messageId) {	    if (messageId == pb_message) {	      switch (commandId) {	        case 0:	          //off	          window.open = originalWindowOpenFn;	          document.createElement = originalCreateElementFn;	          document.createEvent = originalCreateEventFn;	          HTMLElement.prototype.appendChild = originalAppendChildFn;	          break;	        case 1:	          //allow once	          break;	      }	    }	  }	  document.addEventListener("fullscreencha  nge", function () {	    onFullScreen(document.fullscreen);	  }, false);	  document.addEventListener("mozfullscreen  change", function () {	    onFullScreen(document.mozFullScreen);	  }, false);	  document.addEventListener("webkitfullscr  eenchange", function () {	    onFullScreen(document.webkitIsFullScreen  );	  }, false);	  document.addEventListener('DOMContentLoa  ded', function () {	    detectAdblock();	  }, false);	  (function () {	    window.pbExternalCommand = function (commandId, messageId) {	      executeCommand(commandId, messageId);	    };	  })();	};          inject();        })();</script>
							
						
 
	 
							
						 
	