Enstyler

MyDealz Enstyler enhanced features incl. Amazon Mobile Redirect

目前為 2017-11-07 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        Enstyler
// @namespace   Enstyler
// @description MyDealz Enstyler enhanced features incl. Amazon Mobile Redirect
// @author      dealz.rrr.de
// @include     https://nl.pepper.com/*
// @include     https://www.preisjaeger.at/*
// @include     https://www.mydealz.de/*
// @include     https://www.hotukdeals.com/*
// @include     https://userstyles.org/styles/128262/*
// @include     https://www.amazon.*/gp/aw/*
// @version     3.11.071
// @grant       GM_getValue
// @grant       GM_setValue
// @grant       GM_xmlhttpRequest
// //@require     http://code.jquery.com/jquery-3.1.1.min.js
// //@require     http://openuserjs.org/src/libs/sizzle/GM_config.js
// @require     https://cdn.rawgit.com/gnadelwartz/zepto-modules/468559e1b3dc6463a0eada49ff71d7b5407a8a26/zepto-noajax-min.js
// @require     https://cdn.rawgit.com/gnadelwartz/GM_config/0e4b1e4c0dd6b08499082c679850ebc0f56e6ca4/GM_config-min.js
// @require     https://cdn.rawgit.com/gnadelwartz/Enstyler/61faddbaa201013e340dabf154410e962f1655f2/translations.js
// @require     https://cdn.rawgit.com/bitwiseshiftleft/sjcl/4fc74ff92fd6b836cc596cc0ee940ef6cc8db7c6/sjcl.js
// @require     https://cdn.rawgit.com/pieroxy/lz-string/c58a22021000ac2d99377cc0bf9ac193a12563c5/libs/lz-string.min.js
// @run-at      document-start
// ==/UserScript==
// @ the original development source with comments can be found here: https://greasyfork.org/de/scripts/24244-enstylerjs-develop
// @ if you don't trust this minimized script use the development source.
function EnstylerInit() {
  (enUserLogin = $(".avatar--type-nav").length) ? (enUserName = $(".navDropDown a").attr(enHREF), enUserName = enUserName.replace(/.*\/profile\/([^\/]+).*/, "$1"), GM_setValue("enConfSyncUser", enUserName)) : enUserName = GM_getValue("enConfSyncUser"), 
  enSection = enLocParser.pathname.replace(/\/([^\/]+\/*).*/, "/$1");
}

function EnstylerDealActions() {
  if (enTransTags = 5, myDealAction) {
    $("footer ul").length && (enDealFooter = "%0D%0A%0D%0A-- %0D%0A" + $("footer ul li p").first().html().replace(/<br>/g, "%0D%0A").replace(/<.*?>/g, ""));
    var e = enLocParser.pathname, n = 0;
    switch ("" != enUserName && (e = e.replace(enUserName + "/", "")), $(".ico--type-grid-subNavActive, .thread-list--type-card ").length && (n = 1), enDealAdd = enDealAction[0] + enDealAction[1 + n] + enDealAction[3], 
    !0) {
     case e.endsWith("profile/saved-deals"):
      enDealAdd += enDealAction[4] + enDealAction[5 + n] + enDealAction[7], enDealUnbook = !0;
      break;

     case e.endsWith("profile/diskussion"):
     case enUserLogin && e.endsWith(enUserName):
      enDealAdd += enDealAction[8] + enDealAction[9 + n] + enDealAction[11];
    }
    enDealAdd = enLangLocalize(enDealAdd + enDealAction[12] + enDealAction[13 + n] + enDealAction[15], enDealLang, enLANG), enSocialAdd = enLangLocalize(enDealAction[16] + enDealAction[17] + enDealAction[19], enDealLang, enLANG);
  }
  EnstylerDealActionsDo();
}

function EnstylerDealActionsDo() {
  var e, n, t, a, o, i, s, l, c, r;
  enMyCSSID = genUserKey(MyCSS), (myDealAction || myTouch || myFixHtml || myVotebar || myPrice) && $("article").not(".enClassActionDone, ." + enClassHidden).each(function() {
    $(this).addClass("enClassActionDone"), $(this).hasClass("threadWidget--type-card--item") || (r = "c" != $(this).attr("id")[0], myFixHtml && $(this).find(".userHtml").each(function() {
      $(this).html($(this).html().replace(/[^ -~Ä-Ÿ✘►○●✰€]+|(&nbsp;)+|(\n\r)+|<\/p>|<div.*?>/g, " ").replace(/<\/div>/g, "<br>").replace(/<p>|<br>( *<br>)+/g, "<br><br>").replace(/(<li>)(<br>)+|<br>*(<br><\/li>)/g, "$1"));
    }), myPrice && r && (t = $(this).find(".thread-price.text--b")).length && ((o = $(this).find(".cept-dealBtn")).hasClass("ico--type-redirect-white") ? o.html(t.html()) : o.html(t.html() + '<span class="ico ico--type-redirect-white size--all-xl space--l-1"></span>'), 
    $(this).find(".cept-tb").html(t.html())), n = $(this).find(".userHtml"), e = $(".cept-comment-link", $(this)), t = $(".thread-title a", $(this)), c = t.length, r && !n.length && (myCompact && ($(".threadGrid-image, .threadGrid-body", $(this)).remove(), 
    $(".threadGrid-dealBtn", $(this)).css("grid-column", "3")), $(".threadGrid-image", $(this)).css("width", "50%")), myDealAction && r && (c || (t = $(".thread-title", $(this)), enTransTags = 20), enTranslateText(t), 
    (i = $(".vote-temp", $(this))).length && (i = parseInt(i.text()), myVotebar && (l = $(".vote-temp", $(this)).attr("class").replace(/.*charcoal|.*vote-temp--/i, ""), (s = i / (myVotescale / 70) + 10) < 0 && (s *= -3), 
    $(this).prepend('<div class="votebar vote-progress voteBar--' + l + '" style="width: ' + s + '%;"></div>')), $(this).hasClass("thread--type-card") && (i = 0), i > myVotescale / 2.51 ? myVotebar ? ($(this).prepend(enDealFlame), 
    $(this).find(".threadGrid").css("padding-top", "0")) : $(this).find(".vote-box").after(enDealFlame) : i < -myVotescale / 10.1 && (myVotebar ? ($(this).prepend(enDealIce), $(this).find("threadGrid").css("padding-top", "0")) : $(this).find(".vote-box").after(enDealIce))), 
    c ? ($("button.meta-ribbon-btn.hide--fromW3", $(this)).remove(), $("span.meta-ribbon.hide--toW3", $(this)).removeClass("hide--toW3"), $(".threadGrid-title .thread-title.lineClamp--2", $(this)).removeClass("lineClamp--2"), 
    a = t[0].outerHTML.replace(/\n|\r/, "").replace(/^.*href="/, "").replace(/".*/, ""), o = enDealComposeMail($(this), t.text(), a, enDealAdd), e.append(o)) : (enCSSDealz && $(this).find("a.btn--twitter").length && (o = $(this).find("a.btn--twitter")[0].outerHTML.replace(/&amp;text=/g, "?ID=" + enMyCSSID + "&amp;text="), 
    $(this).find("a.btn--twitter").replaceWith(o), o = $(this).find("a.btn--facebook")[0].outerHTML.replace(/&amp;title=/g, "?ID=" + enMyCSSID + "&amp;title="), $(this).find("a.btn--facebook").replaceWith(o), 
    o = $(this).find("a.btn--whatsapp")[0].outerHTML.replace(/" rel="no/, "?ID=" + enMyCSSID + '" rel="no'), $(this).find("a.btn--whatsapp").replaceWith(o)), o = enDealComposeMail($(this), t.text(), "" + enLocParser, enSocialAdd), 
    $(this).find("a.btn--twitter").parent().append(o))), n.length && enTranslateText(n), r && (o = $(this).find(".threadGrid-image, .threadCardLayout--row--image")).length && o.html(o.html().replace(/ img--dummy.*" data-lazy-img="{&quot;src&quot;:&quot;/, '" src="').replace(/&quot;,&quot;finishClass&quot;:.*">/, '">')), 
    myTouch && r && $(this).find("button .avatar").each(function() {
      $(this).prop("outerHTML", $(this).prop("outerHTML").replace(/thread-avatar/, "avatar--type-m"));
    }));
  });
}

function enDealComposeMail(e, n, t, a) {
  (n = encodeURIComponent(("Gnadelwartz" == enUserName ? "KayDealz" : enInternationalName) + ": " + n.replace(/\r|\n|\t/g, " ").replace(/  */g, " "))).length < 100 && e.find("span.thread-price").length && (n += encodeURIComponent(" -> " + e.find("span.thread-price").text().replace(/ |\t/g, "")));
  var o = t;
  return enCSSDealz && (o = t.replace(/^https:\/\/.*?\//, "https://dealz.rrr.de/" + enInternationalName + "/") + "?ID=" + enMyCSSID), a.replace(enPATTERN[enHREF], "\n\r" + t).replace(enPATTERN[enTEXT], truncStringWord(n, 160, "%20") + "&body=" + n + "%0D%0A%0D%0A" + o + enDealFooter);
}

function EnstylerPagePickerCreate() {
  if (EnstylerPagePickerRemove(), GM_config.get("enConfPagePicker") || enNoScript) {
    var e, n, t, a = 1, o = 1;
    if ($(selectList).empty(), $("div.text--color-charcoalTint").length) {
      var i = $("nav > div.text--color-charcoalTint").html().replace(/\r?\n|\r/g);
      isNaN(a = parseInt(i.replace(/.*currentPage=/, ""))) && (a = 1), isNaN(o = parseInt(i.replace(/.*lastPage=/, ""))) && (o = a);
    }
    for (x = 1; x <= o; ) (t = document.createElement("option")).text = x, selectList.add(t), n = x, e = Math.abs(x - a), x < 10 || e < 5 ? x++ : x < 1e3 && e > 600 ? x += Math.floor(e / 100) : x += Math.floor(e / 2);
    a > o && (o = a), n < o && ((t = document.createElement("option")).text = o, selectList.add(t)), selectList.value = a;
    var s = [ ".js-navDropDown-messages", EnstylerPageEnum + " js-navDropDown-messages vAlign--all-m" ];
    $(".test-loginButton").length && (s[0] = ".test-loginButton"), $(".voteBar").length && (s = [ ".voteBar--sticky-off--hide.hAlign--all-r", EnstylerPageEnum + " subNavMenu-link subNavMenu-btn voteBar--sticky-off--hide" ]), 
    selectList.setAttribute("class", s[1]), $(s[0]).before(selectList);
  }
}

function EnstylerPagePickerDo() {
  location.search.match(/^page=/) ? selectList.value = parseint(location.search.replace(/^page=/, "")) : $(".js-sticky .text--color-charcoalTint").length && (selectList.value = parseInt($(".js-sticky .text--color-charcoalTint").html().replace(/\r?\n|\r/g).split('--toW2">' + EnstylerSiteConfig("page"))[1]));
}

function EnstylerPageAction() {
  var e = "page=" + $(this).val(), n = ("" + enLocParser).replace(/page=.*|#.*/, "");
  n.endsWith("?") || n.endsWith("&") ? n += e : n += "?" + e, "/deals/" == enSection && (n += "#thread-comments"), window.location = n;
}

function EnstylerPagePickerRemove() {
  $("." + EnstylerPageEnum).remove();
}

function EnstylerBlacklist() {
  enUserLogin && !GM_config.get("enConfWhitelist").includes(enUserName) && (GM_config.set("enConfWhitelist", "@" + enUserName + "," + GM_config.get("enConfWhitelist")), GM_config.setValue("enConfWhitelist", GM_config.get("enConfWhitelist")));
  var e = GM_config.get("enConfBlacklist").replace(unwantedRegex[0], "");
  enBlack = RegExp(e.replace(/^,|,$/g, "").replace(/(.),(.)/g, "$1|$2"), "i"), (enBlackTrue = !" ".match(enBlack)) || "" == e || alert(confLang("regexfailed")), enWhite = RegExp(GM_config.get("enConfWhitelist").replace(/^,|,$/g, "").replace(/(.),(.)/g, "$1|$2"), "i"), 
  enWhiteTrue = !" ".match(enWhite), enBlackTemp = GM_config.get("enConfHideColder"), EnstylerBlacklistRemove(), EnstylerBlacklistDo();
}

function EnstylerBlacklistDo() {
  if (!(!GM_config.get("enConfBlackEnable") || !enBlackTrue && enBlackTemp < -900)) {
    var e;
    $("article").not("." + enClassBlackDone + ", .threadWidget-item").each(function() {
      $(this).addClass(enClassBlackDone), e = "c" != $(this).attr("id")[0] ? $("a.thread-category", $(this)).text() + " " + $(".thread-title a", $(this)).text() + " @" + $("a.user", $(this)).text() : $(".userHtml", $(this)).text() + " @" + $(".vwo-user-link", $(this)).text(), 
      e = e.replace(unwantedRegex[1], " "), enWhiteTrue && e.match(enWhite) || (parseInt($(".vote-temp", $(this)).text()) <= enBlackTemp || enBlackTrue && e.match(enBlack)) && ($(this).addClass(enClassHidden), 
      enBlacklisted++, EnstylerLastSeenSkip("#" + $(this).attr(enID)));
    }), EnstylerBlacklistShow();
  }
}

function EnstylerBlacklistShow() {
  enConfDefs.default.enConfUnblacklist.label = enUnblackText.replace(enPATTERN[enTEXT], enBlacklisted);
}

function EnstylerBlacklistRemove() {
  EnstylerBlacklistUnhide(), $("." + enClassBlackDone).removeClass(enClassBlackDone);
}

function EnstylerBlacklistUnhide() {
  enBlacklisted = 0, EnstylerBlacklistShow(), $("." + enClassHidden).removeClass(enClassHidden);
}

function EnstylerFixedNav() {
  if (GM_config.get("enConfNavFixed") && "/deals/" != enSection && "/gutscheine/" != enSection) {
    var e = $("header").html();
    $("header").replaceWith('<header class="enFixedNav">' + e + "</header>");
    var n = myFixedCSS.every;
    enSection == EnstylerSiteConfig("discussion") && (n += myFixedCSS.discus), ($(".nav-subheadline").length || "/profile/" == enSection) && (n += myFixedCSS.subnav), addStyleString(n = n.replace(enPATTERN[enTEXT], enMainHeigth));
  }
}

function EnstylerDealTime() {
  TodayStart.setHours(0, 0, 0, 0), today = enLangLocalize('<span class="hide--toW2"><EN-LANG:today>&nbsp;</span>', enTimeLang, enLANG), oclock = enLangLocalize('<span class="hide--toW2">&nbsp;<EN-LANG:oclock></span>', enTimeLang, enLANG), 
  yesterday = enLangLocalize("<EN-LANG:yesterday> ", enTimeLang, enLANG), EnstylerDealTimeDo();
}

function EnstylerDealTimeDo() {
  if (GM_config.get("enConfDealTime")) {
    var e, n, t, a = Date.now();
    $(".meta-ribbon, time, .metaRibbon").not("." + EnstylerTimeSeen).each(function() {
      if ($(this).addClass(EnstylerTimeSeen), !(e = $(this).text()).includes(" am ")) {
        switch (DealDate.setTime(a - (60 * parseInt(e.replace(/.* ([0-9].*) [hu].*|.*/, "$1")) + parseInt(e.replace(/.* ([0-9].*) m.*|.*/, "$1"))) * enTime2Min), e = $(this).html(), n = (a - DealDate) / enTime2Min, 
        t = ("" + DealDate).slice(16, 21), !0) {
         case t.length < 5 || n < 60:
          return;

         case n > 1440:
          e += "&nbsp;(" + t + oclock + ")";
          break;

         case DealDate < TodayStart:
          e = yesterday + t + oclock;
          break;

         default:
          e += "&nbsp;(" + today + t + oclock + ")";
        }
        $(this).html(e);
      }
    });
  }
}

function EnstylerLastSeen() {
  LastSeenOnce && (LastSeenOnce = !1, enSection.match(enMainSectionMatch) ? (enSeenArticle = GM_getValue(enSec, ""), SyncLastSeen(), EnstylerLastSeenDo(), "" == enLocParser.search && $("article").not(".threadWidget-item").each(function() {
    if ($(this).length) return GM_setValue(enSec, $(this).attr(enID)), GM_setValue(enSec + "Last", enSeenArticle), SaveLastSeen(), !1;
  })) : EnstylerLastSeenLast());
}

function EnstylerLastSeenDo() {
  "" != enSec && (GM_setValue("enLastCheck" + enSec, Date.now() / enMs2Min), "" !== enSeenArticle || "" !== enLoadedArticle ? (GM_setValue(enSec + "Last", enSeenArticle), $("#" + enSeenArticle).addClass("enClassMarkArticle"), 
  $("#" + enLoadedArticle).addClass("enClassMarkArticleLoad")) : GM_setValue(enSec, "thread_1"));
}

function EnstylerLastSeenLast() {
  var e = GM_getValue(enNewestBase + "LastSec", "");
  GM_setValue(e, GM_getValue(e + "Last", ""));
}

function EnstylerLastSeenSkip(e) {
  e == "#" + GM_getValue(enSec, "") && (GM_setValue(enSec, enSeenArticle), enSeenArticle = $(e).next().attr(enID), EnstylerLastSeenDo());
}

function enCheckUpdates() {
  if (GM_config.get("enConfInjectCSS")) {
    var e = Date.now() / enMs2Min - GM_getValue("enLastUpdateCheck", "0");
    (e > enUpdateInterval || e < 0) && enUpdateCSS();
  }
}

function enUpdateCSS() {
  var e = parseInt(Date.now() / enMs2Min), n = enComposeUpdateOpt();
  enCacheExternalResource(enUpdateUrl + n, MyCSS), GM_setValue("enLastUpdateCheck", e), enSaveMyCSS();
}

function enComposeUpdateOpt() {
  var e = GM_getValue(enCssOpt, "");
  if ("" == e || !e.startsWith("#")) return "";
  var n = (e = e.replace(/\n/g, "")).split(";");
  e = "";
  for (var t = 0; t < n.length; t++) if ("" != n[t]) {
    var a = n[t].split(":");
    a.length < 2 || (e += "&" + a[1].slice(0, -1) + "=" + a[1]);
  }
  return e = "?" + e.slice(1);
}

function EnstylerMenuActions() {
  if (EnstylerNavRemove(), enMenuButton.setAttribute("style", "background-position: -.00071em -176.85em; width: .85786em; display: inline-block; height: 1.42929em; background-image: url(https://assets.mydealz.de/assets/img/icons_5a065.svg); background-repeat: no-repeat; background-size: 5.50071em 590.57214em; cursor: pointer;"), 
  $("#tour-filter .subNavMenu-layer").after(enMenuButton), enNoScript) return $(".nav-link.navMenu-trigger").hide(), $("#tour-expired").hide(), $("#tour-expired").after(enNavGrid), $(".thread-list-sidebar").hide(), 
  void $(".carousel").hide();
  enInternational || EnstylerAddNav("Main", "<EN-LANG:discussion>", EnstylerSiteConfig("discussion"), "enMainDiscussion"), EnstylerAddNav("Main", "<EN-LANG:enstyler>", '<EN-LANG:enhref>" target="_blank', "enMainHomepage", "home"), 
  EnstylerAddNav("Main", "Enstyler Discussion", "https://www.mydealz.de/diskussion/enstyler-856062", "enMainHomepage", "page"), EnstylerAddNav("MainButton", "<EN-LANG:settings>", showEnstylerConfig, EnstylerButton, "gear-grey");
}

function EnstylerAddNav(e, n, t, a, o) {
  void 0 !== o && "" != o || (o = enNavIconPat);
  var i = !1, s = enMenuItemCode[e].replace(enPATTERN[enID], a).replace(enPATTERN[enTEXT], n);
  o != enNavIconPat && (s = s.split(enNavIconPat).join("--type-" + o)), "function" == typeof t ? i = !0 : s = s.replace(enPATTERN[enHREF], t), "M" == e[0] && ("" == enAddMain && $(".nav-link.navMenu-trigger").click(debounce(300, EnstylerMainDo)), 
  enAddMain += s, i && (enAddMainFunc[enAddMainCount++] = {
    ID: a,
    target: t
  }));
}

function EnstylerMainDo() {
  $(".popover-content nav .navMenu-div").first().before(enLangLocalize(enAddMain, enMenuLang, enLANG));
  var e = $(".popover--mainNav"), n = 35 * (enAddMain.split(enNavEntry).length - 1) + parseInt(e.attr("style").split("height: ")[1]);
  e.attr("style", e.attr("style").replace(/height: [0-9.]*px/, "height: " + n + "px"));
  for (var t = 0; t < enAddMainCount; t++) $("section #" + enAddMainFunc[t].ID).click(enAddMainFunc[t].target);
}

function EnstylerNavRemove() {
  enAddMain = "", enAddMainFunc = [], enAddMainCount = 0, $(".navMenu-page").unbind("click"), $("." + enNavEntry).remove();
}

function confLang(e) {
  return enLangLocalize("<EN-LANG:" + e + ">", enConfigLang, enLANG);
}

function confMess(e) {
  return enLangLocalize("<EN-LANG:" + e + ">", enMessageLang, enLANG);
}

function showEnstylerConfig() {
  enGMConfigOpen ? GM_config.close() : (GM_config.open(), $(".popover--mainNav").remove(), enGMConfigOpen = !0);
}

function confLangOpen() {
  GM_config.set("enConfLang", GM_getValue("enLang", "")), $('.GM_config button[id$="_saveBtn"]').html(confLang("save")), $('.GM_config button[id$="_saveBtn"]').prop("title", confMess("save")), $('.GM_config button[id$="_closeBtn"]').html(confLang("close")), 
  $('.GM_config button[id$="_closeBtn"]').prop("title", confMess("close")), $("#GM_config_resetLink").html(confMess("reset"));
}

function SyncSettings() {
  EnGetValue(enCssOpt, enSetValue), EnGetValue(enSettings, enSetSettings);
}

function SaveSettings() {
  GM_config.get("enConfInjectCSS") && (EnSaveValue(enCssOpt, GM_getValue(enCssOpt)), enSaveMyCSS());
  for (var e = "", n = 0; n < enSaveSettings.length; n++) e += enSaveSettings[n] + "=" + GM_config.get(enSaveSettings[n]) + "&";
  EnSaveValue(enSettings, e);
}

function SaveLastSeen() {
  if (enAutoSync) {
    GM_config.get("enConfSyncTime");
    Date.now() / enMs2Min - GM_getValue("enLastCheck" + enSec, "0") > 5 && (delay = 500), sleepAsync(function() {
      EnSaveValue(enSec, GM_getValue(enSec, ""));
    }, GM_config.get("enConfSyncTime", 10) * enMs2Min / 2);
  }
}

function SyncLastSeen() {
  if (enAutoSync) {
    var e = Date.now() / enMs2Min, n = e - GM_getValue("enLastCheck" + enSec, "0");
    (n > enSyncInterval || n < 0) && (GM_setValue("enLastCheck" + enSec, e), EnGetValue(enSec, enSetLastSeen));
  }
}

function enSetLastSeen(e, n) {
  enLoadedArticle = n, EnstylerLastSeenDo(), enLoadedArticle.replace(/thread_/i, "") > enSeenArticle.replace(/thread_/i, "") && enSetValue(e + "Last", n);
}

function enSaveMyCSS() {
  earlyCSS(), EnSaveValue(MyCSS, extraCSS + GM_getValue(MyCSS).replace(/^.*?{/, "").replace(/} *@-moz-document.*/, ""), !1);
}

function checkSyncSettings() {
  var e = GM_config.fields.enSyncKeyInput.toValue();
  null === e && (e = $("#undefined_field_enSyncKeyInput").val());
  GM_config.get("enConfSyncKey");
  e.length < 6 && (checkSyncReset(), e = enSyncOff), enSyncKey = e, GM_config.fields.enConfSyncKey.node.value = e, GM_config.set("enConfSyncKey", e), GM_config.fields.enSyncKeyInput.value = e, GM_config.fields.enSyncKeyInput.reload();
}

function checkSyncReset() {
  GM_config.fields.enSyncKeyInput.value = enSyncOff, GM_config.fields.enSyncKeyInput.reload(), $("#undefined_field_enSyncKeyInput").val(enSyncOff), syncCheckBug > 0 && ($("#undefined_field_enSyncKeyInput").on("change", function() {
    checkSyncSettings();
  }), syncCheckBug--);
}

function enSetSettings(e, n) {
  for (var t = n.split("&"), a = 0; a < t.length; a++) {
    GM_config.set("enConfSyncKey", enSyncOff);
    var o = t[a].split("=");
    o.length < 2 || (GM_config.fields[o[0]].value = o[1], GM_config.fields[o[0]].reload());
  }
}

function enSaveCSS() {
  enSendCSS(), enSetHome(), enUpdateCSS(), EnstylerHomeButton();
}

function enAmazonMobileRedirect() {
  var e = "" + enLocParser;
  return !e.startsWith("https://www.amazon") || (GM_config.get("enConfAmazonRedirect") && (e.includes("/gp/aw/d/") ? window.location.replace(e.replace("/gp/aw/d/", "/dp/")) : e.includes("/gp/aw/ol/") ? window.location.replace(e.replace("/gp/aw/ol/", "/gp/offer-listing/")) : (enDebugLog("AMAZON redirect failed ... redirect to main page"), 
  window.location = enLocParser.protocol + enLocParser.host)), !1);
}

function EnstylerStart() {
  EnstylerFixedNav(), EnstylerLastSeen(), EnstylerDealTime(), EnstylerBlacklist(), EnstylerDealActions();
}

function EnstylerRedo() {
  EnstylerLastSeenDo(), EnstylerPagePickerDo(), EnstylerDealTimeDo(), EnstylerBlacklistDo(), EnstylerDealActionsDo();
}

function EnstylerDelayedInit() {
  var e = $(".nav").css("background-color"), n = shadeRGBColor($(".btn--mode-special").first().css("background-color"), .1), t = shadeRGBColor(e, .7);
  addStyleString(" .GM_config {background-color: " + e + " !important; color: " + t + "; top: " + enMainHeigth + "px !important;} .GM_config .section_header {background-color: " + shadeRGBColor(e, -.25) + " !important; color: " + t + " !important;} .nav-link-text:hover, .js-navDropDown-messages:hover, .js-navDropDown-activities:hover  { background-color: " + shadeRGBColor(e, .1) + " !important;} .GM_config input[type=button] { background-color: " + n + " !important; border-color: " + n + " !important; min-width: 10em;} .GM_config input[type=button]:hover, .btn--mode-special:hover { background-color: " + shadeRGBColor(n, .2) + " !important; border-color: " + shadeRGBColor(n, .2) + " !important;}"), 
  EnstylerMenuActions(), EnstylerPagePickerCreate(), $("#main").bind("DOMSubtreeModified", debounce(100, function() {
    EnstylerRedo();
  }));
}

function WaitForBody() {
  if (enAmazonMobileRedirect(), $("section, footer").length) {
    if (earlyCSS(), enLocParser.pathname.match(enDisableScript)) return enDebugLog("disable Enstyler for path: " + enLocParser.pathname), void enDebugLog("regex: " + enDisableScript);
    WaitForDOM();
  } else setTimeout(WaitForBody, 10);
}

function WaitForDOM() {
  var e = $(".nav, #navigation").css("background-color").replace(/[^\(]*/, "");
  $(".vwo-deal-button, #footer").length && "" != e ? MAIN() : setTimeout(WaitForDOM, 100);
}

function earlyCSS() {
  extraCSS = enCSS, "userstyles.org" != enLocParser.hostname && (GM_config.get("enConfInjectCSS") && addStyleString(GM_getValue("Enstyler2_CSS", ""), 'domain("' + enLocParser.hostname), enCSSDealz = GM_config.get("enConfCSSDealz"), 
  myDealAction = GM_config.get("enConfDealAction"), myTouch = GM_config.get("enConfTouch"), myCompact = GM_config.get("enConfCompact"), myPrice = GM_config.get("enConfPrice"), myFixHtml = GM_config.get("enConfFixHtml"), 
  myVotebar = GM_config.get("enConfDealVotebar"), myVotescale = GM_config.get("enConfDealVotescale"), myPrice && (extraCSS += ".threadGrid-title .flex {display: none;}"), myCompact && (extraCSS += ".threadGrid {padding: .3em !important;} .threadGrid-headerMeta, .threadGrid-title {height: 2.8em;}.thread-title {white-space: nowrap;} .threadGrid-headerMeta {height: 2.3em;}.space--mt-2, .space--mv-2 {margin-top: .25em;} .vote-box {height: 2.1em} .votebar {top: 0;} .threadTempBadge-icon {font-size: 1.3em !important;}", 
  myPrice && (extraCSS += ".threadGrid-headerMeta, .threadGrid-title {height: 2em !important;}")), myTouch && (extraCSS += "article .threadGrid-footerMeta .ico:before, article .threadItem-footerMeta .ico:before, article .threadCardLayout--row--small .ico:before, .thread-userOptionLink.ico::before {-webkit-transform: scale(1.7); transform: scale(1.7); width: 1.5em; left: .4em;}.ico--reduce3 {left: .4em;} #emergency {transform: scale(1.5); margin-left: .7em;}article a.btn--circle {-webkit-transform: scale(1.5); transform: scale(1.5); left: -1em; margin-left: 3em; width: 4em;}.vote-down, .vote-up {padding-top: 0.25em; padding-bottom: 0.25em}")), 
  addStyleString(extraCSS);
}

function MAIN() {
  var e = Date.now();
  EnstylerInit(), enCheckUpdates(), document.body.appendChild(enGMFrame), "userstyles.org" != enInternationalSite ? (addStyleString(".bg--off {background-color: " + shadeRGBColor($(".bg--main").css("background-color"), -.08) + "!important;}"), 
  enMainHeigth = getOuterHeight("header"), EnstylerStart(), EnstylerStartupDelay = Date.now() - e, EnstylerDelayedInit()) : (GM_config.get("enConfInjectCSS") && addStyleString(GM_getValue("Enstyler2_CSS", ""), "url(https://userstyles.org"), 
  EnstylerHomeButton(), setUserClick(), enSetHome(), GM_config.get("enConfInjectCSS") && addStyleString("#buttons {visibility: hidden;} #ownedButtons {visibility: visible; border: 1px solid red;}"), "#style-info" == enLocParser.hash && showNotSaved());
}

function showEnstylerCSS() {
  enGetHome(), GM_config.open();
}

function EnstylerHomeButton() {
  $("#advancedsettings_area").attr("class", "advancedsettings_shown"), $(".advanced_button").remove(), $("select, input").unbind(), input.setAttribute("style", "font-size: 1.1em; padding: 0.8em;"), $("#button_middle").after(input), 
  window.scrollTo(0, 600);
}

function setUserClick() {
  $("#setting-455195").change(HideShowLogoSelect), $("#setting-451668").change(HideShowEnstyler);
}

function enGetHome() {
  var e, n, t, a = "";
  $("#style-settings select").each(function() {
    e = $(this).attr(enID), n = $(this).val(), t = $("option[value=" + n + "]").text(), a += "#" + e + ":" + n + ":" + t + ";\n";
  }), $("#style-settings input[type=text]").each(function() {
    e = $(this).attr(enID), n = $(this).val(), a += "#" + e + ":" + n + ":" + (t = "RGB-Clolor") + ";\n";
  }), $("#style-settings input:checked").each(function() {
    e = $(this).attr(enID), n = $(this).val(), t = $("label[for=" + e + "]").text(), a += "#" + e + ":" + n + ":" + t + ";\n";
  }), GM_config.set("saveOpt", a), GM_setValue(enCssOpt, a), EnSaveValue(enCssOpt, a);
}

function enSetHome() {
  input.value = confLang("options");
  var e = GM_getValue(enCssOpt, ""), n = (e = e.replace(/\n/g, "")).split(";");
  if ("" != e && e.startsWith("#")) {
    for (var t = 0; t < n.length; t++) {
      var a = n[t].split(":");
      a[0].startsWith("#setting") ? ($(a[0]).val(""), $(a[0]).val(a[1])) : a[0].startsWith("#option") ? $(a[0]).prop("checked", !0) : "" != a[0] && enDebugLog('ignoring unkown option: "' + a + '"');
    }
    GM_config.get("enConfInjectCSS") && addStyleString("#button { display: none; }"), HideShowLogoSelect(), HideShowEnstyler();
  }
}

function showNotSaved() {
  input.value = confLang("optnotsave"), EnstylerHomeButton();
}

function ShowHideItem(e, n, t, a) {
  $("#style-settings " + t).each(function() {
    -1 != $(this).text().indexOf(a) && ($(e).val() == n ? $(this).parent().addClass(enClassHidden) : $(this).parent().removeClass(enClassHidden));
  });
}

function HideShowLogoSelect() {
  ShowHideItem("#setting-455195", "ik-logo1", "label", "MyDealz Logo");
}

function HideShowEnstyler() {
  ShowHideItem("#setting-451668", "ik-compact1", "label", "... ");
}

function enSendCSS() {
  isFirefox && "#style-info" == enLocParser.hash && "string" == typeof GM_info.scriptHandler && GM_info.scriptHandler.match(/usi/i) && window.open(document.referrer + "/1/" + enComposeCSS());
}

function enCatchCSS() {
  var e = enLocParser.search.replace(/\?/, "#").replace(/=/g, ":").replace(/\&|$/g, ":notext;\n#");
  GM_setValue(enCssOpt, e), GM_setValue("enLastUpdateCheck", 0), window.close();
}

function enComposeCSS() {
  var e = GM_getValue(enCssOpt, "");
  if ("" == e || !e.startsWith("#")) return "";
  var n = (e = e.replace(/\n/g, "")).split(";");
  e = "";
  for (var t = 0; t < n.length; t++) if ("" != n[t]) {
    var a = n[t].split(":");
    a.length < 2 || (e += "&" + a[0] + "=" + a[1]);
  }
  return e = "?" + e.slice(1).replace(/#/g, ""), enDebugLog(e), e;
}

function mobileLog(e) {
  GM_setValue(saveLog, GM_getValue(saveLog) + e + "\n");
}

function mobileShowLog() {
  alert(GM_getValue(saveLog));
}

function mobileClearLog() {
  GM_setValue(saveLog, "Enstyler Log\n");
}

function EnstylerSiteConfig(e) {
  return enGetSiteConfig(enInternationalName, e);
}

function enGetSiteConfig(e, n) {
  return enSiteConfig.hasOwnProperty(e) && enSiteConfig[e].hasOwnProperty(n) ? enSiteConfig[e][n] : "";
}

function enLangLocalize(e, n, t) {
  return enDealLang.hasOwnProperty(t) && void 0 !== n[t] || (t = "en"), (e = e.replace(enLangPat, function(e, a) {
    return n.hasOwnProperty(t) && n[t].hasOwnProperty(a) ? n[t][a] : a;
  })).match(enLangPat) ? enLangLocalize(e, n, t) : e;
}

function addStyleString(e, n) {
  // check if style contains @-moz-document rules
  if (void 0 === n && (n = ""), e.match(enUserScript.detect)) {
    "" == n && (n = enLocParser.hostname);
    var t = e.split(n);
    e = "";
    for (var a = 1; a < t.length; a++) -1 != t[a].indexOf("{") && (e += t[a].replace(enUserScript.split, "").replace(enUserScript.next, ""));
  }
  for (var o, i = 0, s = enCSSmax; e.length > s && (o = e.substring(s).indexOf("}.")) > 0; ) addStyleString(e.slice(i, s += o + 1)), i = s, s += enCSSmax;
  var l = document.createElement("style");
  l.innerHTML = e.slice(i), document.body.appendChild(l);
}

function capitalizeFirstLetter(e) {
  return e[0].toUpperCase() + e.slice(1);
}

function truncStringWord(e, n, t) {
  return void 0 === t && (t = " "), e.length > n ? (e = e.substr(0, n - 1)).substr(0, e.lastIndexOf(t)) + "..." : e;
}

function sleepAsync(e, n) {
  setTimeout(e, n);
}

function shadeRGBColor(e, n) {
  if (void 0 === n && (n = .1), void 0 === e) return "rgba(0,0,0,0)";
  var t = e.split(","), a = n < 0 ? 0 : 255, o = n < 0 ? -1 * n : n, i = parseInt(t[0].slice(4)), s = parseInt(t[1]), l = parseInt(t[2]);
  return "rgb(" + (Math.round((a - i) * o) + i) + "," + (Math.round((a - s) * o) + s) + "," + (Math.round((a - l) * o) + l) + ")";
}

function debounce(e, n) {
  var t = null;
  return function() {
    clearTimeout(t), t = setTimeout(function() {
      n.call(this);
    }, e);
  };
}

/* curreently we assume its a CSS or JS File, so we strip comments and @namespace @moz-document... */
function enCacheExternalResource(e, n) {
  GM_xmlhttpRequest({
    method: "GET",
    url: e,
    onload: function(e) {
      var t = e.responseText.replace(/\r\n/g, " ").replace(/\/\*.*?\*\/|   *|\t/g, "").replace(/([:;]) /g, "$1").replace(/1111.11%/g, "100%");
      GM_setValue(n, t), addStyleString(t);
    },
    onerror: function(e) {
      alert(confLang("cssfailed"));
    }
  });
}

function getOuterHeight(e) {
  e = "string" == typeof e ? document.querySelector(e) : e;
  var n = window.getComputedStyle(e), t = parseFloat(n.marginTop) + parseFloat(n.marginBottom);
  return Math.ceil(e.offsetHeight + t);
}

function enTranslateText(thisObj) {
  if (enLANG != enSiteLANG && thisObj.length) {
    var text = thisObj.html().replace(/[#\(\)]|\n|\r|\t/g, ""), html = "", transTags = [], count, match, buff = "", last = 0, regex = /<.*?>/gi;
    for (count = 0; match = regex.exec(text); count++) {
      if (enTransTags < count || buff.length + (match.index - last) > enMaxTrans) {
        var space = text.lastIndexOf(" ", last + (enMaxTrans - buff.length));
        buff += text.slice(last, last + space), html = text.slice(last + space);
        break;
      }
      transTags[count] = match[0], buff += text.slice(last, match.index) + '<a href="' + count + '">', last = regex.lastIndex;
    }
    if (buff.length || !((buff = text).length > enMaxTrans)) var query = enTranslateGoogle.replace(/<ENSTYLER-LANG-HERE>/, enLANG).replace(/<ENSTYLER-HTML-HERE>/, encodeURI(buff)), ret = GM_xmlhttpRequest({
      method: "GET",
      url: query,
      onload: function(res) {
        text = eval("(" + res.responseText + ")")[0][0][0];
        try {
          for (x = 1; x < 5; x++) text += eval("(" + res.responseText + ")")[0][x][0];
        } catch (e) {}
        for (count--; count >= 0; count--) text = text.replace(RegExp('< *a href *= *"' + count + '" *>'), transTags[count]);
        thisObj.html(text + " " + html);
      }
    });
  }
}

function EnSaveValue(e, n, t) {
  if ("" != enUserName && enSyncKey != enSyncOff) {
    if (void 0 === t && (t = !0), e + n == enSaveUrlLast) return;
    enSaveUrlLast = e + n;
    var a = t ? enEncrypt(n) : LZString.compressToEncodedURIComponent(n), o = enSaveURL + "ID=" + genUserKey(e) + "&value=" + a;
    GM_xmlhttpRequest({
      method: "GET",
      url: o
    });
  }
}

function genUserKey(e) {
  return sha256_hex(enUserName + ":" + enSyncKey + "&key=" + e);
}

function EnGetValue(e, n, t) {
  if ("" == enUserName && (enUserName = GM_getValue("enConfSyncUser")), "" != enUserName && enSyncKey != enSyncOff) {
    void 0 === t && (t = !0);
    var a = "https://dealz.rrr.de/enstyler/load.php?ID=" + genUserKey(e);
    GM_xmlhttpRequest({
      method: "GET",
      url: a,
      onload: function(a) {
        200 === a.status && a.responseText.length > 30 && n(e, t ? enDecrypt(a.responseText) : LZString.decompressFromEncodedURIComponent(a.responseText));
      }
    });
  }
}

function enSetValue(e, n) {
  GM_setValue(e + "", n + "");
}

function enEncrypt(e) {
  return btoa(sjcl.encrypt(sha256_hex(enUserName + ":" + enSyncKey), e));
}

function enDecrypt(e) {
  return sjcl.decrypt(sha256_hex(enUserName + ":" + enSyncKey), atob(e));
}

function sha256_hex(e) {
  return sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(e));
}

var DEBUG = !1, DEBUGXX = !0, DEBUGXXX = !1, DEBUGINT = !1, enLocParser = location, enInternationalSite = enLocParser.hostname.replace("www.", ""), enInternationalName = capitalizeFirstLetter(enInternationalSite.replace(/^\.|\..*/g, "")), enInternational = "Mydealz" != enInternationalName, enUpdateInterval = 1440, enMs2Min = 6e4, enTime2Min = enMs2Min, enUserLogin = !1, enUserName = "", enSection = enLocParser.pathname.replace(/\/([^\/]+\/*).*/, "/$1"), enSyncOff = "off", enSyncKey = enSyncOff, enAutoSync = !1, enSyncInterval = 5, isFirefox = "undefined" != typeof InstallTrigger, isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);

/Linux/i.test(navigator.userAgent) && void 0 !== GM_info.scriptHandler && GM_info.scriptHandler.startsWith("USI") && (isMobile = !0);

var saveLog = "enMobileLog", enDebugLog = console.error;

mobileClearLog();

var enInitTime, enDisableScript = /settings$/, enLangPat = /<EN-LANG:(.*?)>/g, enLANG, enSiteLANG = void 0 === enSiteConfig[enInternationalName] ? "en" : enSiteConfig[enInternationalName].lang;

"" == (enLANG = GM_getValue("enLang", "")) && (GM_setValue("enLANG", ""), enLANG = enSiteLANG);

var enHostpath = enLocParser.protocol + "//" + enLocParser.host + enLocParser.pathname, enDealAction = [ '<a title="<EN-LANG:post>" class="link ico ico--pos-l ico--type-comment-blue linkPlain space--h-3"href="<ENSTYLER-HREF-HERE>#comment-form" data-handler="track" data-track="{&quot;action&quot;:&quot;scroll_to_comment_add_form&quot;,&quot;label&quot;:&quot;engagement&quot;}">', '<span class="hide--toW3"><EN-LANG:post></span><span class="hide--fromW3 hide--toW2"><EN-LANG:po></span>', "", "</a>", '<a title="<EN-LANG:remove>" class="link text--color-blue ico ico--type-bookmark-blue linkPlain ico--pos-l space--h-3"data-handler="track replace" data-replace="{&quot;endpoint&quot;:&quot;https://www.mydealz.de/threads/<ENSTYLER-THREADID-HERE>/remove&quot;,&quot;method&quot;:&quot;post&quot;}" data-track="{&quot;action&quot;:&quot;save_thread&quot;,&quot;label&quot;:&quot;engagement&quot;}">', '<span class="hide--toW3"><EN-LANG:remove></span><span class="hide--fromW3 hide--toW2"><EN-LANG:rem></span>', "", "</a>", '<a title="<EN-LANG:edit>" class="link text--color-blue ico ico--type-pencil-blue linkPlain ico--pos-l space--h-3"href="<ENSTYLER-HREF-HERE>/edit" data-handler="track" data-track="{&quot;action&quot;:&quot;goto_Update startededit_form&quot;,&quot;beacon&quot;:true}">', '<span class="hide--toW3"><EN-LANG:edit></span><span class="hide--fromW3 hide--toW2"><EN-LANG:ed></span>', "", "<span></a>", '<a title="<EN-LANG:mail>" class="link text--color-blue ico ico--type-mail-blue linkPlain ico--pos-l space--h-3"href="mailto:?subject=<ENSTYLER-TEXT-HERE>" <span class="hide--toW3">', '<span class="hide--toW3"><EN-LANG:mail></span><span class="hide--fromW3 hide--toW2"><EN-LANG:ma></span>', "", "<span></a>", '<a title="<EN-LANG:mail>" class="btn btn--whatsapp btn--circle size--all-xs space--ml-2" style="background-color: #69be28;"', 'href="mailto:?subject=<ENSTYLER-TEXT-HERE>"><span class="ico ico--type-mail-white ico--reduce size--all-xxl">', "</span></a>", "</span></a>" ], enDealFlame = '<span class="vote-tempIco ico ico--type-flame2-red threadTempBadge-icon" style="position: unset; margin-left: .5em; font-size: 2em;"></span>', enDealIce = '<span class="vote-tempIco ico ico--type-snowflake-blueTint threadTempBadge-icon" style="position: unset; margin-left: .5em;"></span>', enDealMarker = "#thread_", enDealAdd = "", enSocialAdd, enDealUnbook = !1, enDealFooter = "", enCSSDealz, enMyCSSID, myDealAction, myTouch, myFixHtml, myVotebar, myVotescale, myCompact, myPrice, EnstylerPageEnum = "enPageEnum", selectList = document.createElement("select");

selectList.id = EnstylerPageEnum, selectList.setAttribute("class", EnstylerPageEnum), selectList.onchange = EnstylerPageAction;

var enClassHidden = "enClassHidden", enClassBlackDone = "enClassBlackDone", enBlacklisted = 0, unwantedRegex = [ /[\[\]\(\)\{\}\?\:\;\!\"\*\+\ ]/g, /[\[\]\(\)\{\}\?\.\:\;\!\"\*\+\,]/g ], enBlack, enBlackTrue, enWhite, enWhiteTrue, enBlackTemp, myFixedCSS = {
  every: ".enFixedNav { display: block; position: fixed; width: 100%; z-index: 120;} .subNav, .profileHeader, .tabbedInterface, .splitPage-wrapper {margin-top: <ENSTYLER-TEXT-HERE>px}",
  subnav: ".subNav {margin-top: 0 !important;} .nav-subheadline {margin-top: <ENSTYLER-TEXT-HERE>px}",
  discus: ".tGrid.page2-center.height--all-full {margin-top: calc(<ENSTYLER-TEXT-HERE>px + 10px);} #footer .page-content { padding-top: calc(<ENSTYLER-TEXT-HERE>px + 10px);}"
}, DealDate = new Date(), TodayStart = new Date(), EnstylerTimeSeen = "enTimeSeen", today = "", oclock = "", yesterday, enNewestBase = "enNewest" + enInternationalSite, enSec = enNewestBase + "-" + enSection.replace(/\//, ""), LastSeenOnce = !0, enSeenArticle = "", enLoadedArticle = "", enUpdateUrl = "https://userstyles.org/styles/128262/enstyler2-style-your-mydealz.css", MyCSS = "Enstyler2_CSS", enCssOpt = "EnstylerCssOpt", enMainSectionMatch = /^\/$|^\/hot$|^\/new$|^\/settings$|^\/discussed$|^\/hei%C3%9F$|^\/diskutiert$/, enHREF = "href", enID = "id", enTEXT = "text", enPATTERN = {
  href: /<ENSTYLER-HREF-HERE>/g,
  id: /<ENSTYLER-THREADID-HERE>/g,
  text: /<ENSTYLER-TEXT-HERE>/g
}, enNavEntry = "enNavEntry", enMenuItemCode = {
  Main: '<a class="enNavEntry navMenu-link" id="<ENSTYLER-THREADID-HERE>" href="<ENSTYLER-HREF-HERE>" data-handler="track" data-track="{&quot;action&quot;:&quot;goto_main_target&quot;,&quot;beacon&quot;:true}"><span class="navMenu-link-ico ico ico--type-discussion-navMenuLayerItem navMenu-ico--selected--type-discussion navMenu-ico--hover--type-discussion"></span><ENSTYLER-TEXT-HERE></a>',
  Sub: '<li class="enNavEntry subNavMenu-item--separator test-tablink-discussed"><a  href="<ENSTYLER-HREF-HERE>" class="subNavMenu-item subNavMenu-link space--h-4 vAlign--all-m" id="<ENSTYLER-THREADID-HERE>" data-handler="track" data-track="{&quot;action&quot;:&quot;goto_menu_target sort&quot;,&quot;label&quot;:&quot;diskutiert&quot;,&quot;beacon&quot;:true}"><span class="box--all-i size--all-xl vAlign--all-m"><ENSTYLER-TEXT-HERE></span><span class="js-vue-container--threadcount" data-handler="vue" data-vue="{&quot;count&quot;:null}"></span></a></li>',
  MainButton: '<a class="enNavEntry navMenu-link" id="<ENSTYLER-THREADID-HERE>"><span class="navMenu-link-ico ico  ico--type-discussion"></span><ENSTYLER-TEXT-HERE></a>'
}, enNavGrid = '<div class="config_var subNavMenu subNavMenu--menu subNav-item" style="margin-left: 4em; margin-top: 1em; border: 0;"><a title="Grid Layout" class="ico ico--type-grid-subNavLayerActive size--all-xxxl vAlign--all-m space--h-1" href="' + enHostpath + '?layout=grid"></a><a title="List Layout" class="ico ico--type-list-subNavLayerActive size--all-xxxl vAlign--all-m space--h-1" href="' + enHostpath + '?layout=horizontal"></a><a title="Text Layout" class="ico ico--type-rows-subNavLayerActive size--all-xxxl vAlign--all-m space--h-1" href="' + enHostpath + '?layout=text"></a></div>', enMenuItemLength = enMenuItemCode.length, EnstylerButton = "EnstylerButton", enMenuButton = document.createElement("input");

enMenuButton.type = "button", enMenuButton.setAttribute(enID, "emergency"), enMenuButton.onclick = showEnstylerConfig, enMenuButton.value = " ";

var enNavIconPat = "--type-discussion", enAddMain = "", enAddMainFunc = [], enAddMainCount = 0, enJSAutoUpdate = GM_info.scriptWillUpdate, enUpdateWindow, enUnblackText = enLangLocalize("<EN-LANG:unblack> <ENSTYLER-TEXT-HERE> Dealz", enConfigLang, enLANG), enConfDefs = [];

enConfDefs.default = {
  enstylerCSS: {
    section: [ confLang("features"), "" ],
    label: confLang("configcss"),
    title: confMess("configcss"),
    type: "button",
    click: function() {
      enUpdateWindow = window.open("https://userstyles.org/styles/128262", "UserCSS", "left=0,top=0"), GM_setValue("enLastUpdateCheck", 0);
    }
  },
  enstylerJS: {
    label: confLang("userscript"),
    title: confMess("userscript"),
    type: "button",
    click: function() {
      sleepAsync((enUpdateWindow = window.open("https://greasyfork.org/scripts/24243-enstylerjs/code/EnstylerJS.user.js", "UserScript", "width=210,height=210,left=0,top=0")).close, 5e3);
    }
  },
  enConfInjectCSS: {
    label: confLang("injectcss"),
    title: confMess("injectcss"),
    type: "checkbox",
    default: !0
  },
  enConfMax: {
    label: confLang("max"),
    title: confMess("max"),
    type: "select",
    options: enSiteConfig.max,
    default: "1280"
  },
  Section: {
    section: [ confLang("config"), "" ],
    type: "hidden"
  },
  enConfNavFixed: {
    label: confLang("navfixed"),
    title: confMess("navfixed"),
    type: "checkbox",
    default: !0
  },
  enConfDealAction: {
    label: confLang("dealaction"),
    title: confMess("dealaction"),
    type: "checkbox",
    default: !0
  },
  enConfDealVotebar: {
    label: confLang("dealvotebar"),
    title: confMess("dealvotebar"),
    type: "checkbox",
    default: !0
  },
  enConfDealVotescale: {
    label: confLang("dealvotescale"),
    title: confMess("dealvotescale"),
    type: "select",
    options: enSiteConfig.votescale,
    default: "500"
  },
  enConfTouch: {
    label: confLang("touch"),
    title: confMess("touch"),
    type: "checkbox",
    default: !0
  },
  enConfWidth: {
    label: confLang("width"),
    title: confMess("width"),
    type: "select",
    options: enSiteConfig.width,
    default: "off"
  },
  enConfPrice: {
    label: confLang("price"),
    title: confMess("price"),
    type: "checkbox",
    default: !1
  },
  enConfCompact: {
    label: confLang("compact"),
    title: confMess("compact"),
    type: "checkbox",
    default: !1
  },
  enConfCSSDealz: {
    label: confLang("cssdealz"),
    title: confMess("cssdealz"),
    type: "checkbox",
    default: !0
  },
  enConfAmazonRedirect: {
    label: confLang("amazon"),
    title: confMess("amazon"),
    type: "checkbox",
    default: !0
  },
  enConfPagePicker: {
    label: confLang("picker"),
    title: confMess("picker"),
    type: "checkbox",
    default: !0
  },
  enConfDealTime: {
    label: confLang("dealtime"),
    title: confMess("dealtime"),
    type: "checkbox",
    default: !0
  },
  enConfFixHtml: {
    label: confLang("fixhtml"),
    title: confMess("fixhtml"),
    type: "checkbox",
    default: !0
  },
  enConfBlackEnable: {
    label: confLang("blacklist"),
    title: confMess("blacklist"),
    type: "checkbox",
    default: !0
  },
  enConfHideColder: {
    label: confLang("blackcold"),
    title: confMess("blackcold"),
    type: "select",
    options: enSiteConfig.blackcold,
    default: "-20"
  },
  enConfBlacklist: {
    label: confLang("black"),
    title: confMess("black"),
    type: "text",
    size: 70,
    default: ""
  },
  enConfWhitelist: {
    label: confLang("white"),
    title: confMess("white"),
    type: "text",
    size: 70,
    default: ""
  },
  enConfUnblacklist: {
    label: confLang("unblack"),
    title: confMess("unblack"),
    type: "button",
    click: function() {
      EnstylerBlacklistUnhide();
    }
  },
  enConfLang: {
    label: confLang("lang"),
    title: confMess("lang"),
    type: "select",
    options: enSiteConfig.languages,
    default: ""
  }
}, enConfDefs.sync = {
  syncsection: {
    section: [ confLang("syncconf"), "" ],
    type: "hidden"
  },
  enConfAutoSync: {
    label: confLang("autosync"),
    title: confMess("autosync"),
    type: "checkbox",
    default: !0
  },
  enConfSyncTime: {
    label: confLang("synctime"),
    title: confMess("synctime"),
    type: "select",
    options: enSiteConfig.synctimes,
    default: "5"
  },
  enSyncKeyInput: {
    label: confLang("synckey"),
    title: confMess("synckey"),
    type: "text",
    size: 16,
    save: !1,
    default: "off"
  },
  enConfSyncKey: {
    type: "hidden",
    default: enSyncOff
  },
  enConfSync: {
    label: confLang("sync"),
    title: confMess("sync"),
    type: "button",
    click: function() {
      SyncSettings();
    }
  }
}, isFirefox && (enConfDefs.firefox = {
  debugsection: {
    section: [ "Firefox", "" ],
    type: "hidden"
  },
  enConfNoScript: {
    label: confLang("noscript"),
    title: confMess("noscript"),
    type: "checkbox",
    default: !1
  }
});

var enSaveSettings = [ "enConfNavFixed", "enConfDealAction", "enConfDealVotebar", "enConfTouch", "enConfAmazonRedirect", "enConfPagePicker", "enConfFixHtml", "enConfDealTime", "enConfBlackEnable", "enConfHideColder", "enConfDealVotescale", "enConfBlacklist", "enConfWhitelist", "enConfAutoSync", "enConfCompact" ], enHomefieldDefs = {
  saveOpt: {
    section: [ confLang("savecss"), "" ],
    label: confLang("howtocss"),
    type: "textarea",
    size: 70
  },
  enConfInjectCSS: {
    label: confLang("injectcss"),
    type: "checkbox",
    default: !0
  },
  enConfLang: {
    type: "hidden",
    options: enSiteConfig.languages,
    default: ""
  }
}, enGMFrame = document.createElement("div");

enGMFrame.setAttribute("class", "GM_config");

var enGMConfigOpen = !1, enRemoveConfig = [ {
  check: !1,
  switch: "enConfBlackEnable",
  remove: "enConfWhitelist"
}, {
  check: !1,
  switch: "enConfBlackEnable",
  remove: "enConfBlacklist"
}, {
  check: !1,
  switch: "enConfBlackEnable",
  remove: "enConfHideColder"
}, {
  check: !1,
  switch: "enConfBlackEnable",
  remove: "enConfUnblacklist"
} ], enSettings = "enSettings", syncCheckBug = 1;

if (window.location.hostname.endsWith("userstyles.org")) GM_config.init({
  id: "GM_config",
  title: confLang("headline") + " CSS",
  fields: enHomefieldDefs,
  events: {
    open: function() {
      confLangOpen();
    },
    save: function() {
      enSaveCSS(), GM_config.close(), sleepAsync(window.close, 1e3);
    },
    close: function() {
      enGMConfigOpen = !1;
    }
  },
  frame: enGMFrame
}); else {
  var enFixedNavLast = !1;
  GM_config.init({
    id: enInternational ? "GM_config" + enInternationalSite : "GM_config",
    title: confLang("headline"),
    fields: $.extend(enConfDefs.default, enConfDefs.firefox, enConfDefs.sync, enConfDefs.debug),
    events: {
      init: function() {
        GM_config.fields.enSyncKeyInput.value = GM_config.fields.enConfSyncKey.value;
      },
      open: function(e) {
        syncCheckBug = 1, GM_config.get("enConfSyncKey").length < 6 && (GM_config.set("enConfSyncKey", enSyncOff), checkSyncReset()), $("#GM_config_field_enSyncKeyInput").on("change", function() {
          checkSyncSettings();
        }), enFixedNavLast = GM_config.get("enConfNavFixed"), confLangOpen(), $("#GM_config_enstylerJS_var").after(enNavGrid), $(enRemoveConfig).each(function() {
          GM_config.get(this.switch) == this.check && GM_config.fields[this.remove].remove();
        }), enJSAutoUpdate && GM_config.fields.enstylerJS.remove(), isMobile || GM_config.fields.enConfWidth.remove();
      },
      save: function() {
        "auto" == GM_config.get("enConfLang") ? GM_setValue("enLang", "") : GM_setValue("enLang", GM_config.get("enConfLang")), SaveSettings(), GM_setValue("enNoScript", GM_config.get("enConfNoScript")), GM_setValue("enWidth", GM_config.get("enConfWidth")), 
        GM_setValue("enMax", GM_config.get("enConfMax")), window.location.reload();
      },
      close: function() {
        enGMConfigOpen = !1, enCheckUpdates();
      }
    },
    frame: enGMFrame
  }), enSyncKey = GM_config.get("enConfSyncKey"), enAutoSync = GM_config.get("enConfAutoSync"), enSyncInterval = GM_config.get("enConfSyncTime", enSyncInterval);
}

var enMainHeigth, enCSS = [ ".threadWidget-footer::after {display: none !important}; .GM_config {left: 5% !iportant; top: 8% !important; height: auto !important; max-width: 35em !important; background-color: white;} .GM_config input, .GM_config button, .GM_config textarea { border: 1px solid; margin: 0.5em 0em 0.2em 1em; padding: 0.1em;} .GM_config .reset { font-size: 9pt; padding-right: 1em; } .GM_config { border: none !important; box-shadow: 1px 6px 9px -1px rgba(0, 0, 0, 0.3); left: 8% !important; height: auto !important; min-width: 21em; max-width: 37em !important; } .GM_config .config_header {font-size: 14pt !important; border: none !important; padding-top: 0.5em; color: #69be28; font-weight: bold; text-align: center;} .GM_config .section_header { border: none !important; background-color:#005293 !important; color: #8eaacd !important; text-align: center; margin-top: 1em;} .GM_config .field_label:hover {color: white;} .GM_config a:hover {text-decoration: underline; color: darkgray;} .GM_config .config_var {display: inline-block;} .GM_config .field_label {display: inline-block; min-width: 14em;  margin-left: 2em; } .GM_config button, .GM_config input[type=button] { font-weight: bold; text-align: center; color: #fff; background-color:  #58a618 !important; } .GM_config button:hover {background-color: #a5d867 !important; border-color: #a5d867 !important;} .enClassHidden, #EnPopup_closeBtn, .voteBar-- { display: none !important; } .votebar {display: inline-block; position: relative; top: .3em; height: .5em; margin-left: 2%; max-width: 80% } .voteBar--warm { background-color:  #ffb612 } .voteBar--hot  { background-color:  #e00034 } .voteBar--burn { background-color:  #e00034 } .voteBar--cold, .voteBar--colder { background-color:: #00a9e0 } .voteBar--cold, .voteBar--colder { background-color: #5bc6e8 } .threadTempBadge { display: none; } .flex--justify-space-between { justify-content: unset !important; }", ".page2-center, .thread-list--type-list--sideAds, .thread-list--type-list { max-width: " + GM_getValue("enMax") + "px !important;}" ].join(" "), extraCSS, input = document.createElement("input");

input.type = "button", input.setAttribute(enID, EnstylerButton), input.onclick = showEnstylerCSS, input.value = confLang("options"), !enLocParser.hostname.endsWith("usertyle.org") && enLocParser.search.match(/ik-maxwidth/i) && enCatchCSS();

//var isIE = /*@cc_on!@*/false || !!document.documentMode;
var enNoScript = GM_getValue("enNoScript", !1);

isFirefox && enNoScript && "userstyles.org" != enInternationalSite && window.addEventListener("beforescriptexecute", function(e) {
  e.stopPropagation(), e.preventDefault();
}, !0);

var enWidth = GM_getValue("enWidth");

isMobile && "off" != enWidth && $("meta[name=viewport]").attr("content", "width=" + enWidth + "px, initial-scale=1");

var enUserScript = {
  detect: /.*?@-moz-document .*?\{\s*/,
  split: /^.*?\{/,
  next: /}\s*@-moz-document.*/
}, enCSSmax = 16100, enTranslateGoogle = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=<ENSTYLER-LANG-HERE>&dt=t&q=<ENSTYLER-HTML-HERE>", enMaxTrans = 300, enTransTags = 5, enSaveURL = "https://dealz.rrr.de/enstyler/save.php?", enSaveUrlLast = "";

WaitForBody();