47 skills found · Page 2 of 2
Lifestylerr / DAWD/*The MIT License (MIT) Copyright (c) 2015 Apostolique Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // ==UserScript== // @name AposLauncher // @namespace AposLauncher // @include http://agar.io/* // @version 4.124 // @grant none // @author http://www.twitch.tv/apostolique // ==/UserScript== var aposLauncherVersion = 4.124; Number.prototype.mod = function(n) { return ((this % n) + n) % n; }; Array.prototype.peek = function() { return this[this.length - 1]; }; var sha = "efde0488cc2cc176db48dd23b28a20b90314352b"; function getLatestCommit() { window.jQuery.ajax({ url: "https://api.github.com/repos/apostolique/Agar.io-bot/git/refs/heads/master", cache: false, dataType: "jsonp" }).done(function(data) { console.dir(data.data); console.log("hmm: " + data.data.object.sha); sha = data.data.object.sha; function update(prefix, name, url) { window.jQuery(document.body).prepend("<div id='" + prefix + "Dialog' style='position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 100; display: none;'>"); window.jQuery('#' + prefix + 'Dialog').append("<div id='" + prefix + "Message' style='width: 350px; background-color: #FFFFFF; margin: 100px auto; border-radius: 15px; padding: 5px 15px 5px 15px;'>"); window.jQuery('#' + prefix + 'Message').append("<h2>UPDATE TIME!!!</h2>"); window.jQuery('#' + prefix + 'Message').append("<p>Grab the update for: <a id='" + prefix + "Link' href='" + url + "' target=\"_blank\">" + name + "</a></p>"); window.jQuery('#' + prefix + 'Link').on('click', function() { window.jQuery("#" + prefix + "Dialog").hide(); window.jQuery("#" + prefix + "Dialog").remove(); }); window.jQuery("#" + prefix + "Dialog").show(); } window.jQuery.get('https://raw.githubusercontent.com/Apostolique/Agar.io-bot/master/launcher.user.js?' + Math.floor((Math.random() * 1000000) + 1), function(data) { var latestVersion = data.replace(/(\r\n|\n|\r)/gm, ""); latestVersion = latestVersion.substring(latestVersion.indexOf("// @version") + 11, latestVersion.indexOf("// @grant")); latestVersion = parseFloat(latestVersion + 0.0000); var myVersion = parseFloat(aposLauncherVersion + 0.0000); if (latestVersion > myVersion) { update("aposLauncher", "launcher.user.js", "https://github.com/Apostolique/Agar.io-bot/blob/" + sha + "/launcher.user.js/"); } console.log('Current launcher.user.js Version: ' + myVersion + " on Github: " + latestVersion); }); }).fail(function() {}); } getLatestCommit(); console.log("Running Bot Launcher!"); (function(d, e) { //UPDATE function keyAction(e) { if (84 == e.keyCode) { console.log("Toggle"); toggle = !toggle; } if (82 == e.keyCode) { console.log("ToggleDraw"); toggleDraw = !toggleDraw; } if (68 == e.keyCode) { window.setDarkTheme(!getDarkBool()); } if (70 == e.keyCode) { window.setShowMass(!getMassBool()); } if (69 == e.keyCode) { if (message.length > 0) { window.setMessage([]); window.onmouseup = function() {}; window.ignoreStream = true; } else { window.ignoreStream = false; window.refreshTwitch(); } } window.botList[botIndex].keyAction(e); } function humanPlayer() { //Don't need to do anything. return [getPointX(), getPointY()]; } function pb() { //UPDATE window.botList = window.botList || []; window.jQuery('#nick').val(originalName); function HumanPlayerObject() { this.name = "Human"; this.keyAction = function(key) {}; this.displayText = function() { return []; }; this.mainLoop = humanPlayer; } var hpo = new HumanPlayerObject(); window.botList.push(hpo); window.updateBotList(); ya = !0; Pa(); setInterval(Pa, 18E4); var father = window.jQuery("#canvas").parent(); window.jQuery("#canvas").remove(); father.prepend("<canvas id='canvas'>"); G = za = document.getElementById("canvas"); f = G.getContext("2d"); G.onmousedown = function(a) { if (Qa) { var b = a.clientX - (5 + m / 5 / 2), c = a.clientY - (5 + m / 5 / 2); if (Math.sqrt(b * b + c * c) <= m / 5 / 2) { V(); H(17); return } } fa = a.clientX; ga = a.clientY; Aa(); V(); }; G.onmousemove = function(a) { fa = a.clientX; ga = a.clientY; Aa(); }; G.onmouseup = function() {}; /firefox/i.test(navigator.userAgent) ? document.addEventListener("DOMMouseScroll", Ra, !1) : document.body.onmousewheel = Ra; var a = !1, b = !1, c = !1; d.onkeydown = function(l) { //UPDATE if (!window.jQuery('#nick').is(":focus")) { 32 != l.keyCode || a || (V(), H(17), a = !0); 81 != l.keyCode || b || (H(18), b = !0); 87 != l.keyCode || c || (V(), H(21), c = !0); 27 == l.keyCode && Sa(!0); //UPDATE keyAction(l); } }; d.onkeyup = function(l) { 32 == l.keyCode && (a = !1); 87 == l.keyCode && (c = !1); 81 == l.keyCode && b && (H(19), b = !1); }; d.onblur = function() { H(19); c = b = a = !1 }; d.onresize = Ta; d.requestAnimationFrame(Ua); setInterval(V, 40); y && e("#region").val(y); Va(); ha(e("#region").val()); 0 == Ba && y && I(); W = !0; e("#overlays").show(); Ta(); d.location.hash && 6 <= d.location.hash.length && Wa(d.location.hash) } function Ra(a) { J *= Math.pow(.9, a.wheelDelta / -120 || a.detail || 0); //UPDATE 0.07 > J && (J = 0.07); J > 4 / h && (J = 4 / h) } function qb() { if (.4 > h) X = null; else { for (var a = Number.POSITIVE_INFINITY, b = Number.POSITIVE_INFINITY, c = Number.NEGATIVE_INFINITY, l = Number.NEGATIVE_INFINITY, d = 0, p = 0; p < v.length; p++) { var g = v[p]; !g.N() || g.R || 20 >= g.size * h || (d = Math.max(g.size, d), a = Math.min(g.x, a), b = Math.min(g.y, b), c = Math.max(g.x, c), l = Math.max(g.y, l)) } X = rb.ka({ ca: a - 10, da: b - 10, oa: c + 10, pa: l + 10, ma: 2, na: 4 }); for (p = 0; p < v.length; p++) if (g = v[p], g.N() && !(20 >= g.size * h)) for (a = 0; a < g.a.length; ++a) b = g.a[a].x, c = g.a[a].y, b < s - m / 2 / h || c < t - r / 2 / h || b > s + m / 2 / h || c > t + r / 2 / h || X.m(g.a[a]) } } function Aa() { //UPDATE if (toggle || window.botList[botIndex].name == "Human") { setPoint(((fa - m / 2) / h + s), ((ga - r / 2) / h + t)); } } function Pa() { null == ka && (ka = {}, e("#region").children().each(function() { var a = e(this), b = a.val(); b && (ka[b] = a.text()) })); e.get("https://m.agar.io/info", function(a) { var b = {}, c; for (c in a.regions) { var l = c.split(":")[0]; b[l] = b[l] || 0; b[l] += a.regions[c].numPlayers } for (c in b) e('#region option[value="' + c + '"]').text(ka[c] + " (" + b[c] + " players)") }, "json") } function Xa() { e("#adsBottom").hide(); e("#overlays").hide(); W = !1; Va(); d.googletag && d.googletag.pubads && d.googletag.pubads().clear(d.aa) } function ha(a) { a && a != y && (e("#region").val() != a && e("#region").val(a), y = d.localStorage.location = a, e(".region-message").hide(), e(".region-message." + a).show(), e(".btn-needs-server").prop("disabled", !1), ya && I()) } function Sa(a) { W || (K = null, sb(), a && (x = 1), W = !0, e("#overlays").fadeIn(a ? 200 : 3E3)) } function Y(a) { e("#helloContainer").attr("data-gamemode", a); P = a; e("#gamemode").val(a) } function Va() { e("#region").val() ? d.localStorage.location = e("#region").val() : d.localStorage.location && e("#region").val(d.localStorage.location); e("#region").val() ? e("#locationKnown").append(e("#region")) : e("#locationUnknown").append(e("#region")) } function sb() { la && (la = !1, setTimeout(function() { la = !0 //UPDATE }, 6E4 * Ya)) } function Z(a) { return d.i18n[a] || d.i18n_dict.en[a] || a } function Za() { var a = ++Ba; console.log("Find " + y + P); e.ajax("https://m.agar.io/findServer", { error: function() { setTimeout(Za, 1E3) }, success: function(b) { a == Ba && (b.alert && alert(b.alert), Ca("ws://" + b.ip, b.token)) }, dataType: "json", method: "POST", cache: !1, crossDomain: !0, data: (y + P || "?") + "\n154669603" }) } function I() { ya && y && (e("#connecting").show(), Za()) } function Ca(a, b) { if (q) { q.onopen = null; q.onmessage = null; q.onclose = null; try { q.close() } catch (c) {} q = null } Da.la && (a = "ws://" + Da.la); if (null != L) { var l = L; L = function() { l(b) } } if (tb) { var d = a.split(":"); a = d[0] + "s://ip-" + d[1].replace(/\./g, "-").replace(/\//g, "") + ".tech.agar.io:" + (+d[2] + 2E3) } M = []; k = []; E = {}; v = []; Q = []; F = []; z = A = null; R = 0; $ = !1; console.log("Connecting to " + a); //UPDATE serverIP = a; q = new WebSocket(a); q.binaryType = "arraybuffer"; q.onopen = function() { var a; console.log("socket open"); a = N(5); a.setUint8(0, 254); a.setUint32(1, 5, !0); O(a); a = N(5); a.setUint8(0, 255); a.setUint32(1, 154669603, !0); O(a); a = N(1 + b.length); a.setUint8(0, 80); for (var c = 0; c < b.length; ++c) a.setUint8(c + 1, b.charCodeAt(c)); O(a); $a() }; q.onmessage = ub; q.onclose = vb; q.onerror = function() { console.log("socket error") } } function N(a) { return new DataView(new ArrayBuffer(a)) } function O(a) { q.send(a.buffer) } function vb() { $ && (ma = 500); console.log("socket close"); setTimeout(I, ma); ma *= 2 } function ub(a) { wb(new DataView(a.data)) } function wb(a) { function b() { for (var b = "";;) { var d = a.getUint16(c, !0); c += 2; if (0 == d) break; b += String.fromCharCode(d) } return b } var c = 0; 240 == a.getUint8(c) && (c += 5); switch (a.getUint8(c++)) { case 16: xb(a, c); break; case 17: aa = a.getFloat32(c, !0); c += 4; ba = a.getFloat32(c, !0); c += 4; ca = a.getFloat32(c, !0); c += 4; break; case 20: k = []; M = []; break; case 21: Ea = a.getInt16(c, !0); c += 2; Fa = a.getInt16(c, !0); c += 2; Ga || (Ga = !0, na = Ea, oa = Fa); break; case 32: M.push(a.getUint32(c, !0)); c += 4; break; case 49: if (null != A) break; var l = a.getUint32(c, !0), c = c + 4; F = []; for (var d = 0; d < l; ++d) { var p = a.getUint32(c, !0), c = c + 4; F.push({ id: p, name: b() }) } ab(); break; case 50: A = []; l = a.getUint32(c, !0); c += 4; for (d = 0; d < l; ++d) A.push(a.getFloat32(c, !0)), c += 4; ab(); break; case 64: pa = a.getFloat64(c, !0); c += 8; qa = a.getFloat64(c, !0); c += 8; ra = a.getFloat64(c, !0); c += 8; sa = a.getFloat64(c, !0); c += 8; aa = (ra + pa) / 2; ba = (sa + qa) / 2; ca = 1; 0 == k.length && (s = aa, t = ba, h = ca); break; case 81: var g = a.getUint32(c, !0), c = c + 4, e = a.getUint32(c, !0), c = c + 4, f = a.getUint32(c, !0), c = c + 4; setTimeout(function() { S({ e: g, f: e, d: f }) }, 1200) } } function xb(a, b) { bb = C = Date.now(); $ || ($ = !0, e("#connecting").hide(), cb(), L && (L(), L = null)); var c = Math.random(); Ha = !1; var d = a.getUint16(b, !0); b += 2; for (var u = 0; u < d; ++u) { var p = E[a.getUint32(b, !0)], g = E[a.getUint32(b + 4, !0)]; b += 8; p && g && (g.X(), g.s = g.x, g.t = g.y, g.r = g.size, g.J = p.x, g.K = p.y, g.q = g.size, g.Q = C) } for (u = 0;;) { d = a.getUint32(b, !0); b += 4; if (0 == d) break; ++u; var f, p = a.getInt16(b, !0); b += 4; g = a.getInt16(b, !0); b += 4; f = a.getInt16(b, !0); b += 2; for (var h = a.getUint8(b++), w = a.getUint8(b++), m = a.getUint8(b++), h = (h << 16 | w << 8 | m).toString(16); 6 > h.length;) h = "0" + h; var h = "#" + h, w = a.getUint8(b++), m = !!(w & 1), r = !!(w & 16); w & 2 && (b += 4); w & 4 && (b += 8); w & 8 && (b += 16); for (var q, n = "";;) { q = a.getUint16(b, !0); b += 2; if (0 == q) break; n += String.fromCharCode(q) } q = n; n = null; E.hasOwnProperty(d) ? (n = E[d], n.P(), n.s = n.x, n.t = n.y, n.r = n.size, n.color = h) : (n = new da(d, p, g, f, h, q), v.push(n), E[d] = n, n.ua = p, n.va = g); n.h = m; n.n = r; n.J = p; n.K = g; n.q = f; n.sa = c; n.Q = C; n.ba = w; q && n.B(q); - 1 != M.indexOf(d) && -1 == k.indexOf(n) && (document.getElementById("overlays").style.display = "none", k.push(n), n.birth = getLastUpdate(), n.birthMass = (n.size * n.size / 100), 1 == k.length && (s = n.x, t = n.y, db())) //UPDATE interNodes[d] = window.getCells()[d]; } //UPDATE Object.keys(interNodes).forEach(function(element, index) { //console.log("start: " + interNodes[element].updateTime + " current: " + D + " life: " + (D - interNodes[element].updateTime)); var isRemoved = !window.getCells().hasOwnProperty(element); //console.log("Time not updated: " + (window.getLastUpdate() - interNodes[element].getUptimeTime())); if (isRemoved && (window.getLastUpdate() - interNodes[element].getUptimeTime()) > 3000) { delete interNodes[element]; } else { for (var i = 0; i < getPlayer().length; i++) { if (isRemoved && computeDistance(getPlayer()[i].x, getPlayer()[i].y, interNodes[element].x, interNodes[element].y) < getPlayer()[i].size + 710) { delete interNodes[element]; break; } } } }); c = a.getUint32(b, !0); b += 4; for (u = 0; u < c; u++) d = a.getUint32(b, !0), b += 4, n = E[d], null != n && n.X(); //UPDATE //Ha && 0 == k.length && Sa(!1) } //UPDATE function computeDistance(x1, y1, x2, y2) { var xdis = x1 - x2; // <--- FAKE AmS OF COURSE! var ydis = y1 - y2; var distance = Math.sqrt(xdis * xdis + ydis * ydis); return distance; } /** * Some horse shit of some sort. * @return Horse Shit */ function screenDistance() { return Math.min(computeDistance(getOffsetX(), getOffsetY(), screenToGameX(getWidth()), getOffsetY()), computeDistance(getOffsetX(), getOffsetY(), getOffsetX(), screenToGameY(getHeight()))); } window.verticalDistance = function() { return computeDistance(screenToGameX(0), screenToGameY(0), screenToGameX(getWidth()), screenToGameY(getHeight())); } /** * A conversion from the screen's horizontal coordinate system * to the game's horizontal coordinate system. * @param x in the screen's coordinate system * @return x in the game's coordinate system */ window.screenToGameX = function(x) { return (x - getWidth() / 2) / getRatio() + getX(); } /** * A conversion from the screen's vertical coordinate system * to the game's vertical coordinate system. * @param y in the screen's coordinate system * @return y in the game's coordinate system */ window.screenToGameY = function(y) { return (y - getHeight() / 2) / getRatio() + getY(); } window.drawPoint = function(x_1, y_1, drawColor, text) { if (!toggleDraw) { dPoints.push([x_1, y_1, drawColor]); dText.push(text); } } window.drawArc = function(x_1, y_1, x_2, y_2, x_3, y_3, drawColor) { if (!toggleDraw) { var radius = computeDistance(x_1, y_1, x_3, y_3); dArc.push([x_1, y_1, x_2, y_2, x_3, y_3, radius, drawColor]); } } window.drawLine = function(x_1, y_1, x_2, y_2, drawColor) { if (!toggleDraw) { lines.push([x_1, y_1, x_2, y_2, drawColor]); } } window.drawCircle = function(x_1, y_1, radius, drawColor) { if (!toggleDraw) { circles.push([x_1, y_1, radius, drawColor]); } } function V() { //UPDATE if (getPlayer().length == 0 && !reviving && ~~(getCurrentScore() / 100) > 0) { console.log("Dead: " + ~~(getCurrentScore() / 100)); apos('send', 'pageview'); } if (getPlayer().length == 0) { console.log("Revive"); setNick(originalName); reviving = true; } else if (getPlayer().length > 0 && reviving) { reviving = false; console.log("Done Reviving!"); } if (T()) { var a = fa - m / 2; var b = ga - r / 2; 64 > a * a + b * b || .01 > Math.abs(eb - ia) && .01 > Math.abs(fb - ja) || (eb = ia, fb = ja, a = N(13), a.setUint8(0, 16), a.setInt32(1, ia, !0), a.setInt32(5, ja, !0), a.setUint32(9, 0, !0), O(a)) } } function cb() { if (T() && $ && null != K) { var a = N(1 + 2 * K.length); a.setUint8(0, 0); for (var b = 0; b < K.length; ++b) a.setUint16(1 + 2 * b, K.charCodeAt(b), !0); O(a) } } function T() { return null != q && q.readyState == q.OPEN } window.opCode = function(a) { console.log("Sending op code."); H(parseInt(a)); } function H(a) { if (T()) { var b = N(1); b.setUint8(0, a); O(b) } } function $a() { if (T() && null != B) { var a = N(1 + B.length); a.setUint8(0, 81); for (var b = 0; b < B.length; ++b) a.setUint8(b + 1, B.charCodeAt(b)); O(a) } } function Ta() { m = d.innerWidth; r = d.innerHeight; za.width = G.width = m; za.height = G.height = r; var a = e("#helloContainer"); a.css("transform", "none"); var b = a.height(), c = d.innerHeight; b > c / 1.1 ? a.css("transform", "translate(-50%, -50%) scale(" + c / b / 1.1 + ")") : a.css("transform", "translate(-50%, -50%)"); gb() } function hb() { var a; a = Math.max(r / 1080, m / 1920); return a *= J } function yb() { if (0 != k.length) { for (var a = 0, b = 0; b < k.length; b++) a += k[b].size; a = Math.pow(Math.min(64 / a, 1), .4) * hb(); h = (9 * h + a) / 10 } } function gb() { //UPDATE dPoints = []; circles = []; dArc = []; dText = []; lines = []; var a, b = Date.now(); ++zb; C = b; if (0 < k.length) { yb(); for (var c = a = 0, d = 0; d < k.length; d++) k[d].P(), a += k[d].x / k.length, c += k[d].y / k.length; aa = a; ba = c; ca = h; s = (s + a) / 2; t = (t + c) / 2; } else s = (29 * s + aa) / 30, t = (29 * t + ba) / 30, h = (9 * h + ca * hb()) / 10; qb(); Aa(); Ia || f.clearRect(0, 0, m, r); Ia ? (f.fillStyle = ta ? "#111111" : "#F2FBFF", f.globalAlpha = .05, f.fillRect(0, 0, m, r), f.globalAlpha = 1) : Ab(); v.sort(function(a, b) { return a.size == b.size ? a.id - b.id : a.size - b.size }); f.save(); f.translate(m / 2, r / 2); f.scale(h, h); f.translate(-s, -t); //UPDATE f.save(); f.beginPath(); f.lineWidth = 5; f.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); f.moveTo(getMapStartX(), getMapStartY()); f.lineTo(getMapStartX(), getMapEndY()); f.stroke(); f.moveTo(getMapStartX(), getMapStartY()); f.lineTo(getMapEndX(), getMapStartY()); f.stroke(); f.moveTo(getMapEndX(), getMapStartY()); f.lineTo(getMapEndX(), getMapEndY()); f.stroke(); f.moveTo(getMapStartX(), getMapEndY()); f.lineTo(getMapEndX(), getMapEndY()); f.stroke(); f.restore(); for (d = 0; d < v.length; d++) v[d].w(f); for (d = 0; d < Q.length; d++) Q[d].w(f); //UPDATE if (getPlayer().length > 0) { var moveLoc = window.botList[botIndex].mainLoop(); if (!toggle) { setPoint(moveLoc[0], moveLoc[1]); } } customRender(f); if (Ga) { na = (3 * na + Ea) / 4; oa = (3 * oa + Fa) / 4; f.save(); f.strokeStyle = "#FFAAAA"; f.lineWidth = 10; f.lineCap = "round"; f.lineJoin = "round"; f.globalAlpha = .5; f.beginPath(); for (d = 0; d < k.length; d++) f.moveTo(k[d].x, k[d].y), f.lineTo(na, oa); f.stroke(); f.restore(); } f.restore(); z && z.width && f.drawImage(z, m - z.width - 10, 10); R = Math.max(R, Bb()); //UPDATE var currentDate = new Date(); var nbSeconds = 0; if (getPlayer().length > 0) { //nbSeconds = currentDate.getSeconds() + currentDate.getMinutes() * 60 + currentDate.getHours() * 3600 - lifeTimer.getSeconds() - lifeTimer.getMinutes() * 60 - lifeTimer.getHours() * 3600; nbSeconds = (currentDate.getTime() - lifeTimer.getTime()) / 1000; } bestTime = Math.max(nbSeconds, bestTime); var displayText = 'Score: ' + ~~(R / 100) + " Current Time: " + nbSeconds + " seconds."; 0 != R && (null == ua && (ua = new va(24, "#FFFFFF")), ua.C(displayText), c = ua.L(), a = c.width, f.globalAlpha = .2, f.fillStyle = "#000000", f.fillRect(10, r - 10 - 24 - 10, a + 10, 34), f.globalAlpha = 1, f.drawImage(c, 15, r - 10 - 24 - 5)); Cb(); b = Date.now() - b; b > 1E3 / 60 ? D -= .01 : b < 1E3 / 65 && (D += .01);.4 > D && (D = .4); 1 < D && (D = 1); b = C - ib; !T() || W ? (x += b / 2E3, 1 < x && (x = 1)) : (x -= b / 300, 0 > x && (x = 0)); 0 < x && (f.fillStyle = "#000000", f.globalAlpha = .5 * x, f.fillRect(0, 0, m, r), f.globalAlpha = 1); ib = C drawStats(f); } //UPDATE function customRender(d) { d.save(); for (var i = 0; i < lines.length; i++) { d.beginPath(); d.lineWidth = 5; if (lines[i][4] == 0) { d.strokeStyle = "#FF0000"; } else if (lines[i][4] == 1) { d.strokeStyle = "#00FF00"; } else if (lines[i][4] == 2) { d.strokeStyle = "#0000FF"; } else if (lines[i][4] == 3) { d.strokeStyle = "#FF8000"; } else if (lines[i][4] == 4) { d.strokeStyle = "#8A2BE2"; } else if (lines[i][4] == 5) { d.strokeStyle = "#FF69B4"; } else if (lines[i][4] == 6) { d.strokeStyle = "#008080"; } else if (lines[i][4] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.moveTo(lines[i][0], lines[i][1]); d.lineTo(lines[i][2], lines[i][3]); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < circles.length; i++) { if (circles[i][3] == 0) { d.strokeStyle = "#FF0000"; } else if (circles[i][3] == 1) { d.strokeStyle = "#00FF00"; } else if (circles[i][3] == 2) { d.strokeStyle = "#0000FF"; } else if (circles[i][3] == 3) { d.strokeStyle = "#FF8000"; } else if (circles[i][3] == 4) { d.strokeStyle = "#8A2BE2"; } else if (circles[i][3] == 5) { d.strokeStyle = "#FF69B4"; } else if (circles[i][3] == 6) { d.strokeStyle = "#008080"; } else if (circles[i][3] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.beginPath(); d.lineWidth = 10; //d.setLineDash([5]); d.globalAlpha = 0.3; d.arc(circles[i][0], circles[i][1], circles[i][2], 0, 2 * Math.PI, false); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < dArc.length; i++) { if (dArc[i][7] == 0) { d.strokeStyle = "#FF0000"; } else if (dArc[i][7] == 1) { d.strokeStyle = "#00FF00"; } else if (dArc[i][7] == 2) { d.strokeStyle = "#0000FF"; } else if (dArc[i][7] == 3) { d.strokeStyle = "#FF8000"; } else if (dArc[i][7] == 4) { d.strokeStyle = "#8A2BE2"; } else if (dArc[i][7] == 5) { d.strokeStyle = "#FF69B4"; } else if (dArc[i][7] == 6) { d.strokeStyle = "#008080"; } else if (dArc[i][7] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.beginPath(); d.lineWidth = 5; var ang1 = Math.atan2(dArc[i][1] - dArc[i][5], dArc[i][0] - dArc[i][4]); var ang2 = Math.atan2(dArc[i][3] - dArc[i][5], dArc[i][2] - dArc[i][4]); d.arc(dArc[i][4], dArc[i][5], dArc[i][6], ang1, ang2, false); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < dPoints.length; i++) { if (dText[i] == "") { var radius = 10; d.beginPath(); d.arc(dPoints[i][0], dPoints[i][1], radius, 0, 2 * Math.PI, false); if (dPoints[i][2] == 0) { d.fillStyle = "black"; } else if (dPoints[i][2] == 1) { d.fillStyle = "yellow"; } else if (dPoints[i][2] == 2) { d.fillStyle = "blue"; } else if (dPoints[i][2] == 3) { d.fillStyle = "red"; } else if (dPoints[i][2] == 4) { d.fillStyle = "#008080"; } else if (dPoints[i][2] == 5) { d.fillStyle = "#FF69B4"; } else { d.fillStyle = "#000000"; } d.fill(); d.lineWidth = 2; d.strokeStyle = '#003300'; d.stroke(); } else { var text = new va(18, (getDarkBool() ? '#F2FBFF' : '#111111'), true, (getDarkBool() ? '#111111' : '#F2FBFF')); text.C(dText[i]); var textRender = text.L(); d.drawImage(textRender, dPoints[i][0] - (textRender.width / 2), dPoints[i][1] - (textRender.height / 2)); } } d.restore(); } function drawStats(d) { d.save() sessionScore = Math.max(getCurrentScore(), sessionScore); var botString = window.botList[botIndex].displayText(); var debugStrings = []; debugStrings.push("Bot: " + window.botList[botIndex].name); debugStrings.push("Launcher: AposLauncher " + aposLauncherVersion); debugStrings.push("T - Bot: " + (!toggle ? "On" : "Off")); debugStrings.push("R - Lines: " + (!toggleDraw ? "On" : "Off")); for (var i = 0; i < botString.length; i++) { debugStrings.push(botString[i]); } debugStrings.push(""); debugStrings.push("Best Score: " + ~~(sessionScore / 100)); debugStrings.push("Best Time: " + bestTime + " seconds"); debugStrings.push(""); debugStrings.push(serverIP); if (getPlayer().length > 0) { var offsetX = -getMapStartX(); var offsetY = -getMapStartY(); debugStrings.push("Location: " + Math.floor(getPlayer()[0].x + offsetX) + ", " + Math.floor(getPlayer()[0].y + offsetY)); } var offsetValue = 20; var text = new va(18, (getDarkBool() ? '#F2FBFF' : '#111111')); for (var i = 0; i < debugStrings.length; i++) { text.C(debugStrings[i]); var textRender = text.L(); d.drawImage(textRender, 20, offsetValue); offsetValue += textRender.height; } if (message.length > 0) { var mRender = []; var mWidth = 0; var mHeight = 0; for (var i = 0; i < message.length; i++) { var mText = new va(28, '#FF0000', true, '#000000'); mText.C(message[i]); mRender.push(mText.L()); if (mRender[i].width > mWidth) { mWidth = mRender[i].width; } mHeight += mRender[i].height; } var mX = getWidth() / 2 - mWidth / 2; var mY = 20; d.globalAlpha = 0.4; d.fillStyle = '#000000'; d.fillRect(mX - 10, mY - 10, mWidth + 20, mHeight + 20); d.globalAlpha = 1; var mOffset = mY; for (var i = 0; i < mRender.length; i++) { d.drawImage(mRender[i], getWidth() / 2 - mRender[i].width / 2, mOffset); mOffset += mRender[i].height; } } d.restore(); } function Ab() { f.fillStyle = ta ? "#111111" : "#F2FBFF"; f.fillRect(0, 0, m, r); f.save(); f.strokeStyle = ta ? "#AAAAAA" : "#000000"; f.globalAlpha = .2 * h; for (var a = m / h, b = r / h, c = (a / 2 - s) % 50; c < a; c += 50) f.beginPath(), f.moveTo(c * h - .5, 0), f.lineTo(c * h - .5, b * h), f.stroke(); for (c = (b / 2 - t) % 50; c < b; c += 50) f.beginPath(), f.moveTo(0, c * h - .5), f.lineTo(a * h, c * h - .5), f.stroke(); f.restore() } function Cb() { if (Qa && Ja.width) { var a = m / 5; f.drawImage(Ja, 5, 5, a, a) } } function Bb() { for (var a = 0, b = 0; b < k.length; b++) a += k[b].q * k[b].q; return a } function ab() { z = null; if (null != A || 0 != F.length) if (null != A || wa) { z = document.createElement("canvas"); var a = z.getContext("2d"), b = 60, b = null == A ? b + 24 * F.length : b + 180, c = Math.min(200, .3 * m) / 200; z.width = 200 * c; z.height = b * c; a.scale(c, c); a.globalAlpha = .4; a.fillStyle = "#000000"; a.fillRect(0, 0, 200, b); a.globalAlpha = 1; a.fillStyle = "#FFFFFF"; c = null; c = Z("leaderboard"); a.font = "30px Ubuntu"; a.fillText(c, 100 - a.measureText(c).width / 2, 40); if (null == A) for (a.font = "20px Ubuntu", b = 0; b < F.length; ++b) c = F[b].name || Z("unnamed_cell"), wa || (c = Z("unnamed_cell")), -1 != M.indexOf(F[b].id) ? (k[0].name && (c = k[0].name), a.fillStyle = "#FFAAAA") : a.fillStyle = "#FFFFFF", c = b + 1 + ". " + c, a.fillText(c, 100 - a.measureText(c).width / 2, 70 + 24 * b); else for (b = c = 0; b < A.length; ++b) { var d = c + A[b] * Math.PI * 2; a.fillStyle = Db[b + 1]; a.beginPath(); a.moveTo(100, 140); a.arc(100, 140, 80, c, d, !1); a.fill(); c = d } } } function Ka(a, b, c, d, e) { this.V = a; this.x = b; this.y = c; this.i = d; this.b = e } function da(a, b, c, d, e, p) { this.id = a; this.s = this.x = b; this.t = this.y = c; this.r = this.size = d; this.color = e; this.a = []; this.W(); this.B(p) } function va(a, b, c, d) { a && (this.u = a); b && (this.S = b); this.U = !!c; d && (this.v = d) } function S(a, b) { var c = "1" == e("#helloContainer").attr("data-has-account-data"); e("#helloContainer").attr("data-has-account-data", "1"); if (null == b && d.localStorage.loginCache) { var l = JSON.parse(d.localStorage.loginCache); l.f = a.f; l.d = a.d; l.e = a.e; d.localStorage.loginCache = JSON.stringify(l) } if (c) { var u = +e(".agario-exp-bar .progress-bar-text").first().text().split("/")[0], c = +e(".agario-exp-bar .progress-bar-text").first().text().split("/")[1].split(" ")[0], l = e(".agario-profile-panel .progress-bar-star").first().text(); if (l != a.e) S({ f: c, d: c, e: l }, function() { e(".agario-profile-panel .progress-bar-star").text(a.e); e(".agario-exp-bar .progress-bar").css("width", "100%"); e(".progress-bar-star").addClass("animated tada").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() { e(".progress-bar-star").removeClass("animated tada") }); setTimeout(function() { e(".agario-exp-bar .progress-bar-text").text(a.d + "/" + a.d + " XP"); S({ f: 0, d: a.d, e: a.e }, function() { S(a, b) }) }, 1E3) }); else { var p = Date.now(), g = function() { var c; c = (Date.now() - p) / 1E3; c = 0 > c ? 0 : 1 < c ? 1 : c; c = c * c * (3 - 2 * c); e(".agario-exp-bar .progress-bar-text").text(~~(u + (a.f - u) * c) + "/" + a.d + " XP"); e(".agario-exp-bar .progress-bar").css("width", (88 * (u + (a.f - u) * c) / a.d).toFixed(2) + "%"); 1 > c ? d.requestAnimationFrame(g) : b && b() }; d.requestAnimationFrame(g) } } else e(".agario-profile-panel .progress-bar-star").text(a.e), e(".agario-exp-bar .progress-bar-text").text(a.f + "/" + a.d + " XP"), e(".agario-exp-bar .progress-bar").css("width", (88 * a.f / a.d).toFixed(2) + "%"), b && b() } function jb(a) { "string" == typeof a && (a = JSON.parse(a)); Date.now() + 18E5 > a.ja ? e("#helloContainer").attr("data-logged-in", "0") : (d.localStorage.loginCache = JSON.stringify(a), B = a.fa, e(".agario-profile-name").text(a.name), $a(), S({ f: a.f, d: a.d, e: a.e }), e("#helloContainer").attr("data-logged-in", "1")) } function Eb(a) { a = a.split("\n"); jb({ name: a[0], ta: a[1], fa: a[2], ja: 1E3 * +a[3], e: +a[4], f: +a[5], d: +a[6] }); console.log("Hello Facebook?"); } function La(a) { if ("connected" == a.status) { var b = a.authResponse.accessToken; d.FB.api("/me/picture?width=180&height=180", function(a) { d.localStorage.fbPictureCache = a.data.url; e(".agario-profile-picture").attr("src", a.data.url) }); e("#helloContainer").attr("data-logged-in", "1"); null != B ? e.ajax("https://m.agar.io/checkToken", { error: function() { console.log("Facebook Fail!"); B = null; La(a) }, success: function(a) { a = a.split("\n"); S({ e: +a[0], f: +a[1], d: +a[2] }); console.log("Facebook connected!"); }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: B }) : e.ajax("https://m.agar.io/facebookLogin", { error: function() { console.log("You have a Facebook problem!"); B = null; e("#helloContainer").attr("data-logged-in", "0") }, success: Eb, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: b }) } } function Wa(a) { Y(":party"); e("#helloContainer").attr("data-party-state", "4"); a = decodeURIComponent(a).replace(/.*#/gim, ""); Ma("#" + d.encodeURIComponent(a)); e.ajax(Na + "//m.agar.io/getToken", { error: function() { e("#helloContainer").attr("data-party-state", "6") }, success: function(b) { b = b.split("\n"); e(".partyToken").val("agar.io/#" + d.encodeURIComponent(a)); e("#helloContainer").attr("data-party-state", "5"); Y(":party"); Ca("ws://" + b[0], a) }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: a }) } function Ma(a) { d.history && d.history.replaceState && d.history.replaceState({}, d.document.title, a) } if (!d.agarioNoInit) { var Na = d.location.protocol, tb = "https:" == Na, xa = d.navigator.userAgent; if (-1 != xa.indexOf("Android")) d.ga && d.ga("send", "event", "MobileRedirect", "PlayStore"), setTimeout(function() { d.location.href = "market://details?id=com.miniclip.agar.io" }, 1E3); else if (-1 != xa.indexOf("iPhone") || -1 != xa.indexOf("iPad") || -1 != xa.indexOf("iPod")) d.ga && d.ga("send", "event", "MobileRedirect", "AppStore"), setTimeout(function() { d.location.href = "https://itunes.apple.com/app/agar.io/id995999703" }, 1E3); else { var za, f, G, m, r, X = null, //UPDATE toggle = false, toggleDraw = false, tempPoint = [0, 0, 1], dPoints = [], circles = [], dArc = [], dText = [], lines = [], names = ["NotReallyABot"], originalName = names[Math.floor(Math.random() * names.length)], sessionScore = 0, serverIP = "", interNodes = [], lifeTimer = new Date(), bestTime = 0, botIndex = 0, reviving = false, message = [], q = null, s = 0, t = 0, M = [], k = [], E = {}, v = [], Q = [], F = [], fa = 0, ga = 0, //UPDATE ia = -1, ja = -1, zb = 0, C = 0, ib = 0, K = null, pa = 0, qa = 0, ra = 1E4, sa = 1E4, h = 1, y = null, kb = !0, wa = !0, Oa = !1, Ha = !1, R = 0, ta = !1, lb = !1, aa = s = ~~((pa + ra) / 2), ba = t = ~~((qa + sa) / 2), ca = 1, P = "", A = null, ya = !1, Ga = !1, Ea = 0, Fa = 0, na = 0, oa = 0, mb = 0, Db = ["#333333", "#FF3333", "#33FF33", "#3333FF"], Ia = !1, $ = !1, bb = 0, B = null, J = 1, x = 1, W = !0, Ba = 0, Da = {}; (function() { var a = d.location.search; "?" == a.charAt(0) && (a = a.slice(1)); for (var a = a.split("&"), b = 0; b < a.length; b++) { var c = a[b].split("="); Da[c[0]] = c[1] } })(); var Qa = "ontouchstart" in d && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(d.navigator.userAgent), Ja = new Image; Ja.src = "img/split.png"; var nb = document.createElement("canvas"); if ("undefined" == typeof console || "undefined" == typeof DataView || "undefined" == typeof WebSocket || null == nb || null == nb.getContext || null == d.localStorage) alert("You browser does not support this game, we recommend you to use Firefox to play this"); else { var ka = null; d.setNick = function(a) { //UPDATE originalName = a; if (getPlayer().length == 0) { lifeTimer = new Date(); } Xa(); K = a; cb(); R = 0 }; d.setRegion = ha; d.setSkins = function(a) { kb = a }; d.setNames = function(a) { wa = a }; d.setDarkTheme = function(a) { ta = a }; d.setColors = function(a) { Oa = a }; d.setShowMass = function(a) { lb = a }; d.spectate = function() { K = null; H(1); Xa() }; d.setGameMode = function(a) { a != P && (":party" == P && e("#helloContainer").attr("data-party-state", "0"), Y(a), ":party" != a && I()) }; d.setAcid = function(a) { Ia = a }; null != d.localStorage && (null == d.localStorage.AB9 && (d.localStorage.AB9 = 0 + ~~(100 * Math.random())), mb = +d.localStorage.AB9, d.ABGroup = mb); e.get(Na + "//gc.agar.io", function(a) { var b = a.split(" "); a = b[0]; b = b[1] || ""; - 1 == ["UA"].indexOf(a) && ob.push("ussr"); ea.hasOwnProperty(a) && ("string" == typeof ea[a] ? y || ha(ea[a]) : ea[a].hasOwnProperty(b) && (y || ha(ea[a][b]))) }, "text"); d.ga && d.ga("send", "event", "User-Agent", d.navigator.userAgent, { nonInteraction: 1 }); var la = !1, Ya = 0; setTimeout(function() { la = !0 }, Math.max(6E4 * Ya, 1E4)); var ea = { AF: "JP-Tokyo", AX: "EU-London", AL: "EU-London", DZ: "EU-London", AS: "SG-Singapore", AD: "EU-London", AO: "EU-London", AI: "US-Atlanta", AG: "US-Atlanta", AR: "BR-Brazil", AM: "JP-Tokyo", AW: "US-Atlanta", AU: "SG-Singapore", AT: "EU-London", AZ: "JP-Tokyo", BS: "US-Atlanta", BH: "JP-Tokyo", BD: "JP-Tokyo", BB: "US-Atlanta", BY: "EU-London", BE: "EU-London", BZ: "US-Atlanta", BJ: "EU-London", BM: "US-Atlanta", BT: "JP-Tokyo", BO: "BR-Brazil", BQ: "US-Atlanta", BA: "EU-London", BW: "EU-London", BR: "BR-Brazil", IO: "JP-Tokyo", VG: "US-Atlanta", BN: "JP-Tokyo", BG: "EU-London", BF: "EU-London", BI: "EU-London", KH: "JP-Tokyo", CM: "EU-London", CA: "US-Atlanta", CV: "EU-London", KY: "US-Atlanta", CF: "EU-London", TD: "EU-London", CL: "BR-Brazil", CN: "CN-China", CX: "JP-Tokyo", CC: "JP-Tokyo", CO: "BR-Brazil", KM: "EU-London", CD: "EU-London", CG: "EU-London", CK: "SG-Singapore", CR: "US-Atlanta", CI: "EU-London", HR: "EU-London", CU: "US-Atlanta", CW: "US-Atlanta", CY: "JP-Tokyo", CZ: "EU-London", DK: "EU-London", DJ: "EU-London", DM: "US-Atlanta", DO: "US-Atlanta", EC: "BR-Brazil", EG: "EU-London", SV: "US-Atlanta", GQ: "EU-London", ER: "EU-London", EE: "EU-London", ET: "EU-London", FO: "EU-London", FK: "BR-Brazil", FJ: "SG-Singapore", FI: "EU-London", FR: "EU-London", GF: "BR-Brazil", PF: "SG-Singapore", GA: "EU-London", GM: "EU-London", GE: "JP-Tokyo", DE: "EU-London", GH: "EU-London", GI: "EU-London", GR: "EU-London", GL: "US-Atlanta", GD: "US-Atlanta", GP: "US-Atlanta", GU: "SG-Singapore", GT: "US-Atlanta", GG: "EU-London", GN: "EU-London", GW: "EU-London", GY: "BR-Brazil", HT: "US-Atlanta", VA: "EU-London", HN: "US-Atlanta", HK: "JP-Tokyo", HU: "EU-London", IS: "EU-London", IN: "JP-Tokyo", ID: "JP-Tokyo", IR: "JP-Tokyo", IQ: "JP-Tokyo", IE: "EU-London", IM: "EU-London", IL: "JP-Tokyo", IT: "EU-London", JM: "US-Atlanta", JP: "JP-Tokyo", JE: "EU-London", JO: "JP-Tokyo", KZ: "JP-Tokyo", KE: "EU-London", KI: "SG-Singapore", KP: "JP-Tokyo", KR: "JP-Tokyo", KW: "JP-Tokyo", KG: "JP-Tokyo", LA: "JP-Tokyo", LV: "EU-London", LB: "JP-Tokyo", LS: "EU-London", LR: "EU-London", LY: "EU-London", LI: "EU-London", LT: "EU-London", LU: "EU-London", MO: "JP-Tokyo", MK: "EU-London", MG: "EU-London", MW: "EU-London", MY: "JP-Tokyo", MV: "JP-Tokyo", ML: "EU-London", MT: "EU-London", MH: "SG-Singapore", MQ: "US-Atlanta", MR: "EU-London", MU: "EU-London", YT: "EU-London", MX: "US-Atlanta", FM: "SG-Singapore", MD: "EU-London", MC: "EU-London", MN: "JP-Tokyo", ME: "EU-London", MS: "US-Atlanta", MA: "EU-London", MZ: "EU-London", MM: "JP-Tokyo", NA: "EU-London", NR: "SG-Singapore", NP: "JP-Tokyo", NL: "EU-London", NC: "SG-Singapore", NZ: "SG-Singapore", NI: "US-Atlanta", NE: "EU-London", NG: "EU-London", NU: "SG-Singapore", NF: "SG-Singapore", MP: "SG-Singapore", NO: "EU-London", OM: "JP-Tokyo", PK: "JP-Tokyo", PW: "SG-Singapore", PS: "JP-Tokyo", PA: "US-Atlanta", PG: "SG-Singapore", PY: "BR-Brazil", PE: "BR-Brazil", PH: "JP-Tokyo", PN: "SG-Singapore", PL: "EU-London", PT: "EU-London", PR: "US-Atlanta", QA: "JP-Tokyo", RE: "EU-London", RO: "EU-London", RU: "RU-Russia", RW: "EU-London", BL: "US-Atlanta", SH: "EU-London", KN: "US-Atlanta", LC: "US-Atlanta", MF: "US-Atlanta", PM: "US-Atlanta", VC: "US-Atlanta", WS: "SG-Singapore", SM: "EU-London", ST: "EU-London", SA: "EU-London", SN: "EU-London", RS: "EU-London", SC: "EU-London", SL: "EU-London", SG: "JP-Tokyo", SX: "US-Atlanta", SK: "EU-London", SI: "EU-London", SB: "SG-Singapore", SO: "EU-London", ZA: "EU-London", SS: "EU-London", ES: "EU-London", LK: "JP-Tokyo", SD: "EU-London", SR: "BR-Brazil", SJ: "EU-London", SZ: "EU-London", SE: "EU-London", CH: "EU-London", SY: "EU-London", TW: "JP-Tokyo", TJ: "JP-Tokyo", TZ: "EU-London", TH: "JP-Tokyo", TL: "JP-Tokyo", TG: "EU-London", TK: "SG-Singapore", TO: "SG-Singapore", TT: "US-Atlanta", TN: "EU-London", TR: "TK-Turkey", TM: "JP-Tokyo", TC: "US-Atlanta", TV: "SG-Singapore", UG: "EU-London", UA: "EU-London", AE: "EU-London", GB: "EU-London", US: "US-Atlanta", UM: "SG-Singapore", VI: "US-Atlanta", UY: "BR-Brazil", UZ: "JP-Tokyo", VU: "SG-Singapore", VE: "BR-Brazil", VN: "JP-Tokyo", WF: "SG-Singapore", EH: "EU-London", YE: "JP-Tokyo", ZM: "EU-London", ZW: "EU-London" }, L = null; d.connect = Ca; //UPDATE /** * Tells you if the game is in Dark mode. * @return Boolean for dark mode. */ window.getDarkBool = function() { return ta; } /** * Tells you if the mass is shown. * @return Boolean for player's mass. */ window.getMassBool = function() { return lb; } /** * This is a copy of everything that is shown on screen. * Normally stuff will time out when off the screen, this * memorizes everything that leaves the screen for a little * while longer. * @return The memory object. */ window.getMemoryCells = function() { return interNodes; } /** * [getCellsArray description] * @return {[type]} [description] */ window.getCellsArray = function() { return v; } /** * [getCellsArray description] * @return {[type]} [description] */ window.getCells = function() { return E; } /** * Returns an array with all the player's cells. * @return Player's cells */ window.getPlayer = function() { return k; } /** * The canvas' width. * @return Integer Width */ window.getWidth = function() { return m; } /** * The canvas' height * @return Integer Height */ window.getHeight = function() { return r; } /** * Scaling ratio of the canvas. The bigger this ration, * the further that you see. * @return Screen scaling ratio. */ window.getRatio = function() { return h; } /** * [getOffsetX description] * @return {[type]} [description] */ window.getOffsetX = function() { return aa; } window.getOffsetY = function() { return ba; } window.getX = function() { return s; } window.getY = function() { return t; } window.getPointX = function() { return ia; } window.getPointY = function() { return ja; } /** * The X location of the mouse. * @return Integer X */ window.getMouseX = function() { return fa; } /** * The Y location of the mouse. * @return Integer Y */ window.getMouseY = function() { return ga; } window.getMapStartX = function() { return pa; } window.getMapStartY = function() { return qa; } window.getMapEndX = function() { return ra; } window.getMapEndY = function() { return sa; } window.getScreenDistance = function() { var temp = screenDistance(); return temp; } /** * A timestamp since the last time the server sent any data. * @return Last update timestamp */ window.getLastUpdate = function() { return C; } window.getCurrentScore = function() { return R; } /** * The game's current mode. (":ffa", ":experimental", ":teams". ":party") * @return {[type]} [description] */ window.getMode = function() { return P; } window.getServer = function() { return serverIP; } window.setPoint = function(x, y) { ia = x; ja = y; } window.setScore = function(a) { sessionScore = a * 100; } window.setBestTime = function(a) { bestTime = a; } window.best = function(a, b) { setScore(a); setBestTime(b); } window.setBotIndex = function(a) { console.log("Changing bot"); botIndex = a; } window.setMessage = function(a) { message = a; } window.updateBotList = function() { window.botList = window.botList || []; window.jQuery('#locationUnknown').text(""); window.jQuery('#locationUnknown').append(window.jQuery('<select id="bList" class="form-control" onchange="setBotIndex($(this).val());" />')); window.jQuery('#locationUnknown').addClass('form-group'); for (var i = 0; i < w
HLXII / Evolve AutoscriptMy personal userscript for the game Evolve by Demagorddon - https://pmotschmann.github.io/Evolve/
s-h-a-d-o-w / Github UserscriptsUserscripts for GitHub
ste-xx / Gist Userscript ManagerUserscript manager which based on Github Gist
devxoul / Github Monospace EditorGitHub Monospace Editor Userscript
mshll / Repo SizeUserscript to see GitHub repo sizes.
jamesgarfield / GitHubSourceTreeA small userscript to add a 'Clone in SourceTree' button to github repositories.
matthizou / Github Comment BadgesUserscript for Github: add activity badges to the comment icons in your PR/issues lists, and periodically refreshes them.
cyberpunkgx / Facebook Auto Like Professional 2015v8.0// ==UserScript== // @name Facebook Auto Like Professional 2015 // @namespace http://zrftech.blogspot.com // @author Zia Ur Rehman(Z.R.F) <ziaurr3hman@hotmail.com> http://ziaurr3hman.comoj.com // @description Auto Like and unlike Facebook Status, Comments, Photos, group posts, page posts, group posts, lists, page feeds, events, timeline photos... // @icon https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/c21.21.259.259/s50x50/1240565_203642189797835_948886341_n.jpg // @updateURL https://raw.githubusercontent.com/ZiaUrR3hman/FacebookAutoLikeProfessional/master/FacebookAutoLikeProfessional.meta.js // @downloadURL https://raw.githubusercontent.com/ZiaUrR3hman/FacebookAutoLikeProfessional/master/FacebookAutoLikeProfessional.user.js // @version 8.0 // @copyright 2014+, ZiaUrR3hman (https://github.com/ZiaUrR3hman/FacebookAutoLikeProfessional) // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_addStyle // @include htt*://www.facebook.com/* // @exclude htt*://www.facebook.com/login.php* // @exclude htt*://apps.facebook.com/* // @exclude htt*://www.facebook.com/checkpoint/* // @exclude htt*://*static*.facebook.com* // @exclude htt*://*channel*.facebook.com* // @exclude htt*://developers.facebook.com/* // @exclude htt*://upload.facebook.com/* // @exclude htt*://www.facebook.com/common/blank.html // @exclude htt*://*connect.facebook.com/* // @exclude htt*://*facebook.com/connect* // @exclude htt*://www.facebook.com/plugins/* // @exclude htt*://www.facebook.com/l.php* // @exclude htt*://www.facebook.com/ai.php* // @exclude htt*://www.facebook.com/extern/* // @exclude htt*://www.facebook.com/pagelet/* // @exclude htt*://api.facebook.com/static/* // @exclude htt*://www.facebook.com/contact_importer/* // @exclude htt*://www.facebook.com/ajax/* // @exclude htt*://www.facebook.com/advertising/* // @exclude htt*://www.facebook.com/ads/* // @exclude htt*://www.facebook.com/sharer/* // @exclude htt*://www.facebook.com/send/* // @exclude htt*://www.facebook.com/mobile/* // @exclude htt*://www.facebook.com/settings/* // @exclude htt*://www.facebook.com/dialog/* // @exclude htt*://www.facebook.com/plugins/* // @exclude htt*://www.facebook.com/bookmarks/* // @exclude htt*://www.facebook.com/messages/* // @exclude htt*://www.facebook.com/friends/* // ==/UserScript== eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1m(R(p,a,c,k,e,r){e=R(c){S(c<a?\'\':e(1n(c/a)))+((c=c%a)>1i?U.1h(c+1d):c.1c(1e))};V(!\'\'.X(/^/,U)){T(c--)r[e(c)]=k[c]||e(c);k=[R(e){S r[e]}];e=R(){S\'\\\\w+\'};c=1};T(c--)V(k[c])p=p.X(1g 1f(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);S p}(\'M B=["\\\\K\\\\H\\\\y\\\\C\\\\8\\\\r\\\\a\\\\D\\\\9\\\\2\\\\L\\\\y\\\\1\\\\A\\\\n\\\\p\\\\9\\\\j\\\\2\\\\9\\\\6\\\\1\\\\4\\\\2\\\\8\\\\c\\\\h\\\\a\\\\9\\\\7\\\\4\\\\2\\\\j\\\\8\\\\h\\\\8\\\\2\\\\c\\\\6\\\\1\\\\u\\\\8\\\\3\\\\a\\\\5\\\\7\\\\5\\\\8\\\\j\\\\4\\\\m\\\\f\\\\G\\\\6\\\\1\\\\e\\\\m\\\\2\\\\n\\\\r\\\\7\\\\v\\\\8\\\\5\\\\h\\\\q\\\\6\\\\1\\\\g\\\\b\\\\g\\\\4\\\\3\\\\7\\\\m\\\\a\\\\u\\\\h\\\\6\\\\1\\\\N\\\\g\\\\4\\\\3\\\\7\\\\e\\\\f\\\\n\\\\r\\\\k\\\\9\\\\2\\\\p\\\\c\\\\5\\\\i\\\\n\\\\2\\\\m\\\\2\\\\9\\\\6\\\\1\\\\9\\\\k\\\\e\\\\t\\\\o\\\\F\\\\l\\\\1\\\\P\\\\o\\\\l\\\\1\\\\g\\\\b\\\\o\\\\w\\\\7\\\\4\\\\f\\\\5\\\\5\\\\8\\\\c\\\\k\\\\6\\\\1\\\\E\\\\4\\\\3\\\\7\\\\e\\\\2\\\\3\\\\i\\\\j\\\\q\\\\f\\\\5\\\\2\\\\v\\\\6\\\\1\\\\9\\\\k\\\\e\\\\t\\\\s\\\\o\\\\l\\\\1\\\\x\\\\F\\\\l\\\\1\\\\g\\\\d\\\\o\\\\w\\\\1\\\\d\\\\4\\\\3\\\\1\\\\d\\\\4\\\\3\\\\1\\\\d\\\\4\\\\3\\\\1\\\\g\\\\4\\\\3\\\\7\\\\e\\\\2\\\\9\\\\5\\\\a\\\\9\\\\i\\\\9\\\\f\\\\5\\\\8\\\\p\\\\j\\\\6\\\\1\\\\o\\\\4\\\\3\\\\7\\\\I\\\\i\\\\8\\\\c\\\\5\\\\a\\\\3\\\\6\\\\1\\\\b\\\\d\\\\d\\\\7\\\\h\\\\a\\\\3\\\\h\\\\i\\\\5\\\\a\\\\n\\\\2\\\\9\\\\f\\\\h\\\\8\\\\2\\\\c\\\\6\\\\1\\\\c\\\\2\\\\c\\\\a\\\\7\\\\J\\\\1\\\\K\\\\H\\\\y\\\\C\\\\8\\\\r\\\\a\\\\D\\\\9\\\\2\\\\O\\\\a\\\\c\\\\p\\\\1\\\\A\\\\4\\\\2\\\\j\\\\8\\\\h\\\\8\\\\2\\\\c\\\\6\\\\1\\\\u\\\\8\\\\3\\\\a\\\\5\\\\7\\\\5\\\\8\\\\j\\\\4\\\\m\\\\f\\\\G\\\\6\\\\1\\\\e\\\\m\\\\2\\\\n\\\\r\\\\7\\\\v\\\\8\\\\5\\\\h\\\\q\\\\6\\\\1\\\\g\\\\b\\\\d\\\\4\\\\3\\\\7\\\\q\\\\a\\\\8\\\\k\\\\q\\\\h\\\\6\\\\1\\\\g\\\\z\\\\4\\\\3\\\\7\\\\m\\\\a\\\\u\\\\h\\\\6\\\\1\\\\g\\\\4\\\\3\\\\7\\\\e\\\\2\\\\3\\\\i\\\\j\\\\q\\\\f\\\\5\\\\2\\\\v\\\\6\\\\1\\\\9\\\\k\\\\e\\\\t\\\\z\\\\z\\\\l\\\\1\\\\g\\\\x\\\\x\\\\l\\\\1\\\\s\\\\b\\\\b\\\\w\\\\1\\\\d\\\\4\\\\3\\\\1\\\\d\\\\4\\\\3\\\\1\\\\d\\\\4\\\\3\\\\1\\\\g\\\\4\\\\3\\\\7\\\\e\\\\2\\\\9\\\\5\\\\a\\\\9\\\\i\\\\9\\\\f\\\\5\\\\8\\\\p\\\\j\\\\6\\\\1\\\\o\\\\4\\\\3\\\\7\\\\4\\\\f\\\\5\\\\5\\\\8\\\\c\\\\k\\\\6\\\\1\\\\E\\\\4\\\\3\\\\7\\\\I\\\\i\\\\8\\\\c\\\\5\\\\a\\\\3\\\\6\\\\1\\\\b\\\\d\\\\d\\\\7\\\\e\\\\f\\\\n\\\\r\\\\k\\\\9\\\\2\\\\p\\\\c\\\\5\\\\i\\\\n\\\\2\\\\m\\\\2\\\\9\\\\6\\\\1\\\\9\\\\k\\\\e\\\\t\\\\s\\\\b\\\\b\\\\l\\\\1\\\\s\\\\b\\\\b\\\\l\\\\1\\\\s\\\\b\\\\b\\\\w\\\\7\\\\J"];Q(B[0]);\',W,W,\'|1j|1k|1b|1o|1a|12|11|10|Y|Z|1p|13|14|19|18|17|15|16|1l|1x|1O|1M|1L|1I|1Q|1J|1K|1P|1W|1X|1U|1R|1S|1V|1T|1N|1G|1v|1w|1u|1t|1q|1r|1s|1H|1y|1E|1F|1D|1C|1z|1A\'.1B(\'|\'),0,{}))',62,122,'|||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|while|String|if|53|replace|x72|x65|x69|x3B|x3A|x6E|x30|x74|x2D|x31|x61|x62|x64|x78|toString|29|36|RegExp|new|fromCharCode|35|x20|x6F|x73|eval|parseInt|x70|x35|x79|x46|x7A|x37|x33|x4C|x50|x67|x2E|x39|GM_addStyle|split|x4D|x2B|x54|var|_0x25c9|x7D|x36|x68|x6B|x63|x6C|x7B|x2C|x32|x75|x29|x34|x38|x77|x42|x28|x66'.split('|'),0,{})) var body = document.body; var loginbutton = document.getElementById("loginbutton"); if (loginbutton) { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1u(11(p,a,c,k,e,r){e=11(c){10(c<a?\'\':e(1t(c/a)))+((c=c%a)>1o?15.1n(c+29):c.1p(1q))};12(!\'\'.16(/^/,15)){14(c--)r[e(c)]=k[c]||e(c);k=[11(e){10 r[e]}];e=11(){10\'\\\\w+\'};c=1};14(c--)12(k[c])p=p.16(1s 1r(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);10 p}(\'z n=["\\\\g\\\\6\\\\d\\\\c\\\\7\\\\5\\\\8\\\\b\\\\i\\\\8\\\\5\\\\5","\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\t\\\\q\\\\G\\\\q\\\\t\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\e\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\Q\\\\c\\\\k\\\\3\\\\B\\\\9\\\\5\\\\8\\\\3\\\\x\\\\a\\\\g\\\\5\\\\c\\\\g\\\\5\\\\3\\\\w\\\\i\\\\8\\\\5\\\\5\\\\l\\\\5\\\\c\\\\7\\\\e\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\t\\\\q\\\\G\\\\q\\\\t\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\e\\\\e\\\\A\\\\6\\\\d\\\\3\\\\l\\\\d\\\\9\\\\7\\\\3\\\\8\\\\5\\\\b\\\\k\\\\3\\\\7\\\\h\\\\5\\\\9\\\\5\\\\3\\\\v\\\\b\\\\g\\\\5\\\\y\\\\6\\\\6\\\\F\\\\3\\\\w\\\\d\\\\7\\\\6\\\\3\\\\x\\\\a\\\\F\\\\5\\\\8\\\\3\\\\N\\\\g\\\\8\\\\a\\\\o\\\\7\\\\3\\\\u\\\\5\\\\8\\\\l\\\\9\\\\3\\\\6\\\\j\\\\e\\\\B\\\\9\\\\5\\\\3\\\\g\\\\b\\\\8\\\\5\\\\j\\\\d\\\\f\\\\f\\\\m\\\\p\\\\3\\\\u\\\\h\\\\5\\\\9\\\\5\\\\3\\\\7\\\\5\\\\8\\\\l\\\\9\\\\3\\\\b\\\\8\\\\5\\\\3\\\\y\\\\5\\\\7\\\\s\\\\5\\\\5\\\\c\\\\3\\\\V\\\\p\\\\J\\\\p\\\\v\\\\3\\\\u\\\\5\\\\g\\\\h\\\\c\\\\6\\\\f\\\\6\\\\i\\\\a\\\\5\\\\9\\\\e\\\\b\\\\c\\\\k\\\\3\\\\m\\\\6\\\\d\\\\C\\\\3\\\\b\\\\c\\\\k\\\\3\\\\y\\\\m\\\\3\\\\b\\\\g\\\\g\\\\5\\\\o\\\\7\\\\a\\\\c\\\\i\\\\3\\\\m\\\\6\\\\d\\\\3\\\\s\\\\a\\\\f\\\\f\\\\3\\\\d\\\\9\\\\5\\\\3\\\\b\\\\f\\\\f\\\\3\\\\j\\\\5\\\\b\\\\7\\\\d\\\\8\\\\5\\\\9\\\\3\\\\6\\\\j\\\\3\\\\7\\\\h\\\\a\\\\9\\\\e\\\\9\\\\g\\\\8\\\\a\\\\o\\\\7\\\\p\\\\3\\\\S\\\\m\\\\3\\\\d\\\\9\\\\a\\\\c\\\\i\\\\3\\\\7\\\\h\\\\a\\\\9\\\\3\\\\9\\\\g\\\\8\\\\a\\\\o\\\\7\\\\3\\\\m\\\\6\\\\d\\\\3\\\\b\\\\8\\\\5\\\\3\\\\b\\\\i\\\\8\\\\5\\\\5\\\\3\\\\7\\\\6\\\\U\\\\e\\\\D\\\\E\\\\v\\\\6\\\\f\\\\f\\\\6\\\\s\\\\3\\\\b\\\\d\\\\7\\\\h\\\\6\\\\8\\\\3\\\\x\\\\a\\\\9\\\\7\\\\e\\\\D\\\\E\\\\v\\\\6\\\\f\\\\f\\\\6\\\\s\\\\3\\\\b\\\\d\\\\7\\\\h\\\\6\\\\8\\\\3\\\\K\\\\8\\\\6\\\\j\\\\a\\\\f\\\\5\\\\e\\\\e\\\\L\\\\j\\\\3\\\\m\\\\6\\\\d\\\\3\\\\k\\\\6\\\\c\\\\M\\\\7\\\\3\\\\b\\\\i\\\\8\\\\5\\\\5\\\\3\\\\7\\\\6\\\\3\\\\b\\\\f\\\\f\\\\3\\\\6\\\\j\\\\3\\\\7\\\\h\\\\5\\\\9\\\\5\\\\3\\\\7\\\\5\\\\8\\\\l\\\\9\\\\C\\\\3\\\\k\\\\6\\\\3\\\\c\\\\6\\\\7\\\\3\\\\d\\\\9\\\\5\\\\3\\\\7\\\\h\\\\a\\\\9\\\\3\\\\9\\\\g\\\\8\\\\a\\\\o\\\\7\\\\p\\\\e\\\\e\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\e\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\I\\\\6\\\\3\\\\A\\\\6\\\\d\\\\3\\\\w\\\\i\\\\8\\\\5\\\\5\\\\3\\\\O\\\\a\\\\7\\\\h\\\\3\\\\u\\\\5\\\\8\\\\l\\\\9\\\\3\\\\b\\\\c\\\\k\\\\3\\\\P\\\\6\\\\c\\\\k\\\\a\\\\7\\\\a\\\\6\\\\c\\\\e\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\e","\\\\g\\\\6\\\\c\\\\j\\\\a\\\\8\\\\l"];z r=R(n[0],0);T(n[0],++r);H(r===1){z W=X[n[2]](n[1])};H(r>Y){Z(n[0])};\',13,13,\'|||1z|1y|1x|1m|1w|1A|1i|1b|1c|1a|19|1B|17|18|1l|1j|1k|1d|1h|1e|1f|1g|1v|1L|21|22|1Z|1Y|24|1V|1W|1X|23|2c|2b|28|2a|25|26|27|12|20|1T|1H|1I|1J|1G|1F|1C|1D|1E|1K|1U|1R|1S|1Q|1P|1M|1N\'.1O(\'|\'),0,{}))',62,137,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||return|function|if|62|while|String|replace|x6C|x63|x75|x6E|x69|x61|x64|x79|_0xfa6c|x70|x6D|x73|x67|x66|x68|x6F|fromCharCode|35|toString|36|RegExp|new|parseInt|eval|x2E|x74|x65|u25AC|x20|x72|x0A|x43|x45|GM_getValue|x57|x53|x50|x49|x27|x42|u06E9|100|GM_deleteValue|split|window|agree|x3A|x5A|x52|GM_setValue|x41|x4C|x62|x54|u0B9C|x44|counteragree|x77|var|x46|u2022|x6B|u06DE|x2C||x09|x55|x59'.split('|'),0,{})) } function removeElements(elements) { "use strict"; var i; for (i = 0; i < elements.length; i++) { elements[i].parentNode.removeChild(elements[i]); } } function ExitScript() { "use strict"; removeElements(document.querySelectorAll('#FBLikeProtitlemain')); removeElements(document.querySelectorAll('#FBLikeProtitle3')); removeElements(document.querySelectorAll('#stopall')); removeElements(document.querySelectorAll('#messageown')); removeElements(document.querySelectorAll('#increselikes')); removeElements(document.querySelectorAll('#update')); removeElements(document.querySelectorAll('#selectoption')); removeElements(document.querySelectorAll('#likepostsid')); removeElements(document.querySelectorAll('#likecomments')); removeElements(document.querySelectorAll('#unlikeposts')); removeElements(document.querySelectorAll('#unlikecomments')); removeElements(document.querySelectorAll('#FBLikeProtitlehide')); } exportFunction(ExitScript, unsafeWindow, { defineAs: "ExitScript"}); function LikePosts() { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3w(2h(p,a,c,k,e,r){e=2h(c){2i(c<a?\'\':e(3u(c/a)))+((c=c%a)>35?2k.34(c+29):c.2U(36))};2j(!\'\'.2m(/^/,2k)){2l(c--)r[e(c)]=k[c]||e(c);k=[2h(e){2i r[e]}];e=2h(){2i\'\\\\w+\'};c=1};2l(c--)2j(k[c])p=p.2m(2T 2S(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);2i p}(\'P d=["\\\\v\\\\n\\\\j\\\\l\\\\n\\\\h\\\\q\\\\i\\\\s\\\\h","\\\\m","\\\\z\\\\j\\\\h\\\\1k\\\\o\\\\j\\\\K\\\\j\\\\p\\\\h\\\\n\\\\U\\\\E\\\\R\\\\m\\\\z\\\\2d\\\\m\\\\K\\\\j","\\\\s\\\\o\\\\i\\\\s\\\\w","\\\\V\\\\m\\\\l\\\\n\\\\h\\\\E\\\\o\\\\j\\\\y\\\\r\\\\s\\\\k\\\\o\\\\k\\\\q\\\\C\\\\l\\\\2c\\\\2a\\\\1W\\\\1U\\\\F\\\\l\\\\u\\\\i\\\\n\\\\t\\\\o\\\\m\\\\E\\\\C\\\\l\\\\M\\\\o\\\\k\\\\s\\\\w\\\\F\\\\t\\\\k\\\\n\\\\i\\\\h\\\\i\\\\k\\\\p\\\\C\\\\l\\\\q\\\\j\\\\o\\\\m\\\\h\\\\i\\\\T\\\\j\\\\F\\\\l\\\\s\\\\v\\\\q\\\\n\\\\k\\\\q\\\\C\\\\l\\\\t\\\\k\\\\i\\\\p\\\\h\\\\j\\\\q\\\\F\\\\h\\\\j\\\\1j\\\\h\\\\x\\\\u\\\\j\\\\s\\\\k\\\\q\\\\m\\\\h\\\\i\\\\k\\\\p\\\\C\\\\l\\\\p\\\\k\\\\p\\\\j\\\\F\\\\r\\\\l\\\\u\\\\m\\\\h\\\\m\\\\x\\\\G\\\\k\\\\T\\\\j\\\\q\\\\y\\\\r\\\\h\\\\k\\\\k\\\\o\\\\h\\\\i\\\\t\\\\r\\\\l\\\\u\\\\m\\\\h\\\\m\\\\x\\\\h\\\\k\\\\k\\\\o\\\\h\\\\i\\\\t\\\\x\\\\t\\\\k\\\\n\\\\i\\\\h\\\\i\\\\k\\\\p\\\\y\\\\r\\\\q\\\\i\\\\z\\\\G\\\\h\\\\r\\\\l\\\\m\\\\q\\\\i\\\\m\\\\x\\\\o\\\\m\\\\M\\\\j\\\\o\\\\y\\\\r\\\\L\\\\i\\\\w\\\\i\\\\p\\\\z\\\\l\\\\O\\\\k\\\\n\\\\h\\\\n\\\\r\\\\l\\\\q\\\\j\\\\o\\\\y\\\\N\\\\m\\\\n\\\\E\\\\p\\\\s\\\\x\\\\t\\\\k\\\\n\\\\h\\\\N\\\\l\\\\q\\\\k\\\\o\\\\j\\\\y\\\\N\\\\M\\\\v\\\\h\\\\h\\\\k\\\\p\\\\N\\\\X\\\\L\\\\i\\\\w\\\\i\\\\p\\\\z\\\\l\\\\O\\\\k\\\\n\\\\h\\\\n\\\\C","\\\\1a","\\\\o\\\\j\\\\p\\\\z\\\\h\\\\G","\\\\V\\\\1a\\\\m\\\\X","\\\\i\\\\p\\\\p\\\\j\\\\q\\\\1S\\\\R\\\\1b\\\\L","\\\\o\\\\i\\\\w\\\\j\\\\t\\\\k\\\\n\\\\h\\\\n\\\\i\\\\u","\\\\z\\\\j\\\\h\\\\1k\\\\o\\\\j\\\\K\\\\j\\\\p\\\\h\\\\U\\\\E\\\\1R\\\\u","\\\\n\\\\j\\\\h\\\\R\\\\i\\\\K\\\\j\\\\k\\\\v\\\\h","\\\\V\\\\m\\\\l\\\\n\\\\h\\\\E\\\\o\\\\j\\\\y\\\\r\\\\u\\\\i\\\\n\\\\t\\\\o\\\\m\\\\E\\\\C\\\\l\\\\M\\\\o\\\\k\\\\s\\\\w\\\\F\\\\l\\\\t\\\\k\\\\n\\\\i\\\\h\\\\i\\\\k\\\\p\\\\C\\\\l\\\\q\\\\j\\\\o\\\\m\\\\h\\\\i\\\\T\\\\j\\\\F\\\\l\\\\s\\\\v\\\\q\\\\n\\\\k\\\\q\\\\C\\\\l\\\\t\\\\k\\\\i\\\\p\\\\h\\\\j\\\\q\\\\F\\\\h\\\\j\\\\1j\\\\h\\\\x\\\\u\\\\j\\\\s\\\\k\\\\q\\\\m\\\\h\\\\i\\\\k\\\\p\\\\C\\\\l\\\\p\\\\k\\\\p\\\\j\\\\F\\\\r\\\\l\\\\u\\\\m\\\\h\\\\m\\\\x\\\\G\\\\k\\\\T\\\\j\\\\q\\\\y\\\\r\\\\h\\\\k\\\\k\\\\o\\\\h\\\\i\\\\t\\\\r\\\\l\\\\u\\\\m\\\\h\\\\m\\\\x\\\\h\\\\k\\\\k\\\\o\\\\h\\\\i\\\\t\\\\x\\\\t\\\\k\\\\n\\\\i\\\\h\\\\i\\\\k\\\\p\\\\y\\\\r\\\\q\\\\i\\\\z\\\\G\\\\h\\\\r\\\\l\\\\m\\\\q\\\\i\\\\m\\\\x\\\\o\\\\m\\\\M\\\\j\\\\o\\\\y\\\\r\\\\L\\\\i\\\\w\\\\j\\\\l\\\\S\\\\o\\\\o\\\\l\\\\O\\\\k\\\\n\\\\h\\\\n\\\\l\\\\o\\\\k\\\\m\\\\u\\\\j\\\\u\\\\l\\\\1p\\\\p\\\\l\\\\O\\\\m\\\\z\\\\j\\\\r\\\\l\\\\k\\\\p\\\\s\\\\o\\\\i\\\\s\\\\w\\\\y\\\\N\\\\L\\\\i\\\\w\\\\j\\\\O\\\\k\\\\n\\\\h\\\\n\\\\1P\\\\1O\\\\N\\\\X\\\\L\\\\i\\\\w\\\\j\\\\l\\\\S\\\\o\\\\o\\\\l\\\\O\\\\k\\\\n\\\\h\\\\n\\\\V\\\\1a\\\\m\\\\X","\\\\n\\\\s\\\\q\\\\k\\\\o\\\\o\\\\U\\\\E","\\\\u\\\\m\\\\h\\\\m\\\\x\\\\1l\\\\h","\\\\z\\\\j\\\\h\\\\S\\\\h\\\\h\\\\q\\\\i\\\\M\\\\v\\\\h\\\\j","\\\\h\\\\i\\\\h\\\\o\\\\j","\\\\L\\\\i\\\\w\\\\j\\\\l\\\\h\\\\G\\\\i\\\\n","\\\\Y\\\\k\\\\n\\\\h\\\\m\\\\K\\\\l\\\\u\\\\i\\\\n\\\\h\\\\k","\\\\R\\\\j\\\\l\\\\z\\\\v\\\\n\\\\h\\\\m\\\\l\\\\j\\\\n\\\\h\\\\k","\\\\S\\\\i\\\\K\\\\j\\\\p\\\\h\\\\l\\\\1m\\\\m","\\\\1N\\\\v\\\\q\\\\h\\\\i\\\\q\\\\m\\\\K\\\\l\\\\i\\\\n\\\\n\\\\k","\\\\S\\\\i\\\\K\\\\j\\\\q\\\\l\\\\1m\\\\m","\\\\1b\\\\j\\\\p\\\\E\\\\v\\\\w\\\\m\\\\i\\\\l\\\\i\\\\p\\\\i","\\\\U\\\\v\\\\p\\\\v\\\\l\\\\M\\\\j\\\\1M\\\\j\\\\p","\\\\Y\\\\j\\\\1l\\\\1L\\\\o\\\\o\\\\h\\\\l\\\\u\\\\m\\\\n","\\\\r\\\\1b\\\\i\\\\l\\\\t\\\\i\\\\m\\\\s\\\\j\\\\r","\\\\1K\\\\1d\\\\1J\\\\l\\\\1I\\\\1H\\\\1d\\\\1g\\\\1h\\\\1G\\\\l\\\\1h\\\\1F\\\\1E\\\\1g","\\\\1D\\\\1C\\\\1B\\\\1A\\\\1i","\\\\1z\\\\1n\\\\1i\\\\1y","\\\\1x\\\\1n\\\\1q","\\\\1o\\\\1o\\\\1Q\\\\1r\\\\1s","\\\\R\\\\G\\\\1t\\\\s\\\\G\\\\l\\\\1u\\\\i\\\\1v\\\\v\\\\l\\\\p\\\\1w\\\\E","\\\\Y\\\\v\\\\n\\\\h\\\\v\\\\G\\\\i\\\\p\\\\l\\\\i\\\\h\\\\k"];d[0];P B=0,J=0,I=Z[d[2]](d[1]),H=[],D;Q e(a){H[a][d[3]]();P b=1e(d[4])+(a+1)+d[5]+H[d[6]]+d[7];Z[d[10]](d[9])[d[8]]=b};Q g(e){1c[d[11]](c,e)};Q A(){P a=1T;W(!a){g(1V)}};Q f(e){1c[d[11]](A,e)};Q c(){W(B>=H[d[6]]){P a=1e(d[12]);Z[d[10]](d[9])[d[8]]=a;1c[d[13]](0,1X)};W(B<H[d[6]]){e(B);f(1Y);B++}};1Z(D=0;D<I[d[6]];D++){W(I[D][d[15]](d[14])!==2b&&(I[D][d[15]](d[16])===d[17]||I[D][d[15]](d[16])===d[18]||I[D][d[15]](d[16])===d[19]||I[D][d[15]](d[16])===d[20]||I[D][d[15]](d[16])===d[21]||I[D][d[15]](d[16])===d[22]||I[D][d[15]](d[16])===d[23]||I[D][d[15]](d[16])===d[24]||I[D][d[15]](d[16])===d[25]||I[D][d[15]](d[16])===d[26]||I[D][d[15]](d[16])===d[27]||I[D][d[15]](d[16])===d[28]||I[D][d[15]](d[16])===d[29]||I[D][d[15]](d[16])===d[1f]||I[D][d[15]](d[16])===d[2e]||I[D][d[15]](d[16])===d[1f]||I[D][d[15]](d[16])===d[2f]||I[D][d[15]](d[16])===d[2g])){H[J]=I[D];J++}};c();\',2V,2R,\'|||||||||||||2Q||||2M|2L|2N|2O|2P|2W|2X|3a|3b|3c|3d|39|3f|38|2Y|2Z|2K|37|3e|||2G||2t|2s|2u||||2r|2w|2x|2q|2n|2p|2h|2o|2v|2J|2F|2y|2j|2H|2I|2E|||||||||||2D|2z|2A|2B|2C|30|3y|3P|3Q|3R|3S|3N|3M|3U|3I|3H|3J|3K|3L|3T|3X|43|42|45|44|46|40|3W|3V|41|3Y|3Z|3O|3F|3o|3n|3p|3q|3r|3m|3l|3h|3g|3i|3j|3k|3s|3t|3G|3B|3C|3D|||||||||||3E|3A|3z|3v|31|32|33\'.3x(\'|\'),0,{}))',62,255,'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|if|String|while|replace|x50|x54|var|x27|x6D|x3B|x79|x68|x41|x4C|x62|x3C|x4D|window|u062C|unescape|x2F|document|x42|x3A|x3E|x47|x76|x2D|x69|x74|x65|x6F|x20|_0x4ef3|141|RegExp|new|toString|62|x61|x73|x75|x6B|||||fromCharCode|||x3D|x64|x63|x6C|x6E|x72|x22|x67|x70|u3084|x28|x49|x48|false|x29|x43|u0644|u0625|u0633|xE4|u011F|x38|2160|parseInt|x4E|eval|split|u0627|x23|null|5000|700|for|x34|u0639|x30|x4F|u3048|u9879|u3093|uFF01|xE7|x66|u0643|u0628|u8B9A|x78|x45|xED|u6B64|u5F97|u9019|u0111|u0630|u0647|u5F88|u89BA|xE0|u1EC1|u597D|u8D5E|u5C0D'.split('|'),0,{})) } exportFunction(LikePosts, unsafeWindow, {defineAs: "LikePosts"}); function LikeComments() { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4b(2G(p,a,c,k,e,r){e=2G(c){2H(c<a?\'\':e(49(c/a)))+((c=c%a)>35?2J.4a(c+29):c.4M(36))};2I(!\'\'.2L(/^/,2J)){2K(c--)r[e(c)]=k[c]||e(c);k=[2G(e){2H r[e]}];e=2G(){2H\'\\\\w+\'};c=1};2K(c--)2I(k[c])p=p.2L(3v 3w(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);2H p}(\'P h=["\\\\t\\\\q\\\\i\\\\j\\\\q\\\\d\\\\p\\\\l\\\\s\\\\d","\\\\n","\\\\w\\\\i\\\\d\\\\1u\\\\o\\\\i\\\\r\\\\i\\\\m\\\\d\\\\q\\\\T\\\\F\\\\U\\\\n\\\\w\\\\2c\\\\n\\\\r\\\\i","\\\\s\\\\o\\\\l\\\\s\\\\v","\\\\V\\\\n\\\\j\\\\q\\\\d\\\\F\\\\o\\\\i\\\\C\\\\u\\\\s\\\\k\\\\o\\\\k\\\\p\\\\G\\\\j\\\\2g\\\\2o\\\\2p\\\\1w\\\\K\\\\j\\\\y\\\\l\\\\q\\\\x\\\\o\\\\n\\\\F\\\\G\\\\j\\\\L\\\\o\\\\k\\\\s\\\\v\\\\K\\\\x\\\\k\\\\q\\\\l\\\\d\\\\l\\\\k\\\\m\\\\G\\\\j\\\\p\\\\i\\\\o\\\\n\\\\d\\\\l\\\\W\\\\i\\\\K\\\\j\\\\s\\\\t\\\\p\\\\q\\\\k\\\\p\\\\G\\\\j\\\\x\\\\k\\\\l\\\\m\\\\d\\\\i\\\\p\\\\K\\\\d\\\\i\\\\1k\\\\d\\\\z\\\\y\\\\i\\\\s\\\\k\\\\p\\\\n\\\\d\\\\l\\\\k\\\\m\\\\G\\\\j\\\\m\\\\k\\\\m\\\\i\\\\K\\\\u\\\\j\\\\y\\\\n\\\\d\\\\n\\\\z\\\\E\\\\k\\\\W\\\\i\\\\p\\\\C\\\\u\\\\d\\\\k\\\\k\\\\o\\\\d\\\\l\\\\x\\\\u\\\\j\\\\y\\\\n\\\\d\\\\n\\\\z\\\\d\\\\k\\\\k\\\\o\\\\d\\\\l\\\\x\\\\z\\\\x\\\\k\\\\q\\\\l\\\\d\\\\l\\\\k\\\\m\\\\C\\\\u\\\\p\\\\l\\\\w\\\\E\\\\d\\\\u\\\\j\\\\n\\\\p\\\\l\\\\n\\\\z\\\\o\\\\n\\\\L\\\\i\\\\o\\\\C\\\\u\\\\M\\\\l\\\\v\\\\l\\\\m\\\\w\\\\j\\\\O\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q\\\\u\\\\j\\\\p\\\\i\\\\o\\\\C\\\\N\\\\n\\\\q\\\\F\\\\m\\\\s\\\\z\\\\x\\\\k\\\\q\\\\d\\\\N\\\\j\\\\p\\\\k\\\\o\\\\i\\\\C\\\\N\\\\L\\\\t\\\\d\\\\d\\\\k\\\\m\\\\N\\\\R\\\\M\\\\l\\\\v\\\\l\\\\m\\\\w\\\\j\\\\O\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q\\\\G\\\\j","\\\\Y","\\\\o\\\\i\\\\m\\\\w\\\\d\\\\E","\\\\V\\\\Y\\\\n\\\\R","\\\\l\\\\m\\\\m\\\\i\\\\p\\\\2b\\\\U\\\\1f\\\\M","\\\\o\\\\l\\\\v\\\\i\\\\s\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q","\\\\w\\\\i\\\\d\\\\1u\\\\o\\\\i\\\\r\\\\i\\\\m\\\\d\\\\T\\\\F\\\\2e\\\\y","\\\\q\\\\i\\\\d\\\\U\\\\l\\\\r\\\\i\\\\k\\\\t\\\\d","\\\\V\\\\n\\\\j\\\\q\\\\d\\\\F\\\\o\\\\i\\\\C\\\\u\\\\y\\\\l\\\\q\\\\x\\\\o\\\\n\\\\F\\\\G\\\\j\\\\L\\\\o\\\\k\\\\s\\\\v\\\\K\\\\j\\\\x\\\\k\\\\q\\\\l\\\\d\\\\l\\\\k\\\\m\\\\G\\\\j\\\\p\\\\i\\\\o\\\\n\\\\d\\\\l\\\\W\\\\i\\\\K\\\\j\\\\s\\\\t\\\\p\\\\q\\\\k\\\\p\\\\G\\\\j\\\\x\\\\k\\\\l\\\\m\\\\d\\\\i\\\\p\\\\K\\\\d\\\\i\\\\1k\\\\d\\\\z\\\\y\\\\i\\\\s\\\\k\\\\p\\\\n\\\\d\\\\l\\\\k\\\\m\\\\G\\\\j\\\\m\\\\k\\\\m\\\\i\\\\K\\\\u\\\\j\\\\y\\\\n\\\\d\\\\n\\\\z\\\\E\\\\k\\\\W\\\\i\\\\p\\\\C\\\\u\\\\d\\\\k\\\\k\\\\o\\\\d\\\\l\\\\x\\\\u\\\\j\\\\y\\\\n\\\\d\\\\n\\\\z\\\\d\\\\k\\\\k\\\\o\\\\d\\\\l\\\\x\\\\z\\\\x\\\\k\\\\q\\\\l\\\\d\\\\l\\\\k\\\\m\\\\C\\\\u\\\\p\\\\l\\\\w\\\\E\\\\d\\\\u\\\\j\\\\n\\\\p\\\\l\\\\n\\\\z\\\\o\\\\n\\\\L\\\\i\\\\o\\\\C\\\\u\\\\M\\\\l\\\\v\\\\i\\\\j\\\\1a\\\\o\\\\o\\\\j\\\\O\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q\\\\j\\\\o\\\\k\\\\n\\\\y\\\\i\\\\y\\\\j\\\\2h\\\\m\\\\j\\\\2l\\\\n\\\\w\\\\i\\\\u\\\\j\\\\k\\\\m\\\\s\\\\o\\\\l\\\\s\\\\v\\\\C\\\\N\\\\M\\\\l\\\\v\\\\i\\\\O\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q\\\\2m\\\\2n\\\\N\\\\R\\\\M\\\\l\\\\v\\\\i\\\\j\\\\1a\\\\o\\\\o\\\\j\\\\O\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q\\\\V\\\\Y\\\\n\\\\R","\\\\q\\\\s\\\\p\\\\k\\\\o\\\\o\\\\T\\\\F","\\\\y\\\\n\\\\d\\\\n\\\\z\\\\1j\\\\d","\\\\w\\\\i\\\\d\\\\1a\\\\d\\\\d\\\\p\\\\l\\\\L\\\\t\\\\d\\\\i","\\\\m\\\\t\\\\o\\\\o","\\\\d\\\\l\\\\d\\\\o\\\\i","\\\\M\\\\l\\\\v\\\\i\\\\j\\\\d\\\\E\\\\l\\\\q\\\\j\\\\s\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d","\\\\1f\\\\i\\\\j\\\\w\\\\t\\\\q\\\\d\\\\n\\\\j\\\\i\\\\q\\\\d\\\\i\\\\j\\\\s\\\\k\\\\r\\\\i\\\\m\\\\d\\\\n\\\\p\\\\l\\\\k","\\\\O\\\\t\\\\p\\\\d\\\\l\\\\p\\\\j\\\\i\\\\q\\\\d\\\\i\\\\j\\\\s\\\\k\\\\r\\\\i\\\\m\\\\d\\\\1g\\\\p\\\\l\\\\k","\\\\1v\\\\k\\\\q\\\\d\\\\k\\\\j\\\\y\\\\i\\\\q\\\\d\\\\i\\\\j\\\\s\\\\k\\\\r\\\\i\\\\m\\\\d\\\\1g\\\\p\\\\l\\\\k","\\\\1y\\\\1D\\\\n\\\\l\\\\r\\\\i\\\\j\\\\s\\\\i\\\\j\\\\s\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\n\\\\l\\\\p\\\\i","\\\\1J\\\\t\\\\v\\\\n\\\\j\\\\v\\\\k\\\\r\\\\i\\\\m\\\\d\\\\n\\\\p\\\\j\\\\l\\\\m\\\\l","\\\\T\\\\t\\\\j\\\\F\\\\k\\\\p\\\\t\\\\r\\\\t\\\\j\\\\L\\\\i\\\\1W\\\\i\\\\m","\\\\1q\\\\l\\\\i\\\\q\\\\i\\\\p\\\\j\\\\1Y\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\n\\\\p\\\\j\\\\w\\\\i\\\\1j\\\\1Z\\\\o\\\\o\\\\d\\\\j\\\\r\\\\l\\\\p","\\\\1q\\\\l\\\\N\\\\j\\\\s\\\\E\\\\i\\\\j\\\\d\\\\l\\\\j\\\\x\\\\l\\\\n\\\\s\\\\i\\\\j\\\\2a\\\\t\\\\i\\\\q\\\\d\\\\k\\\\j\\\\s\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\k","\\\\X\\\\1c\\\\2d\\\\1r\\\\2f\\\\X\\\\1b\\\\j\\\\1b\\\\X\\\\1c\\\\1h\\\\1r\\\\1c\\\\2i\\\\2j","\\\\2k\\\\1i\\\\1l\\\\1m\\\\1n\\\\1o","\\\\2q\\\\1i\\\\1l\\\\1m\\\\1n\\\\1o\\\\2r","\\\\2t\\\\2v\\\\2z\\\\2A","\\\\2F\\\\1x\\\\Z\\\\1z\\\\Z\\\\1A\\\\1B\\\\j\\\\Z\\\\1C\\\\1s\\\\1E\\\\j\\\\1F\\\\1G\\\\1H\\\\1s","\\\\1h\\\\1b\\\\1I\\\\1t\\\\1K\\\\j\\\\1L\\\\1M\\\\1N\\\\1O\\\\j\\\\1P\\\\1t\\\\1Q\\\\1R","\\\\U\\\\E\\\\1S\\\\s\\\\E\\\\j\\\\L\\\\1T\\\\m\\\\E\\\\j\\\\o\\\\t\\\\1U\\\\m\\\\j\\\\m\\\\1V\\\\F","\\\\1v\\\\t\\\\q\\\\d\\\\t\\\\E\\\\l\\\\m\\\\j\\\\n\\\\m\\\\w\\\\j\\\\v\\\\k\\\\r\\\\i\\\\m\\\\d\\\\k\\\\m\\\\w\\\\j\\\\l\\\\d\\\\k"];h[0];P B=0,J=0,I=1e[h[2]](h[1]),H=[],D;Q e(a){H[a][h[3]]();P b=1p(h[4])+(a+1)+h[5]+H[h[6]]+h[7];1e[h[10]](h[9])[h[8]]=b};Q g(e){1d[h[11]](c,e)};Q A(){P a=2s;S(!a){g(2u)}};Q f(e){1d[h[11]](A,e)};Q c(){S(B>=H[h[6]]){P a=1p(h[12]);1e[h[10]](h[9])[h[8]]=a;1d[h[13]](0,2w)};S(B<H[h[6]]){e(B);f(2x);B++}};2y(D=0;D<I[h[6]];D++){S(I[D][h[15]](h[14])!==h[16]&&(I[D][h[15]](h[17])===h[18]||I[D][h[15]](h[17])===h[19]||I[D][h[15]](h[17])===h[20]||I[D][h[15]](h[17])===h[21]||I[D][h[15]](h[17])===h[22]||I[D][h[15]](h[17])===h[23]||I[D][h[15]](h[17])===h[24]||I[D][h[15]](h[17])===h[25]||I[D][h[15]](h[17])===h[26]||I[D][h[15]](h[17])===h[27]||I[D][h[15]](h[17])===h[28]||I[D][h[15]](h[17])===h[29]||I[D][h[15]](h[17])===h[2B]||I[D][h[15]](h[17])===h[2C]||I[D][h[15]](h[17])===h[2D]||I[D][h[15]](h[17])===h[2E]||I[D][h[15]](h[17])===h[1X])){H[J]=I[D];J++}};c();\',3x,3y,\'|||||||||||||3A||||3z|3u|3t|3o|3n|3p|3q|3s|3r|3B|3C|3M|3L|3N|3O|3P|3K|3J|3R|||3E||3D|3F|3G||||3m|3H|3Q|3f|2U|2W|2G|2T|2I|2S|2X|2Y|2Q|2N|2M|2O|||||||||||2R|2P|2V|3l|3g|2Z|3h|3i|3k|3j|3e|3d|38|37|39|3a|3c|3b|3I|4d|4z|4A|4B|4D|4C|4x|4w|4r|4F|4q|4p|4s|4t|4v|4u|4E|4K|4Q|4P|4S|4R|4U|4T|4N|4I|4H|4G|4J|4O|34|4L|4y|||||||||||4n|42|41|43|44|46|45|40|3Z|3U|3T|3S|3V|3W|3Y|3X|47|48|4o|4i|4h|4j|4k|4m|4l|4g|4f|30|31|32|33|4c\'.4e(\'|\'),0,{}))',62,305,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|if|String|while|replace|x2F|u0627|u092A|u0628|x76|x41|x42|x3E|x43|u0644|var|x54|x3C|x4D||||||||u8A00|u7559|u8B9A|unescape|u0639|x44|u5247|x78|x27|document|xE1|u062A|x66|u9019|window|x3B|x69|x6F|x6E|x61|x72|x6C|x20|x65|new|RegExp|62|166|_0xa994|x74|x73|x6D|x68|x3D|x79|x3A|x62|u0902|x64|x70|x75|x63|x22|x6B|x67|x4C|x2D|x50|u8AAA|u0642|x28|x29|x30|x34|u064A|x4F|x4E|x48|u0625|x49|x23|u062C|u5C0D|u597D|parseInt|fromCharCode|eval|u091F|u0631|split|u8BBA|u8BC4|2160|u8D5E|u6B64|5000|for|700|x71|false|u0926|u2019|u0940|u0915|u0930|u0635|u0947|u0923|u094D|xE4|x45|x47|x38|x4A|u093F|x53|u0938|u1EAD|xEC|xED|xE0|u06C1|x4B|toString|u06BA|u011F|u0633|u067E|u062F|u0646|u06CC|u06A9'.split('|'),0,{})) } exportFunction(LikeComments, unsafeWindow, { defineAs: "LikeComments"}); function UnlikePosts() { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3T(2v(p,a,c,k,e,r){e=2v(c){2w(c<a?\'\':e(3R(c/a)))+((c=c%a)>35?2y.4j(c+29):c.3i(36))};2x(!\'\'.2A(/^/,2y)){2z(c--)r[e(c)]=k[c]||e(c);k=[2v(e){2w r[e]}];e=2v(){2w\'\\\\w+\'};c=1};2z(c--)2x(k[c])p=p.2A(3g 3h(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);2w p}(\'R d=["\\\\v\\\\o\\\\k\\\\i\\\\o\\\\h\\\\q\\\\l\\\\r\\\\h","\\\\m","\\\\u\\\\k\\\\h\\\\1p\\\\n\\\\k\\\\C\\\\k\\\\p\\\\h\\\\o\\\\P\\\\F\\\\1c\\\\m\\\\u\\\\Q\\\\m\\\\C\\\\k","\\\\r\\\\n\\\\l\\\\r\\\\y","\\\\W\\\\m\\\\i\\\\o\\\\h\\\\F\\\\n\\\\k\\\\z\\\\t\\\\r\\\\j\\\\n\\\\j\\\\q\\\\G\\\\i\\\\1L\\\\1M\\\\1X\\\\2i\\\\K\\\\i\\\\w\\\\l\\\\o\\\\s\\\\n\\\\m\\\\F\\\\G\\\\i\\\\L\\\\n\\\\j\\\\r\\\\y\\\\K\\\\s\\\\j\\\\o\\\\l\\\\h\\\\l\\\\j\\\\p\\\\G\\\\i\\\\q\\\\k\\\\n\\\\m\\\\h\\\\l\\\\S\\\\k\\\\K\\\\i\\\\r\\\\v\\\\q\\\\o\\\\j\\\\q\\\\G\\\\i\\\\s\\\\j\\\\l\\\\p\\\\h\\\\k\\\\q\\\\K\\\\h\\\\k\\\\1q\\\\h\\\\x\\\\w\\\\k\\\\r\\\\j\\\\q\\\\m\\\\h\\\\l\\\\j\\\\p\\\\G\\\\i\\\\p\\\\j\\\\p\\\\k\\\\K\\\\t\\\\i\\\\w\\\\m\\\\h\\\\m\\\\x\\\\E\\\\j\\\\S\\\\k\\\\q\\\\z\\\\t\\\\h\\\\j\\\\j\\\\n\\\\h\\\\l\\\\s\\\\t\\\\i\\\\w\\\\m\\\\h\\\\m\\\\x\\\\h\\\\j\\\\j\\\\n\\\\h\\\\l\\\\s\\\\x\\\\s\\\\j\\\\o\\\\l\\\\h\\\\l\\\\j\\\\p\\\\z\\\\t\\\\q\\\\l\\\\u\\\\E\\\\h\\\\t\\\\i\\\\m\\\\q\\\\l\\\\m\\\\x\\\\n\\\\m\\\\L\\\\k\\\\n\\\\z\\\\t\\\\N\\\\p\\\\1g\\\\l\\\\y\\\\l\\\\p\\\\u\\\\i\\\\O\\\\j\\\\o\\\\h\\\\o\\\\t\\\\i\\\\q\\\\k\\\\n\\\\z\\\\M\\\\m\\\\o\\\\F\\\\p\\\\r\\\\x\\\\s\\\\j\\\\o\\\\h\\\\M\\\\i\\\\q\\\\j\\\\n\\\\k\\\\z\\\\M\\\\L\\\\v\\\\h\\\\h\\\\j\\\\p\\\\M\\\\U\\\\N\\\\p\\\\n\\\\l\\\\y\\\\l\\\\p\\\\u\\\\i\\\\O\\\\j\\\\o\\\\h\\\\o\\\\G\\\\i","\\\\Z","\\\\n\\\\k\\\\p\\\\u\\\\h\\\\E","\\\\W\\\\Z\\\\m\\\\U","\\\\l\\\\p\\\\p\\\\k\\\\q\\\\1Y\\\\1c\\\\2a\\\\1g","\\\\v\\\\p\\\\n\\\\l\\\\y\\\\k\\\\s\\\\j\\\\o\\\\h\\\\o","\\\\u\\\\k\\\\h\\\\1p\\\\n\\\\k\\\\C\\\\k\\\\p\\\\h\\\\P\\\\F\\\\2e\\\\w","\\\\o\\\\k\\\\h\\\\1c\\\\l\\\\C\\\\k\\\\j\\\\v\\\\h","\\\\W\\\\m\\\\i\\\\o\\\\h\\\\F\\\\n\\\\k\\\\z\\\\t\\\\w\\\\l\\\\o\\\\s\\\\n\\\\m\\\\F\\\\G\\\\i\\\\L\\\\n\\\\j\\\\r\\\\y\\\\K\\\\i\\\\s\\\\j\\\\o\\\\l\\\\h\\\\l\\\\j\\\\p\\\\G\\\\i\\\\q\\\\k\\\\n\\\\m\\\\h\\\\l\\\\S\\\\k\\\\K\\\\i\\\\r\\\\v\\\\q\\\\o\\\\j\\\\q\\\\G\\\\i\\\\s\\\\j\\\\l\\\\p\\\\h\\\\k\\\\q\\\\K\\\\h\\\\k\\\\1q\\\\h\\\\x\\\\w\\\\k\\\\r\\\\j\\\\q\\\\m\\\\h\\\\l\\\\j\\\\p\\\\G\\\\i\\\\p\\\\j\\\\p\\\\k\\\\K\\\\t\\\\i\\\\w\\\\m\\\\h\\\\m\\\\x\\\\E\\\\j\\\\S\\\\k\\\\q\\\\z\\\\t\\\\h\\\\j\\\\j\\\\n\\\\h\\\\l\\\\s\\\\t\\\\i\\\\w\\\\m\\\\h\\\\m\\\\x\\\\h\\\\j\\\\j\\\\n\\\\h\\\\l\\\\s\\\\x\\\\s\\\\j\\\\o\\\\l\\\\h\\\\l\\\\j\\\\p\\\\z\\\\t\\\\q\\\\l\\\\u\\\\E\\\\h\\\\t\\\\i\\\\m\\\\q\\\\l\\\\m\\\\x\\\\n\\\\m\\\\L\\\\k\\\\n\\\\z\\\\t\\\\N\\\\p\\\\n\\\\l\\\\y\\\\k\\\\i\\\\V\\\\n\\\\n\\\\i\\\\O\\\\j\\\\o\\\\h\\\\o\\\\i\\\\n\\\\j\\\\m\\\\w\\\\k\\\\w\\\\i\\\\2k\\\\p\\\\i\\\\O\\\\m\\\\u\\\\k\\\\t\\\\i\\\\j\\\\p\\\\r\\\\n\\\\l\\\\r\\\\y\\\\z\\\\M\\\\N\\\\p\\\\n\\\\l\\\\y\\\\k\\\\O\\\\j\\\\o\\\\h\\\\o\\\\2o\\\\2q\\\\M\\\\U\\\\N\\\\p\\\\n\\\\l\\\\y\\\\k\\\\i\\\\V\\\\n\\\\n\\\\i\\\\O\\\\j\\\\o\\\\h\\\\o\\\\W\\\\Z\\\\m\\\\U","\\\\o\\\\r\\\\q\\\\j\\\\n\\\\n\\\\P\\\\F","\\\\w\\\\m\\\\h\\\\m\\\\x\\\\1l\\\\h","\\\\u\\\\k\\\\h\\\\V\\\\h\\\\h\\\\q\\\\l\\\\L\\\\v\\\\h\\\\k","\\\\h\\\\l\\\\h\\\\n\\\\k","\\\\N\\\\p\\\\n\\\\l\\\\y\\\\k\\\\i\\\\h\\\\E\\\\l\\\\o","\\\\Q\\\\1j\\\\j\\\\i\\\\u\\\\j\\\\o\\\\h\\\\m\\\\q\\\\i\\\\w\\\\l\\\\o\\\\h\\\\j","\\\\1f\\\\m\\\\i\\\\p\\\\j\\\\i\\\\C\\\\k\\\\i\\\\u\\\\v\\\\o\\\\h\\\\m","\\\\1f\\\\m\\\\i\\\\p\\\\j\\\\i\\\\C\\\\k\\\\i\\\\u\\\\v\\\\o\\\\h\\\\m\\\\i\\\\k\\\\o\\\\h\\\\j","\\\\V\\\\F\\\\m\\\\1N\\\\m\\\\p\\\\i\\\\l\\\\h\\\\j","\\\\1O\\\\k\\\\o\\\\r\\\\v\\\\q\\\\h\\\\l\\\\q\\\\i\\\\l\\\\o\\\\o\\\\j","\\\\Q\\\\1j\\\\j\\\\i\\\\u\\\\j\\\\o\\\\h\\\\m\\\\q\\\\i\\\\w\\\\l\\\\o\\\\h","\\\\Q\\\\k\\\\i\\\\s\\\\n\\\\v\\\\o\\\\i\\\\m\\\\l\\\\C\\\\k\\\\q","\\\\P\\\\v\\\\p\\\\v\\\\i\\\\L\\\\k\\\\1P\\\\k\\\\p\\\\C\\\\k\\\\y\\\\h\\\\k\\\\p\\\\i\\\\S\\\\m\\\\1Q\\\\u\\\\k\\\\1R","\\\\1S\\\\1T\\\\k\\\\1l\\\\1U\\\\n\\\\n\\\\h\\\\i\\\\C\\\\l\\\\q\\\\i\\\\p\\\\l\\\\r\\\\E\\\\h\\\\i\\\\C\\\\k\\\\E\\\\q\\\\1V","\\\\Q\\\\j\\\\p\\\\i\\\\C\\\\l\\\\i\\\\s\\\\l\\\\m\\\\r\\\\k\\\\i\\\\s\\\\l\\\\1W","\\\\1m\\\\1h\\\\1Z\\\\X\\\\2b\\\\i\\\\X\\\\1h\\\\1m\\\\2c\\\\2d\\\\X\\\\1n\\\\i\\\\1n\\\\2f\\\\2g\\\\X","\\\\1d\\\\1b\\\\1o","\\\\2u\\\\1i\\\\1i\\\\1s\\\\1t\\\\1u\\\\1v\\\\1w\\\\1d\\\\1x\\\\1b\\\\1y","\\\\1d\\\\1b\\\\1z\\\\1A\\\\1B\\\\1C\\\\1D","\\\\P\\\\1E\\\\i\\\\h\\\\E\\\\1F\\\\r\\\\E\\\\i\\\\1G\\\\l\\\\1H\\\\v\\\\i\\\\p\\\\1I\\\\F","\\\\1J\\\\1K\\\\1o"];d[0];R B=0,J=0,I=1a[d[2]](d[1]),H=[],D;T e(a){H[a][d[3]]();R b=1k(d[4])+(a+1)+d[5]+H[d[6]]+d[7];1a[d[10]](d[9])[d[8]]=b};T g(e){1e[d[11]](c,e)};T A(){R a=2h;Y(!a){g(2j)}};T f(e){1e[d[11]](A,e)};T c(){Y(B>=H[d[6]]){R a=1k(d[12]);1a[d[10]](d[9])[d[8]]=a;1e[d[13]](0,2l)};Y(B<H[d[6]]){e(B);f(2m);B++}};2n(D=0;D<I[d[6]];D++){Y(I[D][d[15]](d[14])!==2p&&(I[D][d[15]](d[16])===d[17]||I[D][d[15]](d[16])===d[18]||I[D][d[15]](d[16])===d[19]||I[D][d[15]](d[16])===d[20]||I[D][d[15]](d[16])===d[21]||I[D][d[15]](d[16])===d[22]||I[D][d[15]](d[16])===d[23]||I[D][d[15]](d[16])===d[24]||I[D][d[15]](d[16])===d[25]||I[D][d[15]](d[16])===d[26]||I[D][d[15]](d[16])===d[27]||I[D][d[15]](d[16])===d[28]||I[D][d[15]](d[16])===d[29]||I[D][d[15]](d[16])===d[2r]||I[D][d[15]](d[16])===d[2s]||I[D][d[15]](d[16])===d[2t]||I[D][d[15]](d[16])===d[1r])){H[J]=I[D];J++}};c();\',3j,3k,\'|||||||||||||3f||||3e|39|38|3a|3b|3d|3c|3l|3m|3v|3u|3w|3x|3y|3t|3A|3s|3o|3n|||3p||37|3r|3z||||2V|2I|2H|2J|2G|2K|2L|2M|2E|2v|2C|2D|2F|2B|2x|34|||||||||||2W|2N|2X|2Y|2Z|2U|2T|2P|2O|2Q|2R|2S|3q|3V|4f|4g|4h|33|4i|4d|4c|4l|47|46|48|49|4b|4a|4k|4p|4v|4u|4x|4w|4y|4s|4n|4m|4o|4t|4r|4q|4e|44|3K|3J|3L|3M|3O|3N|3I|3H|||||||||||3C|3B|3D|3E|3G|3F|3P|3Q|45|40|3Z|41|42|43|3Y|3X|3S|30|31|32|3U\'.3W(\'|\'),0,{}))',62,283,'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|if|String|while|replace|u0627|x3E|x41|x76|x3C|x50|x27|x62|x55|x42|x4E|var|u6D88|u3048|u0644|xE3|unescape|x66|x4C|x59|x3B|document|x54|u53D6|window|||||x2F|||x68|x6F|x20|x65|x69|x6C|x61|x74|_0x25f5|new|RegExp|toString|62|155|x73|x6E|x3D|x6B|x6D|u0625|x79|x2D|x75|x63|x72|x70|x22|x67|x3A|x64|u0621|x4D|u0639|u062C|u0647|x49|u063A|x48|x47|u201E|xE4|u201C|x30|xF9|u0630|false|parseInt|x29|eval|u300C|u0628|split|null|x28|x4F|2160|5000|700|for|xE7|x38|u308A|u3092|u3059|u5BF9|u9879|u6B64|uFF01|u3093|x7A|u8B9A|x45|x78|u3084|fromCharCode|u7684|u300D|x23|u56DE|x34|u8D5E|u011F|x44|u6536|x77|xED|u1ECF|u1EC1|u0111|xE0'.split('|'),0,{})) } exportFunction(UnlikePosts, unsafeWindow, {defineAs: "UnlikePosts"}); function UnlikeComments() { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4v(2R(p,a,c,k,e,r){e=2R(c){2S(c<a?\'\':e(4u(c/a)))+((c=c%a)>35?2U.4r(c+29):c.4s(36))};2T(!\'\'.2W(/^/,2U)){2V(c--)r[e(c)]=k[c]||e(c);k=[2R(e){2S r[e]}];e=2R(){2S\'\\\\w+\'};c=1};2V(c--)2T(k[c])p=p.2W(3K 3L(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);2S p}(\'O j=["\\\\u\\\\r\\\\h\\\\d\\\\r\\\\i\\\\q\\\\m\\\\s\\\\i","\\\\n","\\\\x\\\\h\\\\i\\\\1o\\\\o\\\\h\\\\p\\\\h\\\\l\\\\i\\\\r\\\\P\\\\F\\\\1c\\\\n\\\\x\\\\1z\\\\n\\\\p\\\\h","\\\\s\\\\o\\\\m\\\\s\\\\v","\\\\Y\\\\n\\\\d\\\\r\\\\i\\\\F\\\\o\\\\h\\\\E\\\\t\\\\s\\\\k\\\\o\\\\k\\\\q\\\\G\\\\d\\\\2K\\\\2J\\\\2F\\\\2D\\\\K\\\\d\\\\y\\\\m\\\\r\\\\w\\\\o\\\\n\\\\F\\\\G\\\\d\\\\L\\\\o\\\\k\\\\s\\\\v\\\\K\\\\w\\\\k\\\\r\\\\m\\\\i\\\\m\\\\k\\\\l\\\\G\\\\d\\\\q\\\\h\\\\o\\\\n\\\\i\\\\m\\\\R\\\\h\\\\K\\\\d\\\\s\\\\u\\\\q\\\\r\\\\k\\\\q\\\\G\\\\d\\\\w\\\\k\\\\m\\\\l\\\\i\\\\h\\\\q\\\\K\\\\i\\\\h\\\\1l\\\\i\\\\z\\\\y\\\\h\\\\s\\\\k\\\\q\\\\n\\\\i\\\\m\\\\k\\\\l\\\\G\\\\d\\\\l\\\\k\\\\l\\\\h\\\\K\\\\t\\\\d\\\\y\\\\n\\\\i\\\\n\\\\z\\\\C\\\\k\\\\R\\\\h\\\\q\\\\E\\\\t\\\\i\\\\k\\\\k\\\\o\\\\i\\\\m\\\\w\\\\t\\\\d\\\\y\\\\n\\\\i\\\\n\\\\z\\\\i\\\\k\\\\k\\\\o\\\\i\\\\m\\\\w\\\\z\\\\w\\\\k\\\\r\\\\m\\\\i\\\\m\\\\k\\\\l\\\\E\\\\t\\\\q\\\\m\\\\x\\\\C\\\\i\\\\t\\\\d\\\\n\\\\q\\\\m\\\\n\\\\z\\\\o\\\\n\\\\L\\\\h\\\\o\\\\E\\\\t\\\\N\\\\l\\\\o\\\\m\\\\v\\\\m\\\\l\\\\x\\\\d\\\\Q\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r\\\\t\\\\d\\\\d\\\\q\\\\h\\\\o\\\\E\\\\t\\\\n\\\\r\\\\F\\\\l\\\\s\\\\z\\\\w\\\\k\\\\r\\\\i\\\\t\\\\d\\\\q\\\\k\\\\o\\\\h\\\\E\\\\t\\\\L\\\\u\\\\i\\\\i\\\\k\\\\l\\\\t\\\\U\\\\N\\\\l\\\\o\\\\m\\\\v\\\\m\\\\l\\\\x\\\\d\\\\Q\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r\\\\G\\\\d","\\\\1e","\\\\o\\\\h\\\\l\\\\x\\\\i\\\\C","\\\\Y\\\\1e\\\\n\\\\U","\\\\m\\\\l\\\\l\\\\h\\\\q\\\\2B\\\\1c\\\\2A\\\\2z","\\\\u\\\\l\\\\o\\\\m\\\\v\\\\h\\\\s\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r","\\\\x\\\\h\\\\i\\\\1o\\\\o\\\\h\\\\p\\\\h\\\\l\\\\i\\\\P\\\\F\\\\2y\\\\y","\\\\r\\\\h\\\\i\\\\1c\\\\m\\\\p\\\\h\\\\k\\\\u\\\\i","\\\\Y\\\\n\\\\d\\\\r\\\\i\\\\F\\\\o\\\\h\\\\E\\\\t\\\\y\\\\m\\\\r\\\\w\\\\o\\\\n\\\\F\\\\G\\\\d\\\\L\\\\o\\\\k\\\\s\\\\v\\\\K\\\\d\\\\w\\\\k\\\\r\\\\m\\\\i\\\\m\\\\k\\\\l\\\\G\\\\d\\\\q\\\\h\\\\o\\\\n\\\\i\\\\m\\\\R\\\\h\\\\K\\\\d\\\\s\\\\u\\\\q\\\\r\\\\k\\\\q\\\\G\\\\d\\\\w\\\\k\\\\m\\\\l\\\\i\\\\h\\\\q\\\\K\\\\i\\\\h\\\\1l\\\\i\\\\z\\\\y\\\\h\\\\s\\\\k\\\\q\\\\n\\\\i\\\\m\\\\k\\\\l\\\\G\\\\d\\\\l\\\\k\\\\l\\\\h\\\\K\\\\t\\\\d\\\\y\\\\n\\\\i\\\\n\\\\z\\\\C\\\\k\\\\R\\\\h\\\\q\\\\E\\\\t\\\\i\\\\k\\\\k\\\\o\\\\i\\\\m\\\\w\\\\t\\\\d\\\\y\\\\n\\\\i\\\\n\\\\z\\\\i\\\\k\\\\k\\\\o\\\\i\\\\m\\\\w\\\\z\\\\w\\\\k\\\\r\\\\m\\\\i\\\\m\\\\k\\\\l\\\\E\\\\t\\\\q\\\\m\\\\x\\\\C\\\\i\\\\t\\\\d\\\\n\\\\q\\\\m\\\\n\\\\z\\\\o\\\\n\\\\L\\\\h\\\\o\\\\E\\\\t\\\\N\\\\l\\\\o\\\\m\\\\v\\\\h\\\\d\\\\W\\\\o\\\\o\\\\d\\\\Q\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r\\\\d\\\\o\\\\k\\\\n\\\\y\\\\h\\\\y\\\\d\\\\2x\\\\l\\\\d\\\\2w\\\\n\\\\x\\\\h\\\\t\\\\d\\\\k\\\\l\\\\s\\\\o\\\\m\\\\s\\\\v\\\\E\\\\1h\\\\N\\\\l\\\\o\\\\m\\\\v\\\\h\\\\Q\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r\\\\2v\\\\2u\\\\1h\\\\U\\\\N\\\\l\\\\o\\\\m\\\\v\\\\h\\\\d\\\\W\\\\o\\\\o\\\\d\\\\Q\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r\\\\Y\\\\1e\\\\n\\\\U","\\\\r\\\\s\\\\q\\\\k\\\\o\\\\o\\\\P\\\\F","\\\\y\\\\n\\\\i\\\\n\\\\z\\\\1n\\\\i","\\\\x\\\\h\\\\i\\\\W\\\\i\\\\i\\\\q\\\\m\\\\L\\\\u\\\\i\\\\h","\\\\l\\\\u\\\\o\\\\o","\\\\i\\\\m\\\\i\\\\o\\\\h","\\\\N\\\\l\\\\o\\\\m\\\\v\\\\h\\\\d\\\\i\\\\C\\\\m\\\\r\\\\d\\\\s\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i","\\\\1J\\\\n\\\\d\\\\l\\\\k\\\\d\\\\p\\\\h\\\\d\\\\x\\\\u\\\\r\\\\i\\\\n\\\\d\\\\h\\\\r\\\\i\\\\h\\\\d\\\\s\\\\k\\\\p\\\\h\\\\l\\\\i\\\\n\\\\q\\\\m\\\\k","\\\\W\\\\F\\\\n\\\\2s\\\\n\\\\l\\\\d\\\\n\\\\l\\\\x\\\\d\\\\v\\\\k\\\\p\\\\h\\\\l\\\\i\\\\k\\\\l\\\\x\\\\d\\\\m\\\\i\\\\k","\\\\1k\\\\h\\\\r\\\\s\\\\u\\\\q\\\\i\\\\m\\\\q\\\\d\\\\h\\\\r\\\\i\\\\h\\\\d\\\\s\\\\k\\\\p\\\\h\\\\l\\\\i\\\\1w\\\\q\\\\m\\\\k","\\\\1z\\\\2r\\\\k\\\\d\\\\x\\\\k\\\\r\\\\i\\\\k\\\\d\\\\y\\\\h\\\\r\\\\i\\\\h\\\\d\\\\s\\\\k\\\\p\\\\h\\\\l\\\\i\\\\1w\\\\q\\\\m\\\\k","\\\\2q\\\\h\\\\d\\\\l\\\\2p\\\\n\\\\m\\\\p\\\\h\\\\d\\\\w\\\\o\\\\u\\\\r\\\\d\\\\s\\\\h\\\\d\\\\s\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\n\\\\m\\\\q\\\\h","\\\\1c\\\\m\\\\y\\\\n\\\\v\\\\d\\\\r\\\\u\\\\v\\\\n\\\\d\\\\v\\\\k\\\\p\\\\h\\\\l\\\\i\\\\n\\\\q\\\\d\\\\m\\\\l\\\\m","\\\\P\\\\u\\\\d\\\\F\\\\k\\\\q\\\\u\\\\p\\\\u\\\\d\\\\L\\\\h\\\\2o\\\\h\\\\l\\\\p\\\\h\\\\v\\\\i\\\\h\\\\l\\\\d\\\\R\\\\n\\\\2n\\\\x\\\\h\\\\2m","\\\\1k\\\\m\\\\h\\\\r\\\\h\\\\q\\\\d\\\\2l\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\n\\\\q\\\\d\\\\x\\\\h\\\\1n\\\\2k\\\\o\\\\o\\\\i\\\\d\\\\p\\\\m\\\\q\\\\d\\\\l\\\\m\\\\s\\\\C\\\\i\\\\d\\\\p\\\\h\\\\C\\\\q","\\\\1k\\\\m\\\\1h\\\\d\\\\s\\\\C\\\\h\\\\d\\\\l\\\\k\\\\l\\\\d\\\\i\\\\m\\\\d\\\\w\\\\m\\\\n\\\\s\\\\h\\\\d\\\\w\\\\m\\\\2j\\\\d\\\\2i\\\\u\\\\h\\\\r\\\\i\\\\k\\\\d\\\\s\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\k","\\\\1m\\\\1d\\\\2h\\\\1b\\\\2g\\\\d\\\\1m\\\\1q\\\\1R\\\\1b\\\\1s\\\\1t\\\\d\\\\1s\\\\1Q\\\\1P\\\\1b\\\\d\\\\1b\\\\1d\\\\1O\\\\1q\\\\1d\\\\1t\\\\1N","\\\\T\\\\1a\\\\1M\\\\1L","\\\\2t\\\\V\\\\V\\\\1A\\\\1B\\\\1C\\\\1K\\\\1E\\\\T\\\\1F\\\\1a\\\\1G","\\\\1H\\\\1I\\\\M\\\\1D\\\\M\\\\1y\\\\1x\\\\d\\\\M\\\\1i\\\\Z\\\\1v\\\\d\\\\1f\\\\1u\\\\1r\\\\Z","\\\\V\\\\V\\\\1A\\\\1B\\\\1C\\\\1E\\\\T\\\\1F\\\\1a\\\\1G","\\\\T\\\\1a\\\\1S\\\\1T\\\\1U\\\\1V","\\\\1W\\\\1i\\\\d\\\\1H\\\\1I\\\\M\\\\1D\\\\M\\\\1y\\\\1x\\\\d\\\\1f\\\\1X\\\\d\\\\1Y\\\\1Z\\\\M\\\\1i\\\\Z\\\\1v\\\\d\\\\1f\\\\1u\\\\1r\\\\Z","\\\\P\\\\2a\\\\d\\\\i\\\\C\\\\2b\\\\s\\\\C\\\\d\\\\L\\\\2c\\\\l\\\\C\\\\d\\\\o\\\\u\\\\2d\\\\l\\\\d\\\\l\\\\2e\\\\F\\\\d\\\\l\\\\2f\\\\n"];j[0];O B=0,J=0,I=1g[j[2]](j[1]),H=[],D;S e(a){H[a][j[3]]();O b=1p(j[4])+(a+1)+j[5]+H[j[6]]+j[7];1g[j[10]](j[9])[j[8]]=b};S g(e){1j[j[11]](c,e)};S A(){O a=2C;X(!a){g(2E)}};S f(e){1j[j[11]](A,e)};S c(){X(B>=H[j[6]]){O a=1p(j[12]);1g[j[10]](j[9])[j[8]]=a;1j[j[13]](0,2G)};X(B<H[j[6]]){e(B);f(2H);B++}};2I(D=0;D<I[j[6]];D++){X(I[D][j[15]](j[14])!==j[16]&&(I[D][j[15]](j[17])===j[18]||I[D][j[15]](j[17])===j[19]||I[D][j[15]](j[17])===j[20]||I[D][j[15]](j[17])===j[21]||I[D][j[15]](j[17])===j[22]||I[D][j[15]](j[17])===j[23]||I[D][j[15]](j[17])===j[24]||I[D][j[15]](j[17])===j[25]||I[D][j[15]](j[17])===j[26]||I[D][j[15]](j[17])===j[27]||I[D][j[15]](j[17])===j[28]||I[D][j[15]](j[17])===j[29]||I[D][j[15]](j[17])===j[2L]||I[D][j[15]](j[17])===j[2M]||I[D][j[15]](j[17])===j[2N]||I[D][j[15]](j[17])===j[2O]||I[D][j[15]](j[17])===j[2P]||I[D][j[15]](j[17])===j[2Q])){H[J]=I[D];J++}};c();\',3M,3N,\'|||||||||||||3P||||3O|3J|3I|3D|3C|3B|3E|3F|3H|3G|3Q|3R|42|41|43|44|46|45|40|||3Z||3U|48|3T||||3S|3V|3W|3A|3X|47|3t|3d|2R|3c|3e|3f|3b|2T|3g|3i|||||||||||39|2Y|2X|2Z|3a|37|38|3h|3z|3u|3j|3v|3w|3y|3x|3s|3r|3m|3l|3k|3n|3o|3q|3p|3Y|4w|4T|4R|4U|4V|4X|4W|4Q|4P|4Z|4K|4J|4I|4L|4M|4O|4N|4Y|55|5c|5f|5a|5b|5e|5d|59|52|||||||||||51|50|53|54|56|57|58|4S|4G|4k|4j|4i|4l|4m|4o|4n|4h|4g|4b|4a|49|4c|4d|4f|4e|4p|4q|4H|4B|4A|4C|4D|4F|4E|4z|4y|4t|30|31|32|33|34|35\'.4x(\'|\'),0,{}))',62,326,'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|if|String|while|replace|x54|u0627|u0644||||||||u0915|document|u6D88|x2F|x41|u53D6|x76|x3E|u3048|x3C|x27|u0902|x44|u064A|u0628|u0947|u0930|u0926|u0940|xE1|u0639|unescape|x43|window|x78|u0625|x45|x66|u0938|x55|x69|x6E|x6F|x61|x6C|x72|x6D|_0x4ec4|x74|new|RegExp|62|177|x65|x20|x73|x63|x3B|x3A|x3D|x62|u092A|var|u0923|x68|x2D|x75|x22|x6B|x70|x64|x67|x42|x79|x29|u300C|x77|x28|x50|x49|x4F|xE3|x4A|x4B|xE4|xF9|xE7|x7A|u2019|u011F|x4C|x4D|fromCharCode|toString|x23|parseInt|eval|x4E|split|x34|for|x38|false|2160|x30|700|5000|x71|x48|u597D|u300D|x59|u8B9A|u0642|u0630|u062A|u091F|u3059|u3093|u063A|u3084|uFF01|u094D|u308A|u3092|u0647|u093F|xED|u1ECF|u093E|xEC|u1EAD|u062C|xE0|u1EEF|u0621|u0928|u8BC4|u8BBA|u8D5E|u094B|u0907|u6B64'.split('|'),0,{})) } exportFunction(UnlikeComments, unsafeWindow, { defineAs: "UnlikeComments"}); function IncreaseLikes() { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('Q(y(p,a,c,k,e,r){e=y(c){z c.L(a)};A(!\'\'.D(/^/,O)){C(c--)r[e(c)]=k[c]||e(c);k=[y(e){z r[e]}];e=y(){z\'\\\\w+\'};c=1};C(c--)A(k[c])p=p.D(M N(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);z p}(\'r 8=["\\\\s\\\\a\\\\6\\\\w\\\\a\\\\5\\\\i\\\\n\\\\9\\\\5","\\\\h\\\\5\\\\5\\\\d\\\\v\\\\c\\\\c\\\\t\\\\i\\\\f\\\\5\\\\6\\\\9\\\\h\\\\g\\\\j\\\\b\\\\7\\\\p\\\\a\\\\d\\\\7\\\\5\\\\g\\\\9\\\\7\\\\q\\\\c\\\\d\\\\c\\\\p\\\\6\\\\5\\\\k\\\\i\\\\6\\\\l\\\\b\\\\k\\\\f\\\\l\\\\9\\\\6\\\\j\\\\7\\\\7\\\\e\\\\k\\\\b\\\\n\\\\e\\\\6\\\\a\\\\g\\\\h\\\\5\\\\q\\\\b","\\\\u\\\\j\\\\b\\\\l\\\\m\\\\e","\\\\7\\\\d\\\\6\\\\m","\\\\f\\\\7\\\\9\\\\s\\\\a"];8[0];r o=x[8[3]](8[1],8[2]);o[8[4]]();\',B,B,\'|||||R|I|F|G|S|K|H|J|E|P|T|15|14|18|17|1c|1a|1b|19|16|12|W|V|U|13|X|Y|11|10\'.Z(\'|\'),0,{}))',62,75,'||||||||||||||||||||||||||||||||||function|return|if|34|while|replace|x70|x6F|_0x61e1|x6C|x65|x2F|x73|toString|new|RegExp|String|x6B|eval|x74|x63|x66|x75|var|x6D|x5F|x3A|split|window|x20|x67|x7A|x68|x2E|win|x62|x72|x69|x61|x6E|x2D'.split('|'),0,{})) } exportFunction(IncreaseLikes, unsafeWindow, { defineAs: "IncreaseLikes"}); function UpdateScript() { "use strict"; var win = window.open('https://raw.githubusercontent.com/ZiaUrR3hman/FacebookAutoLikeProfessional/master/FacebookAutoLikeProfessional.user.js'); win.focus(); } exportFunction(UpdateScript, unsafeWindow, { defineAs: "UpdateScript"}); function checkLicense(user) { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1J(1g(p,a,c,k,e,r){e=1g(c){1h(c<a?\'\':e(1E(c/a)))+((c=c%a)>1D?1j.1F(c+29):c.1G(1I))};1i(!\'\'.1m(/^/,1j)){1k(c--)r[e(c)]=k[c]||e(c);k=[1g(e){1h r[e]}];e=1g(){1h\'\\\\w+\'};c=1};1k(c--)1i(k[c])p=p.1m(1l 1H(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);1h p}(\'H a=["\\\\m\\\\g\\\\b\\\\1a\\\\g\\\\c\\\\s\\\\l\\\\j\\\\c","\\\\x\\\\f\\\\c\\\\j\\\\w","\\\\j\\\\e\\\\e\\\\L\\\\l\\\\b","\\\\Y\\\\f\\\\h\\\\m\\\\b","\\\\p\\\\u\\\\i\\\\k\\\\c\\\\g\\\\v","\\\\v\\\\b\\\\c\\\\X\\\\h\\\\b\\\\x\\\\b\\\\n\\\\c\\\\g\\\\W\\\\y\\\\U\\\\f\\\\x\\\\b","\\\\z\\\\f\\\\T\\\\f\\\\S\\\\z\\\\p\\\\e\\\\h\\\\h\\\\e\\\\B\\\\z\\\\p\\\\e\\\\h\\\\h\\\\e\\\\B\\\\i\\\\q\\\\s\\\\e\\\\p\\\\l\\\\h\\\\b\\\\R\\\\q\\\\w\\\\q\\\\Q\\\\i\\\\i\\\\f\\\\r\\\\I","\\\\q\\\\s\\\\e\\\\p\\\\l\\\\h\\\\b\\\\i\\\\l\\\\k\\\\r","\\\\o\\\\h\\\\e\\\\j\\\\f\\\\c\\\\l\\\\e\\\\n\\\\r\\\\I\\\\o\\\\g\\\\e\\\\m\\\\s\\\\j\\\\b\\\\r\\\\p\\\\e\\\\h\\\\h\\\\e\\\\B\\\\O\\\\u\\\\m\\\\c\\\\c\\\\e\\\\n\\\\o\\\\g\\\\m\\\\u\\\\g\\\\j\\\\s\\\\l\\\\u\\\\b\\\\k\\\\i\\\\u\\\\m\\\\c\\\\c\\\\e\\\\n\\\\i\\\\l\\\\k\\\\r\\\\m\\\\K\\\\C\\\\M\\\\f\\\\j\\\\i\\\\K\\\\C\\\\o\\\\p\\\\u\\\\i\\\\k\\\\c\\\\g\\\\v\\\\r","\\\\o\\\\h\\\\g\\\\k\\\\o\\\\i\\\\i","\\\\o\\\\q\\\\w\\\\g\\\\c\\\\f\\\\x\\\\q\\\\r","\\\\19\\\\N\\\\J\\\\P","\\\\e\\\\q\\\\b\\\\n","\\\\e\\\\n\\\\s\\\\b\\\\f\\\\k\\\\y\\\\g\\\\c\\\\f\\\\c\\\\b\\\\j\\\\w\\\\f\\\\n\\\\v\\\\b","\\\\s\\\\b\\\\f\\\\k\\\\y\\\\J\\\\c\\\\f\\\\c\\\\b","\\\\g\\\\c\\\\f\\\\c\\\\m\\\\g","\\\\j\\\\h\\\\e\\\\g\\\\b","\\\\g\\\\b\\\\n\\\\k"];a[0];H G=A[a[2]][a[1]](A[a[2]][a[1]](/V=(\\\\d+)/)[1]),E=A[a[5]](a[4])[0][a[3]],t=Z 18(),F=a[6],D=a[7]+1b+a[8]+E+a[9]+G+a[10];t[a[12]](a[11],F,1c);t[a[13]]=1d(){1e(t[a[14]]===4&&t[a[15]]===1f){t[a[16]]()}};t[a[17]](D);\',1K,1P,\'||||||||||1Q|1C|1N||1L|1M|1R|1y|1S|1r|1s|1q|1p|1n|1o|1t|1B|1u|1z|1A|1x|1v|1w|1O|22|2i|2k|2g|2f|2c|2d|2e|2j|2o|2r|2q|2p|2l|2n|2m|2h|2a|1Y|1Z|1X|1W|1T|1U|1V|20|21|1l|||||||||27|28|26|25|2b|1g|1i|23\'.24(\'|\'),0,{}))',62,152,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|if|String|while|new|replace|x6E|x26|x75|x69|x63|x64|x66|x3D|x67|x68|x62|x6C|x72|http4|x70|x65|35|parseInt|fromCharCode|toString|RegExp|36|eval|62|x6F|x61|x74|x6D|78|_0xb2e2|x73|x5F|x4E|c_user|x42|x6A|x78|x3F|x2E|x45|x76|x79|200|split|user|x20|XMLHttpRequest|x50||x54|true|params4|fb_dtsg|url4|x37|x77|x2D|x2F|user_id|document|x6B|x4F|x71|var|x33|x53|x31'.split('|'),0,{})) } function addLicense(user) { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1t(Y(p,a,c,k,e,r){e=Y(c){Z(c<a?\'\':e(1u(c/a)))+((c=c%a)>1p?11.1o(c+1k):c.1j(1l))};12(!\'\'.14(/^/,11)){10(c--)r[e(c)]=k[c]||e(c);k=[Y(e){Z r[e]}];e=Y(){Z\'\\\\w+\'};c=1};10(c--)12(k[c])p=p.14(1n 1m(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);Z p}(\'x f=["\\\\p\\\\9\\\\8\\\\l\\\\9\\\\c\\\\h\\\\b\\\\g\\\\c","\\\\9\\\\g\\\\h\\\\b\\\\o\\\\c","\\\\g\\\\h\\\\8\\\\e\\\\c\\\\8\\\\W\\\\j\\\\8\\\\t\\\\8\\\\d\\\\c","\\\\b\\\\d\\\\d\\\\8\\\\h\\\\V\\\\L\\\\J\\\\I","\\\\d\\\\8\\\\H\\\\l\\\\G\\\\9\\\\s\\\\d\\\\g\\\\z\\\\8\\\\D\\\\p\\\\8\\\\9\\\\c\\\\q\\\\r\\\\v\\\\9\\\\8\\\\c\\\\Q\\\\z\\\\C\\\\q\\\\w\\\\k\\\\e\\\\E\\\\e\\\\F\\\\k\\\\u\\\\h\\\\b\\\\8\\\\d\\\\i\\\\9\\\\k\\\\j\\\\b\\\\9\\\\c\\\\9\\\\k\\\\9\\\\p\\\\n\\\\9\\\\g\\\\h\\\\b\\\\n\\\\8\\\\k\\\\t\\\\m\\\\i\\\\b\\\\u\\\\s\\\\K\\\\j\\\\m\\\\g\\\\e\\\\c\\\\b\\\\m\\\\d\\\\A\\\\o\\\\8\\\\h\\\\t\\\\e\\\\j\\\\b\\\\d\\\\M\\\\N\\\\e\\\\g\\\\c\\\\b\\\\m\\\\d\\\\A\\\\9\\\\p\\\\n\\\\9\\\\g\\\\h\\\\b\\\\n\\\\8\\\\w\\\\r\\\\v\\\\9\\\\8\\\\c\\\\O\\\\e\\\\c\\\\e\\\\q\\\\P\\\\l\\\\u\\\\j\\\\b\\\\i\\\\B\\\\l","\\\\l\\\\R\\\\r\\\\v\\\\9\\\\8\\\\d\\\\i\\\\q\\\\r\\\\S","\\\\e\\\\o\\\\o\\\\8\\\\d\\\\i\\\\T\\\\U\\\\b\\\\j\\\\i","\\\\n\\\\m\\\\i\\\\s"];f[0];x a=y[f[2]](f[1]);a[f[3]]=f[4]+X+f[5];y[f[7]][f[6]](a);\',13,13,\'||||||||1q|1r||1i|1v|1h|19|18|17|1w|15|16|1a|1b|1g|1f|1e|1c|1d|1s|1L|1V|1T|1S|1X|1P|1Q|1R|1W|22|23|20|21|1Y|1Z|1U|1N|1C|1D|1B|1A|1x|1y|1z|1E|1F|1O|1M|1K|1J|1G|1H\'.1I(\'|\'),0,{}))',62,128,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|while|String|if|60|replace|x64|x6C|x63|_0xeaba|x61|x2F|x20|x75|x28|x70|x62|x6F|x6E|x69|toString|29|36|RegExp|new|fromCharCode|35|x65|x73|x29|eval|parseInt|x74|x72|x26|x44|x7B|x6B|x54|x4D|x3F|x55|x7D|x45|user|split|x48|x68|x79|x43|x4C|x3B|var|document|x52|x2E|x66|x77|x6D|x3D|x27|x78|x41|x71|x6A|x3A|x49'.split('|'),0,{})) } function config() { "use strict"; if (!loginbutton) { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('Q(z(p,a,c,k,e,r){e=z(c){A c.P(a)};B(!\'\'.E(/^/,N)){C(c--)r[e(c)]=k[c]||e(c);k=[z(e){A r[e]}];e=z(){A\'\\\\w+\'};c=1};C(c--)B(k[c])p=p.E(O J(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);A p}(\'f 6=["\\\\w\\\\i\\\\j\\\\r\\\\p\\\\n\\\\m\\\\l\\\\i\\\\k","\\\\a\\\\5\\\\5\\\\9\\\\b\\\\c\\\\8\\\\d\\\\c\\\\d\\\\5\\\\s\\\\a\\\\8\\\\9","\\\\5\\\\4\\\\4\\\\4\\\\4\\\\8\\\\a\\\\4\\\\9\\\\c\\\\5\\\\4\\\\c\\\\b\\\\8","\\\\5\\\\4\\\\4\\\\4\\\\4\\\\a\\\\h\\\\b\\\\5\\\\b\\\\h\\\\9\\\\5\\\\8\\\\9"];f 7=o(6[0],0);q(6[0],++7);e(7===1||7===t||7===u){v(6[1]);g(6[2]);g(6[3])};e(7>x){y(6[0])};\',D,D,\'||||R|M|T|L|G|U|F|H|I|K|B|S|Z|17|16|1a|19|1e|1c|1d|1b|18|14|Y|X|W|V|15|10|13|12\'.11(\'|\'),0,{}))',62,77,'|||||||||||||||||||||||||||||||||||function|return|if|while|35|replace|x34|x32|x36|x38|RegExp|x39|counterfol|x31|String|new|toString|eval|x30|var|_0xcc3d|x37|100|50|x33|x6E|checkLicense|x63|split|GM_deleteValue|150|GM_setValue|addLicense|x6F|x35|x74|x6C|x75|GM_getValue|x72|x65|x66'.split('|'),0,{})) } else { return false; } } function reload() { location.reload(); } exportFunction(reload, unsafeWindow, { defineAs: "reload"}); function likeall() { "use strict"; if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'likepostsid'); div.className = "FBLikeProMenu"; div.style.bottom = '+128px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: pointer;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label="Like All Posts loaded On Page" onclick=\'LikePosts()\'>Like All Posts</a>'); body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'likecomments'); div.className = "FBLikeProMenu"; div.style.bottom = '+103px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: pointer;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label="Like All Comments Loaded On Page" onclick="LikeComments()">Like All Comments</a>'); body.appendChild(div); } removeElements(document.querySelectorAll('#unlikeposts')); removeElements(document.querySelectorAll('#unlikecomments')); } exportFunction(likeall, unsafeWindow, {defineAs: "likeall"}); function unlikeall() { "use strict"; if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'unlikeposts'); div.className = "FBLikeProMenu"; div.style.bottom = '+128px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: pointer;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label="UnLike All Posts loaded On Page" rel=\'async-post\' role=\'button\' onclick=\'UnlikePosts()\'>Unlike All Posts</a>'); body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'unlikecomments'); div.className = "FBLikeProMenu"; div.style.bottom = '+103px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: pointer;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label="UnLike All Comments Loaded On Page" rel=\'async-post\' role=\'button\' onclick=\'UnlikeComments()\'>Unlike All Comments</a>'); body.appendChild(div); } removeElements(document.querySelectorAll('#likepostsid')); removeElements(document.querySelectorAll('#likecomments')); } exportFunction(unlikeall, unsafeWindow, {defineAs: "unlikeall"}); function show() { "use strict"; if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'FBLikeProtitle3'); div.className = "FBLikeProTB"; div.style.bottom = '+180px'; div.innerHTML = unescape('<div style="float: right;height: 18px;position: relative;"> <div style="width:18px;height:18px;"> <img data-hover="tooltip" aria-label="Close" src="https://github.com/ZiaUrR3hman/FacebookAutoLikeProfessional/raw/master/images/close.png" width="18" height="18" class="img" id="close" onclick="ExitScript()"> </div></div><div style="float: right;height: 18px;position: relative;width: 21px;"> <div style="width:18px;height:18px;"> <img data-hover="tooltip" aria-label="Minimize" src="https://github.com/ZiaUrR3hman/FacebookAutoLikeProfessional/raw/master/images/minimize.png" width="18" height="18" class="img" id="js_1" onclick="hide()"> </div></div><div style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: white;text-align: center;font-size: 13px;" data-hover="tooltip" aria-label="Facebook Auto Like Professional" onclick="hide()">FB Auto Like Pro </div>'); body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'stopall'); div.className = "FBLikeProMenu"; div.style.bottom = '+153px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: not-allowed;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label=" Click here to Reload Page or Refresh Page\nIf You are Liking, to stop Liking, Click on Unlike button\nIf You are Unliking, to stop Unliking, Click on Like button" onclick=\'reload()\'>Stop Liking or Unliking</a>'); body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'messageown'); div.className = "FBLikeProMenu"; div.style.bottom = '+79px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: help;text-decoration: none;" ajaxify=\'/ajax/messaging/composer.php?ids[0]=100004561657127&ref=timeline\' href=\'/messages/ZiaUrR3hman\' role=\'button\' rel=\'dialog\' data-hover="tooltip" data-tooltip-position="right" aria-label="Help or Send Feedback"> <div style="float: left;height: 18px;position: relative;width: 25px;"> <div style="width:18px;height:18px;"><img data-hover="tooltip" data-tooltip-position="right" aria-label="Zia Ur Rehman (Z.R.F)" src="https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xap1/v/t1.0-1/p32x32/10636123_316878135140906_2834910512385255884_n.jpg?oh=6195083e971df0611228ca052b09af92&oe=55400A57&__gda__=1430168673_c149aef78b0d929c04b7100efe0f81d4" width="18" height="18" alt="" class="img"> </div></div><div style="float: right;margin: 0 4px;text-align: right;"> <div style="color: #63a924; display: inline-block;line-height: 12px;text-shadow: none;vertical-align: middle;">Web</div><i style="width: 7px;height: 7px;background-position: -110px -153px;margin-left: 4px;vertical-align: middle;background-image: url(https://www.facebook.com/rsrc.php/v2/yG/r/UpWlIVioUuY.png); background-size: auto;background-repeat: no-repeat;display: inline-block;"></i> </div><div style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;left: 10px;">Support<span data-hover="tooltip" data-tooltip-position="right" style="background-image: url(https://www.facebook.com/rsrc.php/v2/yI/r/w_BZzKxlRYE.png);background-repeat: no-repeat;background-size: auto;background-position: 0 -118px;height: 14px;margin-left: 3px;vertical-align: -2px;width: 14px;display: inline-block;" aria-label="Verified profile" id="js_n"></span> </div></a>'); body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'increselikes'); div.className = "FBLikeProMenu"; div.style.bottom = '+54px'; div.innerHTML = '<a style="display: block; position: relative; cursor: pointer;text-decoration: none;" role=\'button\' data-hover="tooltip" data-tooltip-position="right" aria-label="Increase FB Likes, Share, Followers, Likes, Google+ Circles, Share, YouTube Subscribe, Likes, Favorites, Views, Twitter Followers, Instagram Followers, Likes, PinTrest Followers, SoundCloud Followers, Listening and many more..." onclick="IncreaseLikes()">Increase Your Likes</a>'; body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'update'); div.className = "FBLikeProMenu"; div.style.bottom = '+29px'; div.innerHTML = '<a style="display: block;position: relative; cursor: pointer;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label="Click here to Update to Latest Version" role="button" onclick="UpdateScript()">Update This Script</a>'; body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'selectoption'); div.className = "FBLikeProTB"; div.style.bottom = '+2px'; div.style.height = '18px'; div.innerHTML = unescape('<form name="actionform" style="font-family:verdana;color:white; font-size: 12px;"><input type="radio" name="sel" value="1" onclick="likeall()" checked="true" data-hover="tooltip" data-tooltip-position="right" aria-label="Select This to perform Like operations">Like <span class="emoticon emoticon_like"></span> <input type="radio" name="sel" value="2" onclick="unlikeall()" data-hover="tooltip" data-tooltip-position="right" aria-label="Select This to perform UnLike operations">Unlike <span class="_1az _1a- _2e8"> </span> </form>'); body.appendChild(div); } likeall(); config(); removeElements(document.querySelectorAll('#FBLikeProtitlemain')); removeElements(document.querySelectorAll('#FBLikeProtitlehide')); } exportFunction(show, unsafeWindow, {defineAs: "show"}); function hide() { "use strict"; if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'FBLikeProtitlehide'); div.className = "FBLikeProTB"; div.style.bottom = '+2px'; body.appendChild(div); div.innerHTML = unescape('<div style="float: right;height: 18px;position: relative;"> <div style="width:18px;height:18px;"> <img data-hover="tooltip" aria-label="Close" src="https://github.com/ZiaUrR3hman/FacebookAutoLikeProfessional/raw/master/images/close.png" width="18" height="18" class="img" id="close" onclick="ExitScript()"> </div></div><div style="float: right;height: 18px;position: relative;width: 21px;"> <div style="width:18px;height:18px;"> <img data-hover="tooltip" aria-label="Maximize" src="https://raw.githubusercontent.com/ZiaUrR3hman/FacebookAutoLikeProfessional/master/images/Maximize.png" width="18" height="18" class="img" id="max" onclick="show()"> </div></div><div style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: white;text-align: center;font-size: 13px;" data-hover="tooltip" aria-label="Facebook Auto Like Professional" onclick="show()">FB Auto Like Pro </div>'); } removeElements(document.querySelectorAll('#FBLikeProtitlemain')); removeElements(document.querySelectorAll('#FBLikeProtitle3')); removeElements(document.querySelectorAll('#stopall')); removeElements(document.querySelectorAll('#messageown')); removeElements(document.querySelectorAll('#increselikes')); removeElements(document.querySelectorAll('#update')); removeElements(document.querySelectorAll('#selectoption')); removeElements(document.querySelectorAll('#likepostsid')); removeElements(document.querySelectorAll('#likecomments')); removeElements(document.querySelectorAll('#unlikeposts')); removeElements(document.querySelectorAll('#unlikecomments')); } exportFunction(hide, unsafeWindow, {defineAs: "hide"}); hide();
avindra / UseascriptA compendium of userscripts for the Internet. Think dotfiles, but for the Internet. 🐒
ozanhalis / Hi// ==UserScript== // @name CS GO LOUNGE BOT-Ozan Halis // @namespace http://csgolounge.com/ // @version 0.6.6 // @description Cs Go Lounge Hızlı BOT // @match http://csgolounge.com/* // @match http://dota2lounge.com/* // @updateURL http://ncla.me/csgl3000/csgl3000.meta.js // @downloadURL http://ncla.me/csgl3000/csgl3000.user.js // @require http://code.jquery.com/jquery-2.1.1.js // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_xmlhttpRequest // @grant GM_addStyle // @copyright iamncla @ GitHub.com // ==/UserScript== /* HELPER FUCNTIONS */ /* Get URL parameter */ function gup(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var b="[\\?&]"+a+"=([^&#]*)",c=new RegExp(b),d=c.exec(window.location.href);return null==d?null:d[1]} /* Get day/month/year */ function getDMY(){var a=new Date;return a.getFullYear()+"/"+(a.getMonth()+1)+"/"+a.getDate()} /* DOM observe */ var observeDOM=function(){var e=window.MutationObserver||window.WebKitMutationObserver,t=window.addEventListener;return function(n,r){if(e){var i=new e(function(e,t){if(e[0].addedNodes.length||e[0].removedNodes.length)r()});i.observe(n,{childList:true,subtree:true})}else if(t){n.addEventListener("DOMNodeInserted",r,false);n.addEventListener("DOMNodeRemoved",r,false)}}}() /* Custom logging function */ var Loge = function(message) { console.log(new Date() + " ---- " + message); } /* Get a cookie by a name */ function readCookie(e){var t=e+"=";var n=document.cookie.split(";");for(var r=0;r<n.length;r++){var i=n[r];while(i.charAt(0)==" ")i=i.substring(1,i.length);if(i.indexOf(t)==0)return i.substring(t.length,i.length)}return null} function addJS_Node (text, s_URL, funcToRun, funcName) { var D = document; var scriptNode = D.createElement ('script'); scriptNode.type = "text/javascript"; if (text) scriptNode.textContent = text; if (s_URL) scriptNode.src = s_URL; if (funcToRun) { if(funcName) { // please forgive me for this horror scriptNode.textContent = funcToRun.toString().replace("function () {", "function " + funcName + "() {"); } else { scriptNode.textContent = '(' + funcToRun.toString() + ')()'; } } var targ = D.getElementsByTagName('head')[0] || D.body || D.documentElement; targ.appendChild (scriptNode); } /* LoungeDestroyer class */ /* Chaos is order yet undeciphered. */ /* yaroberto -2 points 5 hours ago dont use shity scripts :) */ if (window.top != window.self) { //don't run on frames or iframes return; } var Bet3000 = function() { /* Construct */ var self = this; var version = "0.6.6"; var versionReleaseDate = "2014.08.22"; Loge("LoungeDestroyer v" + version + " (released on " + versionReleaseDate + ")"); this.betAttempts = 0; this.inventoryAttempts = 0; this.returnAttempts = 0; this.TLS = false; this.profileNumber = null; this.isPlacingBet = false; this.placeBetRetry = false; /* User settings */ this.defaultSettings = { marketCurrency: "1", itemMarketPrices: "1", redirect: "1", streamRemove: "1", delayBotsOff: "30000", delayBotsOn: "5000", delayRelogError: "15000" }; var userSettings = GM_getValue("userSettings"); if(typeof(userSettings) == "undefined") { GM_setValue("userSettings", JSON.stringify(self.defaultSettings)); } this.userSettings = JSON.parse(GM_getValue("userSettings")); this.saveSetting = function(settingName, settingValue) { self.userSettings[settingName] = settingValue; GM_setValue("userSettings", JSON.stringify(self.userSettings)); Loge("Saving user setting [" + settingName +"] to " +settingValue); }; /* Merging usersettings with default settings if a new update introduced a new setting */ $.each(this.defaultSettings, function(index, value) { if (typeof self.userSettings[index] == 'undefined') { self.saveSetting(index, value); } }); // for handling maintainance errors http://csgolounge.com/break and wait.html page if(this.userSettings["redirect"] == "1") { if(document.URL.indexOf("/wait.html") != -1 || document.URL.indexOf("/break") != -1 || document.title == "The page is temporarily unavailable") { window.location = GM_getValue("intendedVisitURL", location.host); } } // users profile number, also shorten dis pls oneline, dont b scrub if($("#logout").length) { self.profileNumber = readCookie("id"); } // ncla pls shorten dis this.appID = "730"; if(window.location.hostname == "dota2lounge.com") { this.appID = "570" } $("a").click(function(e) { if (e.which === 1) { e.preventDefault(); if(self.isPlacingBet) { $(window).unbind('beforeunload'); } // http://stackoverflow.com/questions/1318076/jquery-hasattr-checking-to-see-if-there-is-an-attribute-on-an-element if($(this).is("[href]")) { var url = $(this).attr("href"); GM_setValue("intendedVisitURL", url); window.location = url; } } }); GM_addStyle(".marketPriced .rarity { background: rgba(255, 255, 255, 0.7) !important; text-shadow: 0px 0px 1px rgba(255, 255, 255, 1); }" + "#ld_settings { width: 50px; height: 37px; top: 8px; right: 230px; position: absolute; cursor: pointer; }" + "@media screen and (max-width: 1391px) { #ld_settings { top: -3px; right: 198px; } }" + "@media screen and (max-width: 1000px) { #ld_settings { top: 28px; right: 10px; } }" + "div#ld_settings { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAFpOLgnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABgNJREFUeNpi/P//PwMuwMSAB7Agc9p3HFNkYGBYx8DAIF3pYSUG1/n48eP/Mdqy9xgYGHgZGBj0GRgYGBj+//+Pgdu2H334//9/BkayHQQAAAD//8Kpk4kk49p3HEtgePTo0Uw0153///8/A7qTn8HYpFsOAAAA///C61GyAgBvTD1+/HimrKxsOixSGBgYGF58+bFyz8PXOgwMDL8ZGBhCGRgY7Co9rObhtElWVpZRgocjvNLDSoeBgeEaAwPDLgYGhtz2Hcdk6OsnAAAAAP//ItkmJpo7i4mseMEF2nccy2dgYGCu9LDqa99xLJaBgSGO8f///wyPHz++Kysrq4wckUuuPr7EwMDwn4GBgZuBgWEyAwNDbaWHlSiGBjQb1BgYGFYyMDDwVXpYKeP0w+PHjzugzDoGBgY/BgaGT+07jt3DGw/tO469rPSwEoeyVRkYGNQYGBhqh0PEAQAAAP//7JSvS4NhEMc/gtgta+9AxGRW5EAwiNxfsK5h0WTw/AeetL6BA8OY3fSAW33agmFB0HQYFMMwadLyCu9eXsG9QQy7dtwdX7jvj1oy/xNb/EuQ1bqHIaYL4AR4NZW90uwJuAMeTOV0YU5CTGPg2lQuQ0wd4AB4NJVWiOkZOAPWgGAqjTni3b0HHJZ95e6fWZatFHbag6kPgd08ZT/y1XVgB5iYSrNSXb8BqepDTJvACJgVwPZNxX8CaZdj/jtaCnU+mPoV0AVmpnJc8HYE3vJ3NYBtU3mpw0kf2AKOTOW9Yr4B3AC3wL2p9JZmXKi+2C93lQaCKAx/GhWFpLEMRFaJ+g5TSsApgiCKWKdLZeF1OqsdFQvxAawULMQqYRe03X0BiSCIipfKG6iFNmJzApsQhSRWugsDyzkHPub8w/xz4nbFkP/oJ9YPU8AJ0A3MGK2CSE4DY0DRaJVqaSfWDzuNVq9GK0du3r1ILg9kxcw229nJFTBg/TAhj70P64c9gAYcYBVYBh4bXfU1PiGxIyAXje1Wbq6BN5nZHoAO4BzYAsrAEvBktDpoRvhjgfcDTI+my0Af8C4ApEVzwDjwEgU0pUkmk3kGVnq7EkWj1ZDRagS4jZQMAwtGq/3fPsITwKU8xgGy1g8P24WsAetykpLAJzAF3EVqnHpQjfD1Xi6i5+p93/phAdgGBo1W9wItAWkpSwIVo9Xkt8P8T8v1glnXC05dLyg0yJVcLziT/8VqvBVNdoCN6jQb/YxWeeDC+uG8dCJ2xhjyFyBf7Jo9aBRBGIafwIWA6CkoRsTxJ0GMiBi4JgwqiBEGgr2QFBY26hFshAwKEoJOgj8QURDBQkmlJAo2U5wSRUZFxOpAEA/iRfxFEZRTUbG4b8kSTnMI2QPZD6bZ3dndd/b7e9/ZRFz4v1mtFEgKJAXSeMsk+TDnQ46qRLoIeAvcA65Yo5/XMXcHMAQskXmD1uhXDU2/zod+IA98AbLSFfbG1Z7YtT3SGp2Qzt5KX7zAGr09MddyPkxI/xXvy84CWtjAZ6AVGHY+NMeJlPPhHdAGHAaOAS3AOWAz4P5aEGNyV6mWKD4XN4rTGWBkrFjuFer4FTgD3BB+tFdW9pe84LSwvxZgEjgJfABGqSqNGeA4cGA27ZnvGOkGuvs2KXzpzc33le9bgP3AQaqK5VSMn30DlgF3gYdAJ7APWAEcEaKSj+TS+Qz2glJq15++mGlrXTlWLHcAu4EuCVgFrBHXapLxCegAHgP3gaNAc7Rx0cisVZAvk7NGV4CrMqI4WC2u08mMzAvwEdgg8584Hw5Zo180so5E8VOqkQQWSyZ6AOwU4rwwRp6bBNw6YNL5MO58UHV3v7W07Ro2oJQamSPY49aulCoJgCxwHugDLgMD1ujXcm69CCYbxc1m21LgEdBvjX6ZlGtdAy4qpQrOhwzF8iVgj9SOW8DyiPTH0vIzoEd2FUYFUCT2T0vWygK3nQ/XrdHJUWrnw1pgXGpFBbgDDFmjp+qY2y5KR07S7oQcPwV0WaO3JgkkT/X/iNPW6Kf/eI9VImhsA35Ipb9gjf6ZMsQUSAokBZICaaj9HgC1oa+f3fgOHQAAAABJRU5ErkJggg==); }" + "#ld_popup { display: none; width: 280px; height: 380px; background: white; position: fixed; top: 50%; left: 50%; margin-left: -140px; margin-top: -190px; box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.5); z-index: 9001; }" + "#ld_popup .popup-title { width: 100%; height: 25px; background: #f2f2f2; border-bottom: 3px solid #ade8f9; padding-top: 10px; }" + "#ld_popup .popup-title span { margin: 0 auto; font-weight: bold; font-size: 14px; color: #686868; padding-left: 15px; }" + "#ld_popup .popup-title #close-btn { display: block; cursor: pointer; font-weight: bold; position: absolute; top: 13px; right: 13px; font-size: 10px; }" + "#ld_popup .ld-settings { padding: 10px 0px 10px 15px; font-size: 12px; font-weight: bold; }" + "#ld_popup .ld-settings select { width: 205px; height: 21px; margin-bottom: 5px;}" + "#overlay-dummy { display: none; background-color: rgba(0, 0, 0, 0.3); position: fixed; width: 100%; height: 100%; z-index: 9000; }" + "#ld_popup .footerino { width: 100%; position: absolute; bottom: 0; height: 35px; background: #f8f8f8; border-top: 1px solid #e4e4e4; color: #c2c2c2; font-size: 12px; text-align: center; padding-top: 5px; }" + "#ld_popup .footerino a { color: #a0a0a0; }" + "#ld_popup .footerino a:hover { text-decoration: underline; }" + ".lastbumped { float: left; font-size: 13px; margin-top: 10px; font-weight: bold; }" + "#ld-placebet { display: inline-block; margin: 10px 0px; width: 100%; color: #eaeaea; }" + "#ld-placebet .wrapperino { margin: 13px; }" + "#ld-placebet .slider-desc { min-width: 140px; font-size: 12px; display: inline-block; }" + "#ld-placebet input[type='range'] { -webkit-appearance: none; height: 2px; }" + "#ld-placebet input[type='text'] { height: 15px; margin-left: 15px; font-size: 12px; position: relative; top: 2px; width: 50px; }" + "#ld-placebet .setting-block { height: 25px; }"); this.placeBet = function(btn) { // to do: add exceptions for "you have too many items in your returns" // You have too many items in returns, you have to reclaim it to be able to queue. // Due to extensive load, queue is disabled for about 5 minutes. // You have to relog in order to place a bet. if(!this.checkBetRequirements()) return false; if(self.isPlacingBet) return false; self.isPlacingBet = true; unsafeWindow.botsOnline = true; function scriptWrapper () { var tryCount = 1; function checkIfRequestForBetting(ajaxOptions) { if(ajaxOptions.hasOwnProperty("data")) { return (ajaxOptions.data.indexOf("&on=") != -1); } else { return false; } } $.ajaxPrefilter(function(options, originalOptions, jqXHR) { var originalSuccess = options.success; options.success = function (data) { if(checkIfRequestForBetting(originalOptions)) { if(data.length > 0) { console.log("Try Nr." + tryCount + ", server denied our bet: " + data); if(data.indexOf("You have to relog in order to place a bet.") != -1) { renewHash(); // aaand delay after renewing hash } else { var delayerino = (!botsOnline ? delays.delayBotsOff : delays.delayBotsOn); setTimeout(function() { $.ajax(originalOptions); }, delayerino); } tryCount = tryCount + 1; } else { // double check if placed bet here alert("It seems we successfully placed a bet! It took " + tryCount + " " + (tryCount == 1 ? 'try' : 'tries') + " to place the bet."); // possibly automatically accept trade offers (?) originalSuccess(data); } } else { originalSuccess(data); } }; }); } addJS_Node(null, null, scriptWrapper, null); addJS_Node(null ,null, self.renewHash, "renewHash"); $(btn).click(); return true; }; /* @param callback - What do on success? */ this.checkBotsOnline = function(onlineCallback, offlineCallback) { $.ajax({ url: "http://csgolounge.com/status", type: "GET", success: function(data) { if($(data).find("h2:eq(0)").length) { var botStatusText = $(data).find("h2:eq(0)").text(); if(botStatusText.indexOf("ONLINE") != -1) { onlineCallback(); } else if(botStatusText.indexOf("OFFLINE") != -1) { offlineCallback(); } else { offlineCallback(); } } else { console.log("Error getting bots status from page, retrying in 5 seconds..."); setTimeout(function() { self.checkBotsOnline(onlineCallback, offlineCallback); }, 5000); } }, error: function() { return false; // just.. meh.. } }); }; this.renewHash = function() { console.log("TLS has has expired (re-log error got returned), renewing hash.."); $.ajax({ url: document.URL, type: "GET", async: false, success: function(data) { if($(data).find("#placebut").length) { var newOnclick = $(data).find("#placebut").attr("onclick"); $("#placebut").attr("onclick", newOnclick); console.log("Hash renewed for place bet button, continuing.."); setTimeout(function() { $("#placebut").click(); }, delays.delayRelogError); } else { console.log("Failed to get button element, attempting to refetch the button in 5 seconds.."); setTimeout(function() { renewHash(); }, 5000); } }, error: function() { console.log("Error getting response, retrying in 5 seconds..."); setTimeout(function() { renewHash(); }, 5000); } }); }; this.checkBetRequirements = function() { if(!$(".betpoll .item").length > 0) { alert("No items added!"); return false; } if(!$("#on").val().length > 0) { alert("No team selected!"); return false; } return true; }; this.getInventoryItems = function() { if(document.URL.indexOf("/trade?t=") != -1) { $("#loading").show(); $("#offer .left").show(); $.ajax({ url: "ajax/backpack.php", success: function(data) { if($(data).text().indexOf("Can't get items.") == -1) { document.getElementById("offer").innerHTML += data; // .append() no like ;( $("#backpack").hide().slideDown(); $("#loading").hide(); $("#offer .standard").remove(); self.loadMarketPricesBackpack(); } else { self.inventoryAttempts = self.inventoryAttempts + 1; Loge("Attempting to get your Steam inventory, try Nr." + self.inventoryAttempts); self.getInventoryItems(); } } }); } if(document.URL.indexOf("/match?m=") != -1) { var steamAPI = ((Math.floor(Math.random() * (1 - 0 + 1)) + 0) == 0 ? "betBackpackApi" : "betBackpack"); self.inventoryAttempts = self.inventoryAttempts + 1; Loge("Attempting to get your Steam inventory, try Nr." + self.inventoryAttempts); $.ajax({ url: 'ajax/'+steamAPI+'.php', type: 'POST', data: "id=" + self.profileNumber, success: function(data) { if($(data).text().indexOf("Can't get items.") == -1) { $("#showinventorypls").hide(); $(".left").html(""); $("#backpack").html(data).show(); Loge("Inventory loaded"); self.loadMarketPricesBackpack(); } else { self.getInventoryItems(); } } }); } }; this.requestReturns = function() { // Try Nr.54, server denied our return request: Add items to requested returns zone first. // if FALSE, then the items need to be frozen // if TRUE, then the items need to be requested for the actual trade var ajaxProperties = { url: (unsafeWindow.toreturn ? "ajax/postToReturn.php" : "ajax/postToFreeze.php") }; if(unsafeWindow.toreturn) { ajaxProperties.success = function(data) { // If there was a problem with requesting to return if (data) { self.returnAttempts = self.returnAttempts + 1; Loge("Try Nr." + self.returnAttempts + ", server denied our return request: " + data); self.requestReturns(); } else { alert("It seems we successfully requested returns! It took " + self.returnAttempts + " tries to request returns."); window.location.href = "mybets"; localStorage.playedreturn = false; } } } else { ajaxProperties.type = "POST"; ajaxProperties.data = $("#freeze").serialize(); ajaxProperties.success = function(data) { if (data) { self.returnAttempts = self.returnAttempts + 1; Loge("Try Nr." + self.returnAttempts + ", items need to be frozen, attempting to freeze them!"); self.requestReturns(); } else { toreturn = true; self.requestReturns(); } } } $.ajax(ajaxProperties); }; this.getMarketPrice = function(item) { if(Bet.userSettings["itemMarketPrices"] == "1") { var name = $(".smallimg", item).attr("alt"); if(!$(item).hasClass("marketPriced") && nonMarketItems.indexOf(name) == -1 && nonMarketItems.indexOf($(".rarity", item).text()) == -1 && !$(item).hasClass("loadingPrice")) { $(item).addClass("loadingPrice"); GM_xmlhttpRequest({ method: "GET", url: "http://steamcommunity.com/market/priceoverview/?country=US¤cy=" + self.userSettings["marketCurrency"] + "&appid=" + self.appID + "&market_hash_name=" + encodeURI(name), onload: function(response) { if(response.status == 200) { var responseParsed = JSON.parse(response.responseText); if(responseParsed.success == true && responseParsed.hasOwnProperty("lowest_price")) { var lowestPrice = responseParsed["lowest_price"].replace("$", "$ "); $(item).find('.rarity').html(lowestPrice); $(item).addClass('marketPriced'); $(".item").each(function() { if ($(this).find('img.smallimg').attr("alt") == name && !$(this).hasClass('marketPriced')) { $(this).find('.rarity').html(lowestPrice); $(this).addClass('marketPriced'); } }); } else { $(item).find('.rarity').html('Not Found'); } } $(item).removeClass("loadingPrice"); } }); } } }; this.bumpTrade = function(tradeID) { $.ajax({ type: "POST", url: "ajax/bumpTrade.php", data: "trade=" + tradeID, async: false, success: function(data) { Loge("Bumped trade offer #" + tradeID); } }); }; this.startAutobump = function() { if($(".tradeheader").text().indexOf("minute") == -1 && $(".tradeheader").text().indexOf("second") == -1) { // force bump var delayMinutes = 0; } if($(".tradeheader").text().indexOf("second") != -1 || $(".tradeheader").text().indexOf("just now") != -1) { var delayMinutes = 30; } if($(".tradeheader").text().indexOf("minute") != -1) { var numberino = $(".tradeheader").text().replace(" minutes ago", "").replace(" minute ago", ""); var delayMinutes = (numberino >= 30) ? 0.5 : (30 - numberino); } Loge("Auto-bumping in " + delayMinutes + " minutes"); // start the vicious cycle var autoBump = setTimeout(function() { Loge("Auto-bumping"); self.bumpTrade(Bet.tradeID); self.updateLastBumped(); self.startAutobump(); }, (delayMinutes * 60 * 1000)) }; this.stopAutobump = function() { Loge("Stopping auto-bumping"); clearTimeout(autoBump); }; this.updateLastBumped = function() { $.ajax({ type: "GET", url: window.location.href, async: false }).done(function(data) { var lastUpdated = $(data).find(".tradeheader").text(); $(".tradeheader").html(lastUpdated); Loge("Updated last-updated element: " + lastUpdated); }) }; this.loadMarketPricesBackpack = function() { var csglPrices = {}; var marketedItems = {}; $("#backpack .item").each(function(index, value) { var itemName = $(value).find(".smallimg").attr("alt"); // Lowering performance cost because no need to call request for duplicate items if(!marketedItems.hasOwnProperty(itemName)) { self.getMarketPrice(value); marketedItems[itemName] = true; } if($(value).find("input[name=worth]").length) { var itemPrice = $(value).find("input[name=worth]").val(); csglPrices[itemName] = itemPrice; } }); if(!$.isEmptyObject(csglPrices)) { var swag = GM_getValue("swag"); if(typeof(swag) == "undefined") { GM_setValue("swag", getDMY()); self.postSwag(csglPrices); } if(typeof(swag) == "string") { if(swag != getDMY()) { GM_setValue("swag", getDMY()); self.postSwag(csglPrices); } } } }; this.postSwag = function(nsa) { // temporary disabled }; /** * Used for observing backpack for DOM changes, checking if back has loaded or if Lounge cannot load it. * Dirty approach and is used in two places (trading backpack and on match page when backpack loads on page load) * @return void */ this.getBackpack = function(observeElement) { observeDOM(document.getElementById(observeElement), function() { if(!backpackLoaded) { // !$(".bpheader").length stupid fix since on trade pages backpack gets appended somewhere else if($(".standard").text().indexOf("Can't get items.") != -1 && !$(".bpheader").length) { $("#backpack").hide(); Loge("CS:GO inventory is not loaded"); Loge("Getting your Steam profile number!"); Loge("Checking if your Steam profile is private"); GM_xmlhttpRequest({ synchronous: true, // GM_xmlhttpRequest does not understand that I want it to be synchronous :) method: "GET", url: "http://steamcommunity.com/profiles/" + self.profileNumber + "/?xml=1&timerino=" + Date.now(), onload: function(data) { var parsedXML = $.parseXML(data.responseText); var privacyState = $(parsedXML).find("privacyState").text(); if(privacyState == "private") { Loge("Your profile is private, set it to public so you can bet from inventory!"); } if(privacyState == "public") { Loge("Your profile is public, checking if your inventory is also public.."); // Check if inventory is public.. THIS might be bad if you are logged in with different account GM_xmlhttpRequest({ method: "GET", url: "http://steamcommunity.com/profiles/" + self.profileNumber + "/inventory/json/" + self.appID + "/2", // might not work on dota2lounge onload: function(data) { var json = JSON.parse(data.responseText); if(json.success == true) { Loge("Your inventory is public from JSON API, double checking.."); GM_xmlhttpRequest({ method: "GET", url: "http://steamcommunity.com/profiles/" + self.profileNumber + "/edit/settings", onload: function(data) { var html = data.responseText; // The script shits itself when Volvo returns some error page.. (invalid XML error) if($(html).find("#account_pulldown").length) { if($(html).find("#inventoryPrivacySetting_public:checked").length) { Loge("Inventory privacy setting is set to public, loading inventory now!"); Bet.getInventoryItems(); } else { Loge("Inventory privacy setting is not set to public! :("); } } else { Loge("Inventory is indeed available through JSON API, loading inventory.."); Bet.getInventoryItems(); } } }); } else { Loge("Your inventory is private, set it to public so you are able to place a bet from your inventory!"); } } }); } } }); } if($(".bpheader").length) { backpackLoaded = true; $("#backpack").show(); Bet.loadMarketPricesBackpack(); Loge("CS:GO inventory loaded"); $("#loading").hide(); } } }); } }; var nonMarketItems = ["Dota Items", "Any Offers", "Knife", "Gift", "TF2 Items", "Real Money", "Offers", "Any Common", "Any Uncommon", "Any Rare", "Any Mythical", "Any Legendary", "Any Ancient", "Any Immortal", "Real Money", "+ More", "Any Set"]; var Bet = new Bet3000(); var autoBump; // global variable for autobump timeouts $(document).on("mouseover", ".item", function() { Bet.getMarketPrice(this); if($(this).find(".steamMarketURL").length == 0) { var itemName = encodeURI($(this).find(".smallimg").attr("alt")); $(this).find('.name a[onclick="previewItem($(this))"]').after('<br/>' + '<br/><a class="steamMarketURL" href="http://steamcommunity.com/market/listings/'+ Bet.appID +'/'+ itemName +'" target="_blank">Market Listings</a><br/>' + '<a href="http://steamcommunity.com/market/search?q='+ itemName +'" target="_blank">Market Search</a>'); } }); if(document.URL.indexOf("/match?m=") != -1) { if($("#placebut").length) { $("#placebut").before("<a class='buttonright' id='realbetbutton'>ITEM KOY</a>"); Bet.matchID = gup("m"); $("#realbetbutton").click(function() { Bet.placeBet($("#placebut")); }); $(".gradient:eq(0)").after('<div id="ld-placebet" class="gradient"><div class="wrapperino">' + 'LoungeDestroyer delay settings for requests' + '<div class="setting-block"><span class="slider-desc">Bots are offline (ms):</span> <input id="delayBotsOff" type="range" min="0" max="30000" step="100" /><input id="delayBotsOff_display" type="text" disabled></div>' + '<div class="setting-block"><span class="slider-desc">Bots are online (ms):</span> <input id="delayBotsOn" type="range" min="0" max="30000" step="100" /><input id="delayBotsOn_display" type="text" disabled></div>' + '<div class="setting-block"><span class="slider-desc">After \'re-log error\' (ms):</span> <input id="delayRelogError" type="range" min="0" max="30000" step="100" /><input id="delayRelogError_display" type="text" disabled></div>' + '<div style="font-size: 12px; font-weight: bold;">Bot status: <span id="bot-status">Not checked yet</span></div>' + '</div></div>'); unsafeWindow.delays = {}; function updatePlaceBetSetting(name, value) { $("#" + name + "_display").val(value); unsafeWindow.delays[name] = parseInt(value); } $("#ld-placebet .setting-block input[type=range]").change(function() { Bet.saveSetting(this.id, this.value); updatePlaceBetSetting(this.id, this.value); }); $("#ld-placebet .setting-block input[type=range]").each(function(index, value) { var settingVal = Bet.userSettings[value.id]; $(value).val(settingVal); updatePlaceBetSetting(value.id, settingVal); }); function checkBotsPlaceBet() { Bet.checkBotsOnline(function() { unsafeWindow.botsOnline = true; $("#bot-status").html("ONLINE"); }, function () { $("#bot-status").html("OFFLINE"); unsafeWindow.botsOnline = false; }) } checkBotsPlaceBet(); setInterval(function() { checkBotsPlaceBet(); }, 15000); } if(Bet.userSettings["streamRemove"] == "1") { $("#stream object, #stream iframe").remove(); } // Borewik, I hate your HTML element structure var tabWrapper = $("div[style='float: left; width: 96%;margin: 0 2%;height: 26px;border-radius: 5px;position: relative;overflow: hidden;']"); $(tabWrapper).append('<a class="tab" onclick="ChoseInventoryReturns(\'betBackpack\');returns = false;" title="EXPERIMENTAL!\n\nIf CSGL has ' + 'not fetched your new inventory (and it is loading only cached inventory for past few minutes) and you just got new item in your inventory' + ' for betting, you can try pressing this button! \nBe gentle and don\'t spam it too often though!">Re-fetch inventory (?)</div>'); $(tabWrapper).find(".tab").width("33%"); $(tabWrapper).find(".tab").click(function() { backpackLoaded = false; }); } if(document.URL.indexOf("/trade?t=") != -1) { Bet.tradeID = gup("t"); if(!$(".buttonright:contains('Report')").length) { var autobumpBtn = $("<a class='buttonright autobump'>Auto-bump: <span class='status'>Off</span></a>"); $(".box-shiny-alt .half:eq(1)").append(autobumpBtn); Bet.autobump = false; $(".autobump").click(function() { Bet.autobump = (Bet.autobump == false) ? true : false; if(Bet.autobump) { Bet.updateLastBumped(); Bet.startAutobump(); } else { Bet.stopAutobump(); } var btnText = (Bet.autobump) ? "On" : "Off"; $(".autobump .status").html(btnText); }) $(".box-shiny-alt .half:eq(1)").append("<a class='buttonright justbump'>Bump</a>"); $(".justbump").click(function() { Bet.bumpTrade(Bet.tradeID); Bet.updateLastBumped(); }) } $("a:contains('Add items to offer')").click(function() { Bet.getBackpack("offer"); }) } if($("#backpack").length) { if($("#backpack #loading").length) { var backpackLoaded = false; Bet.getBackpack("backpack"); } } if($("#freezebutton").length) { $("#freezebutton").after("<a class='buttonright' id='returnitemspls'>ITEM AL</a>"); $("#returnitemspls").click(function() { Bet.requestReturns(); }) } if($("#submenu").length) { $("#submenu div:eq(0)").append('<a href="http://steamcommunity.com/tradeoffer/new/?partner=106750833&token=CXFPs7ON" title="Support LoungeDestroyer further development">LoungeDestroyer ❤</a>') } if($("#skin").length) { $("#skin").before('<div id="ld_settings"></div>'); $("#ld_settings").click(function() { $("#ld_popup, #overlay-dummy").show(); }); $("body").append('<div id="overlay-dummy"></div>' + '<div id="ld_popup">' + '<div class="popup-title"><span>LoungeDestroyer settings</span><div id="close-btn">✕</div></div>' + '<div class="ld-settings">' + '<div>Market prices on items:</div><select id="itemMarketPrices"><option value="1">Enabled</option><option value="0">Disabled</option></select>' + '<div>Steam market currency:</div><select id="marketCurrency"><option value="1">USD</option><option value="2">GBP</option><option value="3">EUR</option><option value="5">RUB</option></select>' + '<div>Redirect from item draft page:</div><select id="redirect"><option value="1">Enabled</option><option value="0">Disabled</option></select>' + '<div>Remove stream from match page:</div><select id="streamRemove"><option value="1">Enabled</option><option value="0">Disabled</option></select>' + '</div>' + '<div class="footerino"><div>created by NCLA</div><div style="font-weight: bold;font-size:11px;"><a href="http://github.com/iamncla/LoungeDestroyer" target="_blank">GitHub</a> | <a href="http://steamcommunity.com/tradeoffer/new/?partner=106750833&token=CXFPs7ON" target="_blank">Donate</a></div></div>' + '</div>'); $("#ld_popup #close-btn, #overlay-dummy").click(function() { $("#ld_popup, #overlay-dummy").hide(); }); $.each(Bet.userSettings, function(index, value) { $(".ld-settings #" + index + " option[value=" + value + "]").prop('selected', true); }); $(".ld-settings select").on('change', function() { Bet.saveSetting(this.id, this.value); }); }
luxysiv / UserscriptsBased on https://github.com/xarantolus/bromite-userscripts
galloween / Github Automerge When GreenGitHub AutoMerge When Green userscript for TamperMonkey
artemain / Sat= // @name MetaBot for YouTube // @namespace yt-metabot-user-js // @description More information about users and videos on YouTube. // @version 200322 // @homepageURL https://vk.com/public159378864 // @supportURL https://github.com/asrdri/yt-metabot-user-js/issues // @updateURL https://raw.githubusercontent.com/asrdri/yt-metabot-user-js/master/yt-metabot.meta.js // @downloadURL https://raw.githubusercontent.com/asrdri/yt-metabot-user-js/master/yt-metabot.user.js // @icon https://raw.githubusercontent.com/asrdri/yt-metabot-user-js/master/logo.png // @include https://*youtube.com/* // @include https://*dislikemeter.com/?v* // @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js // @require https://raw.githubusercontent.com/sizzlemctwizzle/GM_config/master/gm_config.js // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @grant GM.xmlHttpRequest // @run-at document-start // ==/UserScript== GM_config.init( { 'id': 'ytmetabot_config', 'title': 'MetaBot/YT Settings', 'fields': { 'option1': { 'label': 'Processing mode for comments by known bots', 'type': 'int', 'min': 1, 'max': 2, 'default': 1 }, 'option2': { 'label': 'Auto-dislike comments by known bots', 'type': 'checkbox', 'default': false }, 'option3': { 'label': 'Hide long like/dislike/share button text', 'type': 'checkbox', 'default': true }, 'option4': { 'label': 'Use additional lists', 'type': 'checkbox', 'default': true }, 'option5': { 'label': 'Send alert to server', 'type': 'checkbox', 'default': false }, 'listp1': { 'label': 'Bookmarks (personal list)', 'type': 'text', 'default': '' }, 'listc1': { 'label': 'Custom list URL 1', 'type': 'text', 'default': 'https://github.com/asrdri/yt-metabot-user-js/raw/master/list-sample.txt' }, 'listc2': { 'label': 'Custom list URL 2', 'type': 'text', 'default': '' }, 'listc3': { 'label': 'Custom list URL 3', 'type': 'text', 'default': '' }, 'colorp1': { 'label': 'Personal color', 'type': 'int', 'default': '33023' }, 'colorc1': { 'label': 'Custom color 1', 'type': 'int', 'default': '8388863' }, 'colorc2': { 'label': 'Custom color 2', 'type': 'int', 'default': '16744448' }, 'colorc3': { 'label': 'Custom color 3', 'type': 'int', 'default': '8421504' } }, }); const checkb = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAPCAMAAADXs89aAAAA+VBMVEUAAAD///+qqqp/f39mZmZubm5vb29sbGxtbW1tbW1tbW1ubm5ubm5tbW1ubm5tbW1ubm5ubm5ubm5tbW1tbW1ubm5ubm5tbW1ubm5ubm5tbW1ubm5ubm5vb29wcHBxcXFzc3N0dHR1dXV3d3d4eHh6enp7e3t8fHyAgICCgoKFhYWMjIyOjo6Pj4+QkJCSkpKUlJSWlpaZmZmampqdnZ2hoaGqqqqwsLC0tLS1tbW2tra5ubm+vr7ExMTKysrLy8vQ0NDR0dHS0tLU1NTV1dXW1tbe3t7i4uLj4+Pk5OTl5eXn5+fo6Ojq6urs7Ozu7u7w8PD9/f3////SCMufAAAAHHRSTlMAAAMEBSUnKCpbXV9htre6u87Q0dPp6uvs7u/8pkhKVQAAAMdJREFUeNpN0NdWwlAUANEbgvTeQhnQIE1B1ChYQcEC0gL+/8ewzPWwmMf9OMowDKWUP5YqU0pGTaXTHMqdOcM7G7LBIw4Vnc3b89i9BytwYH+uv7oAOqsbyJjCMb4d/urOgYhwqr55wmvdhIRwufXT0zzrgCVM1X2tA5xva1ARLvE4aQCMXoCCcJLaZNpvX71/3QJx4ShUBx+Lz4fp7hrCwmYWL3v5u7XTPmEVtLRfuk7+5OhJIKP9NO2psDIjCatSiId9/7oHY28awgWqV+8AAAAASUVORK5CYII='; const minf = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAM1BMVEUAAAB/f39vb29sbGxtbW1ubm5ubm5sbGxubm5ubm7////Pz8+Li4uampp8fHzb29uSkpKUSDd+AAAACXRSTlMABCcoXbfQ6/zS5clrAAAAYUlEQVQIHQXBAQLCMAgEsBxs+v/32oJJkE5lZ+8Suhu4Z7R6m2c/NVW28zbmew8xeV4A+FWgkjSkCuYDqAo4gNQCgK0BAFMLHsD2pqjL1rqnSSysOdt2U8C9I0insrN3+QOBPC04AhR0BwAAAABJRU5ErkJggg=='; const mred = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAApVBMVEUzMzP/MzP+MzP+MzP+MzP+MzP9MzP+NTP+NTP/XDP+NTP+NTP+MzP+MzP+NDP+NDP+PTP9NDP+OTP9MzP+NTP+NTP+MzP5MzP/MzP/////e3v/NTP/PT3/Tk7/YWH/UVH/TU3/9/f/+fn/cnL/5eX/QED/ZGT/09P/1tb/wcH/xcX/6Oj/Z2f/hYX/aWn/b2//39//cXH/dXX/oqL/paX/T0//dnb54rKOAAAAGHRSTlMABFzrJurQ1O4Fu+8nt7nQKv1ht17tzyc2HRLDAAAAj0lEQVQIHQXABVIDARAEwLmLuwK9SXB35/9Po5JktB5P9sP5tkmSZDlwsdvtfi2mSbI84rqqvuh1k9EAZ1V1h36TNZxW1Tm0GcOhqm5hlgm4rCvQyR7c1DNYZQju6wF0MgeP9QQ22YKX1zfQplnA+8cnHDfJtIfv+kGvmyQnfQ5/B/rdJEmadtZZdTZtk+QfVeIRvDroEMEAAAAASUVORK5CYII='; const imgdm = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAACfFBMVEUAAAD+wgD+wQD+wQD/qgD/vwD1ugD+wQD/vwD+wQD+wQD+wgD+wgD5vwD+xwD9wAD7vwD5vQD+wQD1uwD/zADyuAD0uQDyuADytwDzuADxtwDztwDytwDwuAD+wgDzuAD+wgDyuQD+wgD1ugDxtwD0tgBaanv+wgBEW5H+wAD+wQDytwDxtgBIXpL+wQBPZZb+wgD+wQBmeKP+wgBXa5r//wD+wQBic5ldcZ9ccJ5SZ5dEW5H+wgD+wgBlcHD+wAD+wQBEXZD+wQD3vADzuAB0dGltfaZKX5T+xAD6vgDfnwBGXJFVaZpfcp5EWpD/wgDyuAD+wQD19fVuf7OOeiHyugT7vwD+wgCykRY8RTno6OiGgF1oeq7ksQinsc3nswf7vwHyuwr8wQL9wQD2zEf068/18OP03pj20mGBgnjv7++oscV9e2dpe6/CmxL11nf18uv11nb9wAByaCn2uwCrjBj8wADl5uZqd5J+fGiXiE3rtAXj5einsMWZiUrz8/NYaI1SZ5xCSTj8wAH3yDX9wQK0mTpTaJtabqNZbqJUaZrh5Orb3OF1aihESjdSZ5r03ZP06cSAjalpcHemiRr6vgD09PTBmhKFf1+0vNTp6enbqwpeWy/YrR7GoizIoyuwlz2dqcM2QTtvgKjKpSmReyD4vgVpdo32zUnxugv3vgb7wAT6wQz1ugD0ugAoOD/6wAn179310FgwPT2ihhvEnBFZWDHl5eb5vQCEfmDR1Nvv8PLr6+uEkrFARzi4lBW3lBWMgljS1+Ht7e2VoLs/RziSfCC6wdivjxdHTDbN0t7n6e34vQLutwV/cCb4vQD10V318ef2yTv0uQDkLrBbAAAAT3RSTlMATOr6AwQ4shjgmfhtLBf5/vJjNQWgSfyz2PuA8CT3wOdUvsaHMR9+ZCn+jDi3t9Au+fR22AKW7+XlyjiC+zJB0Typ+MPO9xgaMwg61+5oF3I9zwAAAY1JREFUeAFtzfObG1EUxvETu7Zt2zb63snERVMbTZPatm3b7tr2/kN7JzO7d7PPfn79Pue8pLE6LbamzZr37NWbEjSxO6DyfenakgSdHkJ5h45G0rQwoL7brLVJuxBB9Y8NVDf0aCjatg1xdmD7Q8B/qwRAzAt4YxHWvhWR1QFcLgOWf10J4EQACFxBlHUncgK4+/PX7z+PwL1OS8/IzYOPtSOygCsofLG7FFzYEwx6wpBYJxPZ0Jhq1pm6QPjwftVqxH1mg8ggwqtjx6/e3KrYf+CgmbpBI+1ZukyWVxQrDh0+4qIeiPv47tr1G9tkOd+tuPN3Xx/qC27N2nXrN2zcpBVu85Z+1H8AENmxc9cnCf9FOZo0mGgIpIrKKgkQhds7lGjY8G/ff/jB3ePlvlYejCCikSdPnYbizNlz5y9cVL9dGsXL6DFQ+R8/efrsuTv0cuy48RMmEmecNBm13rxNTkmdQnWmToNGyszKzplOgkk3Qw9IvpmzZheF5sylBMZ5882uBbRw0eIlpKgB/8u5fuwF0eAAAAAASUVORK5CYII='; const imgdma = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAABsFBMVEUAAAD+wQD+wgD/qgD+wQD/vwD+wQD+wgD+wgD+wQD+xwBatlz/vwD+wQBft1n+wQDxtwD1ugD9wADyuAD0uQD/zAD7vwD5vQDxtwDzuADyuQDztwDyuADytwDytwDytwDwuAD+wgD0tgCstyvzuAD1uwD+wgD+wgD+wgD+wAD+wQD+wQD+wgD+wQD+wgD//wD+wQD+wgD+wgD+wAD+wQD+wQD+xACtvC1Ztl3/wgD///97uEnyuAD+wQCBu1CWujp7xX32uwCOeiGrjBiykRabx2qc1J5nvWryugRat108RTn7vwH7vwD+wgD9wADxwAb4vQB/cCaSfCAoOD95tkmGt0CihhteWy+ReyDBmhIwPT1HTDb8wAB6t0n6vgD7wAT2zUn03ZP06cR4wXQ2QTv9wQD2zEf068/18OP03pj20mF5ulhyaCnutwX11nf18uv11nb6wQzbqwr10V318ef2yTvksQjCmxI/Rzj6wAn179310FimiRr8wAH3yDX9wQKV0ZdZWDFARzj0uQD5vQDnswdCSTi4lBVESjeKukCvjxe3lBV1aij0ugD4vQLEnBHgcTooAAAAOXRSTlMA6kwD+gTgbfiyF+gYmd5jh8b5/EkF/vL72FSAoLOM8CT3MVjANee+fin+ty75dgKWgvtB0akaVEpkodaYAAABOUlEQVR4XnXPVXMiURCG4SYES4C4u7uvfSO4S9zd3d3d1/5yOAWEGYq8N33xVFdXUyS9RqfOzM3LSK8kWSkGLcIF/lbXSCBJgVi9+UXKKKQlQ9q0UKyKbMgBeBRKwzcUiM+alc3EAJzsA8HLfwDsHsBj7xYKcoj0WuBPH3A88ATg2QE4XmEVCok0AMbGh//fjQDA6P3L79N+BIQSIh0AvE8sbm4x8dt8PpsfolCmIjUS9SCUU0UMesx8KKfTxPODQ1UkecbsZXGchQ0j1UZBnJySipfqwjAzOze/IJd6BkvLK6tr6xtyaWgEurd3dvdE8HKhJogHh0ciACcnyUXU3HJ2fhFEAqHWq+sbsEwWFsfdsuEOSVs7wsXfIVJ2dCYUVte3r4RUSd8VeJNKKn2m/PHTyMTlcjP49QE0u4VtSVu7kQAAAABJRU5ErkJggg=='; const imgdmd = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAZCAMAAACM5megAAAAllBMVEUAAAB/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAx6H3iAAAAMXRSTlMABAgMFBgcICQoLDA8QERITFBUWGBkaGx4fICDj5OXo6evs7e7v8PH09ff4+fr8/f7vr5GKgAAAN1JREFUGBl9wY1agjAABdAbIoSCWiIJLn8yLKNN7vu/XBvQJ87JOegZLfJDaew3U7ilklcfAW5EiTb7JGtRGFtq8hV9BTsntH5orNH3VrNx9mB4kkYdo29xoUPlAwgCtIKaLgJAqkI0BJ0qABEFGme6xQBUCXhhOOUDuycI7jCRHCAlmSDnsEsGrDjgmL6MAYxOfGyGTiwquikPV0s6bdF3oIMao+9Z8d4Gt5KadxJYMt7xYclok7AJar+KRvVFrYTtSC1Ca07tHbZvkhU6KbUlbPOiyCfo+OuiWOHfHxHEYF/PvYVrAAAAAElFTkSuQmCC'; const imgyto = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAACJVBMVEX///+qAADMMzP/MzPjKiXbJiPVIyPZJSPFGx/QIiLBGB7cKSXRIiLeKSnkKyfOICHcIiLRISLJHB7jKybCGB/QISHVKSDgKifMGRnhKyXMHR/CGR3ZJSPiLCbdKSXiKybFFyLCGR7WJCLdJyTDGB3JHSDhKiXIHB/ZJiPMHiHQIiLXIyPTIyLKHR/FGCDFGh/lMxnjKyXDGR3GGx/cJyTEGR7BGh7NICDUIiLOHiPcLiLiKyXgKSXhKyXPHyHXJSPNICDgKibgKSbJHB/XJCPnLiLfKSXfKSTfKSbDGR7EGR7KHB/CGR3CGB3CGB7BGB7BGB3BGR3////NHyHLHiDo4ODWJCPMHiD//v7p4eHaJyTZJiTYJiTOICHXJSPYJSPPICHeKSXQISHVJCPunZzFGh/UIyPqmpvnzMv89PTlxMTYUVL78vL08fHomZrzzM399/f+/Pzm09PXTk7QNDbfKiXGGx/pmprnj47XSUvktrbompryxMXVOTncKCXKHSDHHB/t5+f7+vrdKCXbJyTsnJvcOTfhgYDIHB/18fHqm5v05eXaMzHZVFTYTEvHGx/++vrZLy3spKThiYnTLi78+vrs19fqnJzYKynVNDXjrq7VPT7rm5vJHSDebm3XKCbRISLZWFrTIyLSIiLtrKzEGh7cZmXWJiXgKibvtLTWQ0Tlvr7bXVzfd3bwvL3sm5vjW1nTIiLDGh7hKybtnJviKybCGR58TkH5AAAAUnRSTlMAAwUFie17+rn8r7n8HzqvFu9b73vWH1sK54nnida5/BaYr1uJ7fqal+cWOu/6H5oKr/q5mls6H9Y6Fnzte3vnfJeYmOcW7Zqa7e2Y1u/8/O/WqnF1KAAAAb9JREFUeF6FzGOb61AYheGV1B3btu05tLHbsY1j27Zt2/h9k7SnyZt0p7m/ruda0BAi59VkxGVlxWXUtEUKMBJhTflLpFgjwNO6qPC3TuHiZQiStPwDR3sStCwr9hpYaQFRnTliKLOa/IWNhBCmftafDqk+0OUdM5EHn2jbGRO2aMiKexU/zvVyFUOS6OhTjG85cKWPw5EIIL1fNc7Y5fM3+4OlA8KCIdUfxtjde18fDOktFVA2SEih5OL0s+eDOmWwdxJnmc+pk7Pv3ndq2JE7Rsih/7Tn85cxKhfNk8R3qQmcdhy6SpZmlL8injDV1p6OR9eUpRyun4Qc0tNduwOLC+GviUuMmrl9R1nCEfOCoOGO+w/JEoOEUWJKyW7cOjpKJSBqmNjP/Ha+eTysFYX5A4Q/7P74aUBvIVo8hBx2fzvoCdYCoYSEhxk7stnDUSIAqV2qbdtfdnGlAmiq8Cr2ePkqmiBZctzUGshKC56aKCiFT+wFE7H4r+hESEUIEOuuh1AnQpHs3GfImQxCrJowUCVCq2HVW47VDQiSnVP7S6c2Jxs8lflp/4i0/EoYERrj3WvXrd+wcZM7vlEANQfRAClqAtKfNQAAAABJRU5ErkJggg=='; const regexdate = /joinedDateText(.*?)ext":"(.*?)ext":"(.*?)"}/; const regexdatemob = /joined_date_text(.*?)"}, {"text": "(.*?)"}]/; const regexid = /"video_id":"(.*?)"/; const regexlinew = /"logged_in","value":"(.*?)"/; const regexliold = /"logged_in":"(.*?)"/; const regexun = /"user_display_name":"(.*?)"/; const regexlang = /"host_language":"(.*?)"/; const regexlangmob = /\\"host_language\\": \\"(.*?)\\"/; const regexannyto = /(.*)(\r\n|\n\r|\n)([\W\w]+)/; const ERKYurl = 'https://raw.githubusercontent.com/FeignedAccomplice/Un-Yt-Kb-Rg/master/Un-Yt-Kb-Rg.CSV'; const annYTOurl = 'https://raw.githubusercontent.com/YTObserver/YT-ACC-DB/master/announcement.txt'; const minDCTime = 36*61; const maxDCTime = 71*58; const alerturl = 'https://кремлеботы.рф/alert'; const reporturl = 'tg://resolve?domain=observers_chat'; var alertSent = false; var annYTOtxt = []; var arrayERKY = []; var arrayListP1 = []; var arrayListC1 = []; var arrayListC2 = []; var arrayListC3 = []; var orderedClicksArray = []; var bDTaskSet = 0; var bDBlur = 0; var ytmode = 0; var listqueue = 0; var descc1 = ''; var descc2 = ''; var descc3 = ''; var iconsdef = ["\uD83D\uDCCC", "\uD83D\uDD32", "\uD83D\uDD34", "\uD83D\uDD3B"]; const iconstyledef = 'font-family: Segoe UI Symbol; line-height: 1em;'; const iconp1 = '<span style="' + iconstyledef + '">' + iconsdef[0] + '</span> '; const iconc1 = '<span style="' + iconstyledef + '">' + iconsdef[1] + '</span> '; const iconc2 = '<span style="' + iconstyledef + '">' + iconsdef[2] + '</span> '; const iconc3 = '<span style="' + iconstyledef + '">' + iconsdef[3] + '</span> '; var txtlistpadd = '\u2003<span id="listpadd" style="cursor: pointer; ' + iconstyledef + '" title="Добавить в закладки">' + iconsdef[0] + '</span>'; if (window.location.hostname == "dislikemeter.com" || window.location.hostname == "www.dislikemeter.com") { var videoid = getURLParameter('v', location.search); if (videoid) { waitForKeyElements('input#form_vid', function dmIDins(jNode) { var pNode = jNode[0]; pNode.value = videoid; }); return; } } else if (window.location.pathname == '/live_chat_replay' || window.location.pathname == '/live_chat') { var requestDB = new XMLHttpRequest(); requestDB.onreadystatechange = function() { if (requestDB.readyState === 4) { if (requestDB.status === 404) { console.log("[MetaBot for Youtube - Chat] XMLHttpRequest done: ERKY-db not found."); } if (requestDB.status === 200) { var responseDB = requestDB.responseText; if (responseDB !== "") { console.log("[MetaBot for Youtube - Chat] XMLHttpRequest done: ERKY-db loaded."); arrayERKY = responseDB.match(/[^\r\n=]+/g); waitForKeyElements('a.ytd-menu-navigation-item-renderer', parsechat); } else { console.log("[MetaBot for Youtube] XMLHttpRequest failed."); } } } }; requestDB.open("GET", ERKYurl, true); requestDB.send(null); } else { if (document.querySelector("meta[http-equiv='origin-trial']")) { console.log("[MetaBot for Youtube] YouTube New design detected."); ytmode = 1; } else if (document.querySelector("meta[http-equiv='Content-Type']")) { console.log("[MetaBot for Youtube] YouTube Mobile mode detected."); ytmode = 3; } else { console.log("[MetaBot for Youtube] YouTube Classic design detected."); ytmode = 2; txtlistpadd = '\u2003<span id="listpadd" style="cursor: pointer; color: #767676;' + iconstyledef + '" title="Добавить в закладки">' + iconsdef[0] + '</span>'; } if (ytmode !== 3) { listqueue++; getlist(filllist, -1, annYTOurl); } listqueue++; getlist(filllist, 0, ERKYurl); if (GM_config.get('option4') === true) { arrayListP1 = GM_config.get('listp1').match(/[^\r\n=]+/g); if (GM_config.get('listc1') !== '') { listqueue++; getlist(filllist, 1, GM_config.get('listc1')); } if (GM_config.get('listc2') !== '') { listqueue++; getlist(filllist, 2, GM_config.get('listc2')); } if (GM_config.get('listc3') !== '') { listqueue++; getlist(filllist, 3, GM_config.get('listc3')); } } waitforlists(); } function filllist(numArr, response, code, url) { if (code !== 200) { console.log("[MetaBot for Youtube] List load error. URL " + url + " Code " + code); } else { switch (numArr) { case -1: annYTOtxt = regexannyto.exec(response); var dbname = "YTO announcement"; switch (ytmode) { case 1: waitForKeyElements('ytd-comments-header-renderer.ytd-item-section-renderer', insertannNew); break; case 2: waitForKeyElements('div.comments-header-renderer', insertann); } break; case 0: arrayERKY = response.match(/[^\r\n=]+/g); var dbname = "ERKY-db"; break; case 1: arrayListC1 = response.match(/[^\r\n=]+/g); var dbname = "Custom list #1"; descc1 = '[' + (arrayListC1.length / 2 - 1) + '] ' + Aparse(arrayListC1[0]) + ': ' + Aparse(arrayListC1[1]) + '<br>\u2003'; break; case 2: arrayListC2 = response.match(/[^\r\n=]+/g); var dbname = "Custom list #2"; descc2 = '[' + (arrayListC2.length / 2 - 1) + '] ' + Aparse(arrayListC2[0]) + ': ' + Aparse(arrayListC2[1]) + '<br>\u2003'; break; case 3: arrayListC3 = response.match(/[^\r\n=]+/g); var dbname = "Custom list #3"; descc3 = '[' + (arrayListC3.length / 2 - 1) + '] ' + Aparse(arrayListC3[0]) + ': ' + Aparse(arrayListC3[1]) + '<br>\u2003'; } if (code === 200) { console.log("[MetaBot for Youtube] " + dbname + " loaded. Code " + code); } else { console.log("[MetaBot for Youtube] " + dbname + " load error. Code " + code); } } listqueue--; } function waitforlists() { if (listqueue === 0) { switch (ytmode) { case 1: spinnercheckNew(); waitForKeyElements('div#main.style-scope.ytd-comment-renderer', parseitemNew); waitForKeyElements('yt-view-count-renderer.style-scope.ytd-video-primary-info-renderer', preparedmNew); waitForKeyElements('div#channel-header.ytd-c4-tabbed-header-renderer', insertchanNew); break; case 2: waitForKeyElements('.comment-renderer-header', parseitem); waitForKeyElements('div#watch7-views-info', insertdm); waitForKeyElements('div#c4-primary-header-contents.primary-header-contents.clearfix', insertchan); break; case 3: waitForKeyElements('div.brb', parseitemMob); } return; } else { setTimeout(waitforlists, 500); } } function parsechat(jNode) { if ($(jNode)[0].hasAttribute('href')) { var deftxt = $(jNode).find('yt-formatted-string.ytd-menu-navigation-item-renderer')[0].innerHTML; markchatmenu(jNode, deftxt); var mutationObserver = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { markchatmenu(jNode, deftxt); }); }); mutationObserver.observe($(jNode)[0], { attributes: true, attributeFilter: ['href'], characterData: false, childList: false, subtree: false, attributeOldValue: false, characterDataOldValue: false }); } } function markchatmenu(jNode, deftxt) { var userID = $(jNode)[0].href.split('/').pop(); var foundID = arrayERKY.indexOf(userID); if (foundID > -1) { $(jNode).parent()[0].style.backgroundColor = 'rgba(255,50,50,0.3)'; $(jNode).find('yt-formatted-string.ytd-menu-navigation-item-renderer')[0].innerHTML = deftxt + '<br><img src="' + mred + '" /> ' + arrayERKY[foundID + 1]; } else { $(jNode).parent()[0].style.backgroundColor = ''; $(jNode).find('yt-formatted-string.ytd-menu-navigation-item-renderer')[0].innerHTML = deftxt; } } function spinnercheckNew() { waitForKeyElements('paper-spinner-lite.ytd-item-section-renderer[aria-hidden="true"]', function(jNode) { if (getURLParameter('v', location.search) === null) { return; } console.log("[MetaBot for Youtube] Comment sorting spinner found."); var mutationObserver = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if ($(jNode).find("#spinnerContainer").hasClass("cooldown")) { setTimeout(recheckallNew, 2000); } else { $('div#main.style-scope.ytd-comment-renderer').each(function() { var cNode = $(this).find(".published-time-text")[0]; deleteitemNew(this, $(cNode).find("a")[0].href); }); } }); }); mutationObserver.observe($(jNode)[0], { attributes: true, attributeFilter: ['active'], characterData: false, childList: false, subtree: true, attributeOldValue: false, characterDataOldValue: false }); }, false); waitForKeyElements('div#continuations.ytd-item-section-renderer', function(jNode) { if (getURLParameter('v', location.search) === null) { return; } console.log("[MetaBot for Youtube] Comment loading spinner found."); var mutationObserver = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (!$(jNode).find("#spinnerContainer").hasClass("cooldown")) { setTimeout(recheckallNew, 2000); } }); }); mutationObserver.observe($(jNode)[0], { attributes: true, attributeFilter: ['active'], characterData: false, childList: false, subtree: true, attributeOldValue: false, characterDataOldValue: false }); }, false); waitForKeyElements('paper-spinner#spinner.yt-next-continuation[active]', function(jNode) { if (getURLParameter('v', location.search) === null) { return; } console.log("[MetaBot for Youtube] Comment replies loading spinner found."); var mutationObserver = new MutationObserver(function(mutations) { if (mutations[0].removedNodes) { mutationObserver.disconnect(); setTimeout(recheckallNew, 2000); } }); mutationObserver.observe($(jNode)[0].parentNode, { attributes: true, characterData: false, childList: false, subtree: false, attributeOldValue: false, characterDataOldValue: false }); }, false); } function recheckallNew(){ $('div#main.style-scope.ytd-comment-renderer').each(function() { recheckNew(this); }); } function insertchan(jNode) { var noticespan = document.createElement('div'); var chanURL = $(jNode).find('a.spf-link.branded-page-header-title-link.yt-uix-sessionlink')[0].href; var userID = chanURL.split('/').pop(); var foundID = arrayERKY.indexOf(userID); if (foundID > -1) { noticespan.innerHTML = '<img src="' + mred + '" /> Пользователь найден в ЕРКЮ, дата регистрации: <a href="' + chanURL + '/about" title="Открыть страницу с датой регистрации">' + arrayERKY[foundID + 1] + "</a>"; noticespan.style = 'background:rgba(255,50,50,0.3);border-radius:5px;padding:4px 7px 4px 7px'; } else { noticespan.innerHTML = 'Пользователь не найден в ЕРКЮ <a href="' + chanURL + '/about"><img src="' + minf + '" title="Открыть страницу с датой регистрации" /></a>'; noticespan.style = 'background:rgba(100,100,100,0.2);border-radius:5px;padding:4px 7px 4px 7px'; } noticespan.id = 'erkynotice'; $(jNode).find('h1.branded-page-header-title').append(noticespan); } function insertchanNew(jNode) { this.addEventListener('yt-navigate-finish', function insertchanNewR() { this.removeEventListener('yt-navigate-finish', insertchanNewR); setTimeout(insertchanNew, 300, jNode); }); var chanURL = window.location.protocol + '//' + window.location.hostname + window.location.pathname.replace(/\/featured|\/videos|\/playlists|\/channels|\/discussion|\/about/i, ''); if (chanURL.slice(-1) == '/') { chanURL = chanURL.slice(0, -1); } var reuse = false; var userID = chanURL.split('/').pop(); if ($(jNode).find('span#subscriber-count.ytd-c4-tabbed-header-renderer')[0]) { var noticespan = $(jNode).find('span#subscriber-count.ytd-c4-tabbed-header-renderer')[0]; reuse = true; } else { var noticespan = document.createElement('span'); noticespan.id = 'subscriber-count'; noticespan.classList.add("ytd-c4-tabbed-header-renderer"); } var foundID = arrayERKY.indexOf(userID); if (foundID > -1) { noticespan.innerHTML = '<img src="' + mred + '" /> Пользователь найден в ЕРКЮ, дата регистрации: <a href="' + chanURL + '/about" style="color:hsl(206.1, 79.3%, 52.7%);text-decoration:none" title="Открыть страницу с датой регистрации">' + arrayERKY[foundID + 1] + "</a>"; noticespan.style = 'background:rgba(255,50,50,0.3);border-radius:5px;padding:4px 7px 4px 7px;font-weight:400;line-height:3rem;text-transform:none;color:var(--yt-lightsource-primary-title-color)'; } else { noticespan.innerHTML = 'Пользователь не найден в ЕРКЮ <a href="' + chanURL + '/about"><img src="' + minf + '" title="Открыть страницу с датой регистрации" /></a>'; noticespan.style = 'background:rgba(100,100,100,0.2);border-radius:5px;padding:4px 7px 4px 7px;font-weight:400;line-height:3rem;text-transform:none;color:var(--yt-lightsource-primary-title-color)'; } if (!reuse) { $(jNode).find('ytd-channel-name#channel-name.ytd-c4-tabbed-header-renderer').after(noticespan); $(jNode).find('span#subscriber-count.ytd-c4-tabbed-header-renderer').after('<br>'); } } function insertdm(jNode) { var videoid = getURLParameter('v', location.search); var pNode = $(jNode)[0]; var newspan = document.createElement('span'); newspan.innerHTML = '<a id="dmAdd" title="Добавить видео на анализатор Дизлайкметр" href="https://dislikemeter.com/?v=' + videoid + '"><img src="' + imgdma + '" /></a><span style="padding:0 1em 0 0"></span><a style="padding:0 0 0 1px" id="dmGo" title="Открыть статистику видео на анализаторе Дизлайкметр" href="https://dislikemeter.com/video/' + videoid + '" ><img src="' + imgdm + '" /></a>'; newspan.id = 'dmPanel'; $(pNode).css('text-align', 'right'); pNode.insertBefore(newspan, pNode.firstChild); $(pNode).find("#dmPanel")[0].addEventListener("click", function dmClick() { this.removeEventListener("click", dmClick); var newspan = document.createElement('span'); newspan.innerHTML = '<a target="_blank" title="Помочь проекту Дизлайкметр" href="https://dislikemeter.com/?donate"><img src="' + imgdmd + '" /></a><span style="padding:0 1em 0 0"></span>'; $(pNode).find("#dmPanel")[0].insertBefore(newspan, $(pNode).find("#dmPanel")[0].firstChild); }, false); $(pNode).find("#dmPanel")[0].addEventListener("mouseover", function dmOver() { this.removeEventListener("mouseover", dmOver); $(this).find("#dmAdd")[0].target = "_blank"; $(this).find("#dmGo")[0].target = "_blank"; }, false); } function preparedmNew(jNode) { this.addEventListener('yt-navigate-finish', function preparedmNewR() { this.removeEventListener('yt-navigate-finish', preparedmNewR); setTimeout(preparedmNew, 300, jNode); }); var videoid = getURLParameter('v', location.search); if (!videoid) { console.log("[MetaBot for Youtube] Dislikemeter: video id not found."); return; } var pNode = $(jNode).parent().parent().parent().find('div#flex')[0]; if (typeof pNode === 'undefined') { console.log("[MetaBot for Youtube] Dislikemeter: node not found."); return; } pNode.innerHTML = ''; if (GM_config.get('option3')) { var btnText = $(pNode).parent().find('ytd-button-renderer.ytd-menu-renderer')[0]; if ($(btnText).find('yt-formatted-string#text').length > 0) { $(btnText).find('yt-formatted-string#text').html(''); } if (!$(pNode).parent().find('ytd-sentiment-bar-renderer#sentiment').is(":visible")) { btnText = $(pNode).parent().find('ytd-toggle-button-renderer.ytd-menu-renderer.force-icon-button')[0]; $(btnText).find('yt-formatted-string#text').html(''); btnText = $(pNode).parent().find('ytd-toggle-button-renderer.ytd-menu-renderer.force-icon-button')[1]; $(btnText).find('yt-formatted-string#text').html(''); } } console.log("[MetaBot for Youtube] Dislikemeter: requesting data for video id " + videoid); getlist(insertdmNew, pNode, 'https://dislikemeter.com/iframe/?vid=' + videoid); } function insertdmNew(jNode, response, code, url) { if (response.indexOf('"submit"') >= 0){ console.log("[MetaBot for Youtube] Dislikemeter: video already added."); var dmurl = url.replace('iframe/?vid=', 'video/'); var dmtxt = 'Открыть статистику видео на анализаторе Дизлайкметр'; var dmclr = 'var(--yt-spec-call-to-action)'; } else { console.log("[MetaBot for Youtube] Dislikemeter: video not added yet."); var dmurl = url.replace('iframe/?vid=', '?v='); var dmtxt = 'Добавить видео на анализатор Дизлайкметр'; var dmclr = 'var(--yt-spec-icon-inactive)'; } jNode.style.textAlign = "right"; var dmbutton = document.createElement('ytd-button-renderer'); dmbutton.id = 'dmbutton'; dmbutton.setAttribute('button-renderer', ''); dmbutton.setAttribute('is-icon-button', ''); dmbutton.classList.add("style-scope"); dmbutton.classList.add("ytd-menu-renderer"); dmbutton.classList.add("force-icon-button"); dmbutton.classList.add("style-default"); dmbutton.classList.add("size-default"); dmbutton.style.marginTop = "3px"; dmbutton.style.marginRight = "4px"; $(jNode).prepend(dmbutton); $(jNode).find('ytd-button-renderer#dmbutton').html('<a class="yt-simple-endpoint style-scope ytd-button-renderer"><yt-icon-button id="button" class="style-scope ytd-button-renderer style-default size-default" style="padding:8px;width:36px;height:36px;color:rgb(255,200,0)" onclick="window.open(\'' + dmurl + '\', \'_blank\');"><svg viewBox="0 0 20 20" preserveAspectRatio="xMidYMid meet" focusable="false" class="style-scope yt-icon" style="pointer-events: none; display: block; width: 100%; height: 100%; fill:' + dmclr + '"><g class="style-scope yt-icon"><path d="m0 2c0 5.5 8 5.5 8 0 0-1-2-1-2 0 0 3-4 3-4 0 0-1-2-1-2 0m12 0c0 5.5 8 5.5 8 0 0-1-2-1-2 0 0 3-4 3-4 0 0-1-2-1-2 0m-12 16q2-6.5 10-6.5v2q-6 0-8 4.5c0 0.5-2 0.7-2 0m6 2v-3l4-1v4m1 0v-8h4v8m1 0v-11l4-1v12" class="style-scope yt-icon"></path></g></svg></yt-icon-button><paper-tooltip>' + dmtxt + '</paper-tooltip></a>'); } function insertann(jNode) { $(jNode).find('h2.comment-section-header-renderer')[0].style = 'padding-bottom:10;display:inline-flex;align-items:center;line-height:2rem'; var cfgspan = document.createElement('span'); cfgspan.innerHTML = '<span style="opacity:0.4">[</span><span style="font-family: Segoe UI Symbol; color: #848484">\uD83D\uDD27</span><span style="opacity:0.4">]</span>'; cfgspan.id = 'cfgbtn'; cfgspan.title = 'Настройки MetaBot for YouTube'; cfgspan.style = 'margin:-4px 0 0 0.5em;font-size:2.3em;height:2rem;cursor:pointer;color:#000'; $(jNode).find('h2.comment-section-header-renderer').append(cfgspan); var annspan = document.createElement('span'); annspan.innerHTML = '<span style="display:inline-flex;align-items:center"><span style="opacity:0.4">[</span><span style="font-family: Segoe UI Symbol; color: #af1611">\uD83D\uDCE3</span><span style="color:#555;font-size:0.5em;font-weight:420;margin:-1.8em 0.2em 0 0.2em;height:0.3em;text-transform:none">' + Aparse(annYTOtxt[1]) + '</span><span style="opacity:0.4">]</span></span>'; annspan.id = 'annbtn'; annspan.title = 'Последняя информация от Наблюдателя YouTube (#ЕРКЮ)'; annspan.style = 'margin:-4px 0 0 0.5em;font-size:2.3em;height:2rem;cursor:pointer;color:#000'; $(jNode).find('h2.comment-section-header-renderer').append(annspan); var ytoinfosspan = document.createElement('span'); ytoinfosspan.innerHTML = '<span style="float:left;width:40px"><img src="' + imgyto + '" width="40px" height="40px" /></span><span style="float:right;margin: 0 0 0 10px;width:520px"><span id="urlyto" style="font-weight:500;cursor:pointer" data-url="https://www.youtube.com/channel/UCwBID52XA-aajCKYuwsQxWA">Наблюдатель Youtube #ЕРКЮ</span><br><span class="yt-badge" style="margin:4px 0 4px 0;text-align:center;text-transform:none;font-weight:500;width:100%;background-color:hsla(0, 0%, 93.3%, .6)">' + Aparse(annYTOtxt[1]) + '</span><span id="annholder"></span></span>'; ytoinfosspan.id = 'ytoinfo'; ytoinfosspan.style = 'max-width:605px;margin:0 auto 1em auto;display:table'; $(ytoinfosspan).toggle(); $(jNode).find('h2.comment-section-header-renderer').after(ytoinfosspan); $(jNode).find("span#ytoinfo").toggle(); var settingsspan = document.createElement('span'); settingsspan.innerHTML = '<span style="float:left;width:100px"><img src="https://raw.githubusercontent.com/asrdri/yt-metabot-user-js/master/logo.png" width="100px" height="100px" /></span><span style="float:right;margin: 0 0 0 10px;width:460px"><span style="font-weight:500">' + GM_info.script.name + ' v' + GM_info.script.version + '</span>\u2003<span id="urlgithub" style="cursor:pointer" data-url="https://github.com/asrdri/yt-metabot-user-js/">GitHub</span>\u2003<span id="urlissues" style="cursor:pointer" data-url="https://github.com/asrdri/yt-metabot-user-js/issues">Предложения и баги</span>\u2003<span id="urllists" style="cursor:pointer" data-url="https://github.com/asrdri/yt-metabot-user-js/issues/23">Списки</span><span class="yt-badge" style="margin:4px 0 4px 0;text-align:center;text-transform:none;font-weight:500;width:100%;background-color:hsla(0, 0%, 93.3%, .6)">Настройки</span>Комментарии от известных ботов из ЕРКЮ <select id="mbcddm1"><option value="1">помечать</option><option value="2">скрывать</option></select><span id="mbcswg1"><br style="line-height:2em"><label title="Информация о наличии ботов под роликом будет отправлена на кремлеботы.рф"><input type="checkbox" id="mbcbox4">Уведомлять сервер при обнаружении ботов</label><br style="line-height:2em"><label title="Пункт 5.1.H Условий использования YouTube не нарушается - запросы отправляются со значительным интервалом"><input type="checkbox" id="mbcbox1">Автоматически ставить <span style="font-family: Segoe UI Symbol">\uD83D\uDC4E</span> комментариям от ботов из ЕРКЮ</label></span><br style="line-height:2em"><label><input type="checkbox" id="mbcbox3">Дополнительные списки</label><span id="mbcswg2"><br style="line-height:2em">' + iconp1 + ' Закладки: <input type="color" id="colorpersonal" style="height: 1rem; width: 40px"><br style="line-height:1.8em"><textarea id="listpersonal" rows="3" style="width: 440px"></textarea><br style="line-height:1.2em">Сторонние списки:<br>' + iconc1 + descc1 + '<input type="text" id="listcustom1" style="height: 1rem; width: 385px"> <input type="color" id="colorcustom1" style="height: 1rem; width: 40px"><br>' + iconc2 + descc2 + '<input type="text" id="listcustom2" style="height: 1rem; width: 385px"> <input type="color" id="colorcustom2" style="height: 1rem; width: 40px"><br>' + iconc3 + descc3 + '<input type="text" id="listcustom3" style="height: 1rem; width: 385px"> <input type="color" id="colorcustom3" style="height: 1rem; width: 40px"></span><br style="line-height:2em"><span id="classicbtn" style="cursor:pointer">Включить новый дизайн YouTube</span><br><span id="resetbtn" style="cursor:pointer">Сбросить настройки</span><span id="configsaved" class="yt-badge" style="margin:4px 0 4px 0;text-align:center;text-transform:none;font-weight:500;width:100%;background-color:hsla(0, 0%, 93.3%, .6);display:none;-webkit-transition: background-color 0.3s ease-in-out;-moz-transition: background-color 0.3s ease-in-out;-ms-transition: background-color 0.3s ease-in-out;-o-transition: background-color 0.3s ease-in-out;transition: background-color 0.3s ease-in-out;">Настройки сохранены. Для вступления в силу необходимо <span style="cursor:pointer;text-decoration: underline" onclick="javascript:window.location.reload();">\uD83D\uDD03обновить страницу</span>.</span></span>'; settingsspan.id = 'config'; settingsspan.style = 'max-width:605px;margin:0 auto 1em auto;display:table'; $(settingsspan).toggle(); $(jNode).find('h2.comment-section-header-renderer').after(settingsspan); $(jNode).find("span#config").toggle(); var annexspan = document.createElement('span'); annexspan.innerHTML = Aparse(annYTOtxt[3]); $(jNode).find('span#annholder').append(annexspan); $(jNode).find("span#cfgbtn")[0].addEventListener("click", function() { $(jNode).find("span#config").toggle(); $(jNode).find("span#ytoinfo").hide(); }, false); $(jNode).find("span#annbtn")[0].addEventListener("click", function() { $(jNode).find("span#ytoinfo").toggle(); $(jNode).find("span#config").hide(); }, false); $(jNode).find("span#cfgbtn").hover(function() { this.style.backgroundColor = 'hsl(206.1, 79.3%, 52.7%)'; }, function() { this.style.backgroundColor = ''; }); $(jNode).find("span#annbtn").hover(function() { this.style.backgroundColor = 'hsl(206.1, 79.3%, 52.7%)'; }, function() { this.style.backgroundColor = ''; }); $(jNode).find("span#classicbtn, span#resetbtn").hover(function() { this.style.textDecoration = "underline"; }, function() { this.style.textDecoration = ""; }); $(jNode).find("span#urlgithub, span#urlissues, span#urllists, span#urlyto").hover(function() { this.style.textDecoration = "underline"; this.style.color = "hsl(206.1, 79.3%, 52.7%)"; }, function() { this.style.textDecoration = ""; this.style.color = ""; }); $(jNode).find("span#urlgithub, span#urlissues, span#urllists, span#urlyto").click(function() { window.open($(this).attr('data-url')); }); $(jNode).find("span#classicbtn").click(function() { ytNewDesign(); saveconfig(jNode); }); $(jNode).find("span#resetbtn").click(function() { resetconfig(jNode); saveconfig(jNode); }); $(jNode).find("select#mbcddm1").val(GM_config.get('option1')); $(jNode).find("input#mbcbox1").prop('checked', GM_config.get('option2')); $(jNode).find("input#mbcbox3").prop('checked', GM_config.get('option4')); $(jNode).find("input#mbcbox4").prop('checked', GM_config.get('option5')); $(jNode).find("textarea#listpersonal").text(GM_config.get('listp1')); $(jNode).find("input#listcustom1").val(GM_config.get('listc1')); $(jNode).find("input#listcustom2").val(GM_config.get('listc2')); $(jNode).find("input#listcustom3").val(GM_config.get('listc3')); $(jNode).find("input#colorpersonal").val(parseColor(GM_config.get('colorp1'), false)); $(jNode).find("input#colorcustom1").val(parseColor(GM_config.get('colorc1'), false)); $(jNode).find("input#colorcustom2").val(parseColor(GM_config.get('colorc2'), false)); $(jNode).find("input#colorcustom3").val(parseColor(GM_config.get('colorc3'), false)); if ($(jNode).find("select#mbcddm1").val() == 2) { $(jNode).find("span#mbcswg1").hide(); } if ($(jNode).find("input#mbcbox3").prop('checked') == false) { $(jNode).find("span#mbcswg2").hide(); } $(jNode).find("input#mbcbox1, input#mbcbox3, input#mbcbox4, select#mbcddm1, textarea#listpersonal, input#listcustom1, input#listcustom2, input#listcustom3, input#colorpersonal, input#colorcustom1, input#colorcustom2, input#colorcustom3").change(function() { if ($(jNode).find("select#mbcddm1").val() == 2) { $(jNode).find("span#mbcswg1").hide(); } else { $(jNode).find("span#mbcswg1").show(); } if ($(jNode).find("input#mbcbox3").prop('checked') == false) { $(jNode).find("span#mbcswg2").hide(); } else { $(jNode).find("span#mbcswg2").show(); } saveconfig(jNode); }); } function insertannNew(jNode) { waitForKeyElements('div#icon-label.yt-dropdown-menu', function(jNode) { jNode[0].innerHTML = ''; $(jNode).parent()[0].setAttribute("style","margin-top:-0.1em;height:1.9em;width:2.9em"); $(jNode).parent().hover(function() { this.style.backgroundColor = 'hsl(206.1, 79.3%, 52.7%)'; }, function() { this.style.backgroundColor = ''; }); }, false); var cfgspan = document.createElement('span'); cfgspan.innerHTML = '<span style="opacity:0.4">[</span><span style="font-family: Segoe UI Symbol; color: #848484">\uD83D\uDD27</span><span style="opacity:0.4">]</span>'; cfgspan.id = 'cfgbtn'; cfgspan.title = 'Настройки MetaBot for YouTube'; cfgspan.style = 'margin:-6px 0 0 0.5em;font-size:3em;height:1.05em;display:inline-flex;align-items:center;cursor:pointer'; cfgspan.classList.add("content"); cfgspan.classList.add("ytd-video-secondary-info-renderer"); $(jNode).find('div#title').append(cfgspan); var annspan = document.createElement('span'); annspan.innerHTML = '<span style="opacity:0.4">[</span><span style="font-family: Segoe UI Symbol; color: #af1611">\uD83D\uDCE3</span><span style="font-size:0.5em;font-weight:420;margin:0 0.2em 0 0.2em">' + Aparse(annYTOtxt[1]) + '</span><span style="opacity:0.4">]</span>'; annspan.id = 'annbtn'; annspan.title = 'Последняя информация от Наблюдателя YouTube (#ЕРКЮ)'; annspan.style = 'margin:-6px 0 0 0.5em;font-size:3em;height:1.05em;display:inline-flex;align-items:center;cursor:pointer'; annspan.classList.add("content"); annspan.classList.add("ytd-video-secondary-info-renderer"); $(jNode).find('div#title').append(annspan); var ytoinfosspan = document.createElement('span'); ytoinfosspan.innerHTML = '<span style="float:left;width:40px"><img src="' + imgyto + '" width="40px" height="40px" /></span><span style="float:right;margin: 0 0 0 10px;width:585px"><span id="urlyto" style="font-weight:500;cursor:pointer" data-url="https://www.youtube.com/channel/UCwBID52XA-aajCKYuwsQxWA">Наблюдатель Youtube #ЕРКЮ</span><span class="badge badge-style-type-simple ytd-badge-supported-renderer" style="margin:4px 0 4px 0;text-align:center">' + Aparse(annYTOtxt[1]) + '</span><span id="annholder"></span></span>'; ytoinfosspan.id = 'ytoinfo'; ytoinfosspan.classList.add("description"); ytoinfosspan.classList.add("content"); ytoinfosspan.classList.add("ytd-video-secondary-info-renderer"); ytoinfosspan.style = 'font-size:1.4rem;max-width:640px;margin:-10px auto 1em auto;display:none'; $(jNode).find('div#title').after(ytoinfosspan); var settingsspan = document.createElement('span'); settingsspan.innerHTML = '<span style="float:left;width:100px"><img src="https://raw.githubusercontent.com/asrdri/yt-metabot-user-js/master/logo.png" width="100px" height="100px" /></span><span style="float:right;margin: 0 0 0 10px;width:525px"><span style="font-weight:500">' + GM_info.script.name + ' v' + GM_info.script.version + '</span>\u2003<span id="urlgithub" style="cursor:pointer" data-url="https://github.com/asrdri/yt-metabot-user-js/">GitHub</span>\u2003<span id="urlissues" style="cursor:pointer" data-url="https://github.com/asrdri/yt-metabot-user-js/issues">Предложения и баги</span>\u2003<span id="urllists" style="cursor:pointer" data-url="https://github.com/asrdri/yt-metabot-user-js/issues/23">Списки</span><span class="badge badge-style-type-simple ytd-badge-supported-renderer" style="margin:4px 0 4px 0;text-align:center">Настройки</span>Комментарии от известных ботов из ЕРКЮ <select id="mbcddm1"><option value="1">помечать</option><option value="2">скрывать</option></select><span id="mbcswg1"><br style="line-height:2em"><label title="Информация о наличии ботов под роликом будет отправлена на кремлеботы.рф"><input type="checkbox" id="mbcbox4">Уведомлять сервер при обнаружении ботов</label><br style="line-height:2em"><label title="Пункт 5.1.H Условий использования YouTube не нарушается - запросы отправляются со значительным интервалом"><input type="checkbox" id="mbcbox1">Автоматически ставить <span style="font-family: Segoe UI Symbol">\uD83D\uDC4E</span> комментариям от ботов из ЕРКЮ</label></span><br style="line-height:2em"><label title="Актуально для русского интерфейса и небольшой ширины окна браузера"><input type="checkbox" id="mbcbox2">Скрывать длинные подписи кнопок Мне (не) понравилось / Поделиться</label><br style="line-height:2em"><label><input type="checkbox" id="mbcbox3">Дополнительные списки</label><span id="mbcswg2"><br style="line-height:2em">' + iconp1 + ' Закладки: <input type="color" id="colorpersonal" style="height: 1.8rem; width: 40px"><br style="line-height:1.8em"><textarea id="listpersonal" rows="3" style="width: 500px"></textarea><br style="line-height:1.2em">Сторонние списки:<br>' + iconc1 + descc1 + '<input type="text" id="listcustom1" style="height: 1.7rem; width: 440px"> <input type="color" id="colorcustom1" style="height: 1.8rem; width: 40px"><br>' + iconc2 + descc2 + '<input type="text" id="listcustom2" style="height: 1.7rem; width: 440px"> <input type="color" id="colorcustom2" style="height: 1.8rem; width: 40px"><br>' + iconc3 + descc3 + '<input type="text" id="listcustom3" style="height: 1.7rem; width: 440px"> <input type="color" id="colorcustom3" style="height: 1.8rem; width: 40px"></span><br style="line-height:2em"><span id="classicbtn" style="cursor:pointer">Включить классический дизайн YouTube</span><br><span id="resetbtn" style="cursor:pointer">Сбросить настройки</span><span id="configsaved" class="badge badge-style-type-simple ytd-badge-supported-renderer" style="margin:4px 0 4px 0;text-align:center;display:none;-webkit-transition: background-color 0.3s ease-in-out;-moz-transition: background-color 0.3s ease-in-out;-ms-transition: background-color 0.3s ease-in-out;-o-transition: background-color 0.3s ease-in-out;transition: background-color 0.3s ease-in-out;">Настройки сохранены. Для вступления в силу необходимо <span style="cursor:pointer;text-decoration: underline" onclick="javascript:window.location.reload();"><span style="font-family: Segoe UI Symbol">\uD83D\uDD03</span>обновить страницу</span>.</span></span>'; settingsspan.id = 'config'; settingsspan.classList.add("description"); settingsspan.classList.add("content"); settingsspan.classList.add("ytd-video-secondary-info-renderer"); settingsspan.style = 'font-size:1.4rem;max-width:635px;margin:-10px auto 1em auto;display:none'; $(jNode).find('div#title').after(settingsspan); var annexspan = document.createElement('span'); annexspan.innerHTML = Aparse(annYTOtxt[3]); annexspan.classList.add("content"); annexspan.classList.add("ytd-video-secondary-info-renderer"); $(jNode).find('span#annholder').append(annexspan); $(jNode).find("span#cfgbtn")[0].addEventListener("click", function() { $(jNode).find("span#config").toggle(); $(jNode).find("span#ytoinfo").hide(); }, false); $(jNode).find("span#annbtn")[0].addEventListener("click", function() { $(jNode).find("span#ytoinfo").toggle(); $(jNode).find("span#config").hide(); }, false); $(jNode).find("span#cfgbtn").hover(function() { this.style.backgroundColor = 'hsl(206.1, 79.3%, 52.7%)'; }, function() { this.style.backgroundColor = ''; }); $(jNode).find("span#annbtn").hover(function() { this.style.backgroundColor = 'hsl(206.1, 79.3%, 52.7%)'; }, function() { this.style.backgroundColor = ''; }); $(jNode).find("span#classicbtn, span#resetbtn").hover(function() { this.style.textDecoration = "underline"; }, function() { this.style.textDecoration = ""; }); $(jNode).find("span#urlgithub, span#urlissues, span#urllists, span#urlyto").hover(function() { this.style.textDecoration = "underline"; this.style.color = "hsl(206.1, 79.3%, 52.7%)"; }, function() { this.style.textDecoration = ""; this.style.color = ""; }); $(jNode).find("span#urlgithub, span#urlissues, span#urllists, span#urlyto").click(function() { window.open($(this).attr('data-url')); }); $(jNode).find("span#classicbtn").click(function() { ytOldDesign(); saveconfigNew(jNode); }); $(jNode).find("span#resetbtn").click(function() { resetconfigNew(jNode); saveconfigNew(jNode); }); $(jNode).find("select#mbcddm1").val(GM_config.get('option1')); $(jNode).find("input#mbcbox1").prop('checked', GM_config.get('option2')); $(jNode).find("input#mbcbox2").prop('checked', GM_config.get('option3')); $(jNode).find("input#mbcbox3").prop('checked', GM_config.get('option4')); $(jNode).find("input#mbcbox4").prop('checked', GM_config.get('option5')); $(jNode).find("textarea#listpersonal").text(GM_config.get('listp1')); $(jNode).find("input#listcustom1").val(GM_config.get('listc1')); $(jNode).find("input#listcustom2").val(GM_config.get('listc2')); $(jNode).find("input#listcustom3").val(GM_config.get('listc3')); $(jNode).find("input#colorpersonal").val(parseColor(GM_config.get('colorp1'), false)); $(jNode).find("input#colorcustom1").val(parseColor(GM_config.get('colorc1'), false)); $(jNode).find("input#colorcustom2").val(parseColor(GM_config.get('colorc2'), false)); $(jNode).find("input#colorcustom3").val(parseColor(GM_config.get('colorc3'), false)); if ($(jNode).find("select#mbcddm1").val() == 2) { $(jNode).find("span#mbcswg1").hide(); } if ($(jNode).find("input#mbcbox3").prop('checked') == false) { $(jNode).find("span#mbcswg2").hide(); } $(jNode).find("input#mbcbox1, input#mbcbox2, input#mbcbox3, input#mbcbox4, select#mbcddm1, textarea#listpersonal, input#listcustom1, input#listcustom2, input#listcustom3, input#colorpersonal, input#colorcustom1, input#colorcustom2, input#colorcustom3").change(function() { if ($(jNode).find("select#mbcddm1").val() == 2) { $(jNode).find("span#mbcswg1").hide(); } else { $(jNode).find("span#mbcswg1").show(); } if ($(jNode).find("input#mbcbox3").prop('checked') == false) { $(jNode).find("span#mbcswg2").hide(); } else { $(jNode).find("span#mbcswg2").show(); } saveconfigNew(jNode); }); } function saveconfig(jNode) { GM_config.set('option1', $(jNode).find("select#mbcddm1").val()); GM_config.set('option2', $(jNode).find("input#mbcbox1").is(":checked")); GM_config.set('option4', $(jNode).find("input#mbcbox3").is(":checked")); GM_config.set('option5', $(jNode).find("input#mbcbox4").is(":checked")); GM_config.set('listp1', $(jNode).find("textarea#listpersonal").val()); GM_config.set('listc1', $(jNode).find("input#listcustom1").val()); GM_config.set('listc2', $(jNode).find("input#listcustom2").val()); GM_config.set('listc3', $(jNode).find("input#listcustom3").val()); GM_config.set('colorp1', parseColor($(jNode).find("input#colorpersonal").val(), true)); GM_config.set('colorc1', parseColor($(jNode).find("input#colorcustom1").val(), true)); GM_config.set('colorc2', parseColor($(jNode).find("input#colorcustom2").val(), true)); GM_config.set('colorc3', parseColor($(jNode).find("input#colorcustom3").val(), true)); arrayListP1 = GM_config.get('listp1').match(/[^\r\n=]+/g); GM_config.save(); $(jNode).find("span#configsaved").show(); $(jNode).find("span#configsaved")[0].style.backgroundColor = 'rgba(40,150,230,1)'; setTimeout(function(){$(jNode).find("span#configsaved")[0].style.backgroundColor = 'rgba(40,150,230,0)';}, 400); } function saveconfigNew(jNode) { GM_config.set('option1', $(jNode).find("select#mbcddm1").val()); GM_config.set('option2', $(jNode).find("input#mbcbox1").is(":checked")); GM_config.set('option3', $(jNode).find("input#mbcbox2").is(":checked")); GM_config.set('option4', $(jNode).find("input#mbcbox3").is(":checked")); GM_config.set('option5', $(jNode).find("input#mbcbox4").is(":checked")); GM_config.set('listp1', $(jNode).find("textarea#listpersonal").val()); GM_config.set('listc1', $(jNode).find("input#listcustom1").val()); GM_config.set('listc2', $(jNode).find("input#listcustom2").val()); GM_config.set('listc3', $(jNode).find("input#listcustom3").val()); GM_config.set('colorp1', parseColor($(jNode).find("input#colorpersonal").val(), true)); GM_config.set('colorc1', parseColor($(jNode).find("input#colorcustom1").val(), true)); GM_config.set('colorc2', parseColor($(jNode).find("input#colorcustom2").val(), true)); GM_config.set('colorc3', parseColor($(jNode).find("input#colorcustom3").val(), true)); arrayListP1 = GM_config.get('listp1').match(/[^\r\n=]+/g); GM_config.save(); $(jNode).find("span#configsaved").show(); $(jNode).find("span#configsaved")[0].style.backgroundColor = 'rgba(40,150,230,1)'; setTimeout(function(){$(jNode).find("span#configsaved")[0].style.backgroundColor = 'rgba(40,150,230,0)';}, 400); } function resetconfig(jNode) { $(jNode).find("span#mbcswg1").show(); $(jNode).find("span#mbcswg2").show(); $(jNode).find("select#mbcddm1").val(1); $(jNode).find("input#mbcbox1").prop('checked', false); $(jNode).find("input#mbcbox2").prop('checked', true); $(jNode).find("input#mbcbox3").prop('checked', true); $(jNode).find("input#mbcbox4").prop('checked', false); $(jNode).find("input#listcustom1").val('https://github.com/asrdri/yt-metabot-user-js/raw/master/list-sample.txt'); $(jNode).find("input#listcustom2").val(''); $(jNode).find("input#listcustom3").val(''); $(jNode).find("input#colorpersonal").val(parseColor(33023, false)); $(jNode).find("input#colorcustom1").val(parseColor(8388863, false)); $(jNode).find("input#colorcustom2").val(parseColor(16744448, false)); $(jNode).find("input#colorcustom3").val(parseColor(8421504, false)); } function resetconfigNew(jNode) { $(jNode).find("span#mbcswg1").show(); $(jNode).find("span#mbcswg2").show(); $(jNode).find("select#mbcddm1").val(1); $(jNode).find("input#mbcbox1").prop('checked', false); $(jNode).find("input#mbcbox2").prop('checked', true); $(jNode).find("input#mbcbox3").prop('checked', true); $(jNode).find("input#mbcbox4").prop('checked', false); $(jNode).find("input#listcustom1").val('https://github.com/asrdri/yt-metabot-user-js/raw/master/list-sample.txt'); $(jNode).find("input#listcustom2").val(''); $(jNode).find("input#listcustom3").val(''); $(jNode).find("input#colorpersonal").val(parseColor(33023, false)); $(jNode).find("input#colorcustom1").val(parseColor(8388863, false)); $(jNode).find("input#colorcustom2").val(parseColor(16744448, false)); $(jNode).find("input#colorcustom3").val(parseColor(8421504, false)); } function sendAlert(jNode) { if (alertSent || GM_config.get('option5') === false) return; if (ytmode === 1) { var commentURL = $(jNode).find('.published-time-text a').prop('href'); } else { var commentURL = $(jNode).find('.comment-renderer-time a').prop('href'); } var commendid = getURLParameter('lc', commentURL); var videoid = getURLParameter('v', commentURL); var data = $.param({v: videoid, lc: commendid}); var request = new XMLHttpRequest(); request.open("POST", alerturl, true); request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); request.send(data); alertSent = true; this.addEventListener('yt-navigate-start', function clearAlertSentFlag() { this.removeEventListener('yt-navigate-start', clearAlertSentFlag); alertSent = false; }); } function parseitem(jNode) { if (GM_config.get('option4') === true) { var spanlistpadd = txtlistpadd; } else { var spanlistpadd = ''; } var pNode = $(jNode).parent().parent()[0]; $(pNode).hover(function blockShow() { $(pNode).find("#t30sp").show(); }, function blockHide() { $(pNode).find("#t30sp").hide(); }); pNode = jNode[0]; var userID = $(jNode).find("a")[0].href.split('/').pop(); var foundID = arrayERKY.indexOf(userID); var foundIDp1 = -1; var foundIDc1 = -1; var foundIDc2 = -1; var foundIDc3 = -1; if (GM_config.get('option4') === true) { if (arrayListP1 !== null) { foundIDp1 = arrayListP1.indexOf(userID); } if (typeof arrayListC1 !== 'undefined' && arrayListC1.length > 1) { foundIDc1 = arrayListC1.indexOf(userID); } if (typeof arrayListC2 !== 'undefined' && arrayListC2.length > 1) { foundIDc2 = arrayListC2.indexOf(userID); } if (typeof arrayListC3 !== 'undefined' && arrayListC3.length > 1) { foundIDc3 = arrayListC3.indexOf(userID); } } var comURL = $(jNode).find("span.comment-renderer-time")[0]; if ($(jNode).find("span.comment-renderer-linked-comment").length > 0) { comURL = $(jNode).find("span.comment-renderer-linked-comment")[0]; } var t30span = document.createElement('span'); t30span.innerHTML = '\u2003<span id="about" style="cursor: pointer; font-family: Segoe UI Symbol; color: #767676" title="Открыть страницу с датой регистрации">\u2753</span>\u2003<span id="top30" style="cursor: pointer" title="Найти другие комментарии автора с помощью агрегатора ТОП30"><font color="#7777fa">top</font><font color="#fa7777">30</font></span>' + spanlistpadd; t30span.id = 't30sp'; t30span.style = "display:none"; if (foundID > -1) { sendAlert(jNode); console.log("[MetaBot for Youtube] user found in ERKY-db: " + userID); if (GM_config.get('option1') == 2) { foundIDp1 = -1; foundIDc1 = -1; foundIDc2 = -1; foundIDc3 = -1; var hidspan = document.createElement('span'); hidspan.innerHTML = 'Комментарий скрыт: пользователь найден в ЕРКЮ'; hidspan.classList.add('yt-badge'); hidspan.style = 'margin:0 0 10px 0;text-align:center;text-transform:none;font-weight:500;width:100%;background-color:hsla(0, 0%, 93.3%, .6)'; $(jNode).parent().parent().after(hidspan); $(jNode).parent().parent().hide(); } else { markred(pNode, arrayERKY[foundID + 1]); } $(comURL).after(t30span); } else { var newspan = document.createElement('span'); newspan.innerHTML = '<img id="checkbtn" src="' + checkb + '" title="Проверить дату регистрации" style="cursor: help" />'; newspan.id = 'checksp'; pNode.insertBefore(newspan, pNode.firstChild); t30span.innerHTML += '\u2003<span id="sendlink" style="cursor: pointer" title="Помогите пополнить список известных ботов - отправьте нам данные о подозрительном комментарии">\u27A4</span>'; $(comURL).after(t30span); $(jNode).find("img")[0].addEventListener("click", function checkcomment() { checkdate(pNode); }, false); $(jNode).find("#sendlink")[0].addEventListener("click", function displayinfo() { sendinfo(); }, false); } if (GM_config.get('option4') === true) { if (foundIDc1 > -1) { markcustom(pNode, arrayListC1[foundIDc1 + 1], 1); } if (foundIDc2 > -1) { markcustom(pNode, arrayListC2[foundIDc2 + 1], 2); } if (foundIDc3 > -1) { markcustom(pNode, arrayListC3[foundIDc3 + 1], 3); } if (foundIDp1 > -1) { if ($(jNode).find("#checkbtn").length > 0) { $(jNode).find("#checkbtn")[0].remove(); } markpersonal(pNode, arrayListP1[foundIDp1 + 1]); } $(jNode).find("#listpadd")[0].addEventListener("click", function addtolistNew() { if ($(pNode).find("span#bookmark").length > 0) { listpdel(pNode); $(jNode).find("#listpadd").html(iconsdef[0]); $(jNode).find("#listpadd")[0].title = 'Добавить в закладки'; } else { if ($(jNode).find("#checkbtn").length > 0) { $(jNode).find("#checkbtn")[0].remove(); } $(jNode).find("#listpadd").html('\u23F3'); getpage(listpadd, pNode, $(jNode).find("a")[0].href + '/about') } }, false); } $(jNode).find("#about")[0].addEventListener("click", function openabout() { window.open($(jNode).find("a")[0].href + '/about'); }, false); $(jNode).find("#top30")[0].addEventListener("click", function opent30() { window.open('https://www.t30p.ru/search.aspx?s=' + $(jNode).find("a")[0].href.split('/').pop()); }, false); } function parseitemMob(jNode) { var userID = $(jNode).find("a")[0].href.split('/').pop(); var foundID = arrayERKY.indexOf(userID); if (foundID > -1) { console.log("[MetaBot for Youtube] user found in ERKY-db: " + userID); markredMob(jNode, arrayERKY[foundID + 1]); } else { $(jNode)[0].addEventListener("touchstart", function () { $(this).data('moved', '0'); }, false); $(jNode)[0].addEventListener("touchmove", function () { $(this).data('moved', '1'); }, false); $(jNode)[0].addEventListener("touchend", function ttend() { if ($(this).data('moved') == 0){ if (['en', 'en-US', 'en-GB', 'ru', 'uk', 'be', 'bg'].indexOf(currentlangmob()) < 0) { alert('Функция поддерживается только на языках:\n \u2714 English\n \u2714 Русский\n \u2714 Українська\n \u2714 Беларуская \u2714 Български\nВы можете сменить язык интерфейса в меню настроек YouTube.'); return; } this.removeEventListener("touchend", ttend); checkdateMob(this); } }, false); } } function parseitemNew(jNode) { if (GM_config.get('option4') === true) { var spanlistpadd = txtlistpadd; } else { var spanlistpadd = ''; } var pNode = $(jNode).find("#header-author.ytd-comment-renderer")[0]; $(jNode).hover(function blockShow() { $(pNode).find("#t30sp").show(); }, function blockHide() { $(pNode).find("#t30sp").hide(); }); var userID = $(jNode).find("a")[0].href.split('/').pop(); var foundID = arrayERKY.indexOf(userID); var foundIDp1 = -1; var foundIDc1 = -1; var foundIDc2 = -1; var foundIDc3 = -1; if (GM_config.get('option4') === true) { if (arrayListP1 !== null) { foundIDp1 = arrayListP1.indexOf(userID); } if (typeof arrayListC1 !== 'undefined' && arrayListC1.length > 1) { foundIDc1 = arrayListC1.indexOf(userID); } if (typeof arrayListC2 !== 'undefined' && arrayListC2.length > 1) { foundIDc2 = arrayListC2.indexOf(userID); } if (typeof arrayListC3 !== 'undefined' && arrayListC3.length > 1) { foundIDc3 = arrayListC3.indexOf(userID); } } var comURL = $(jNode).find(".published-time-text")[0]; var t30span = document.createElement('span'); t30span.innerHTML = '\u2003<span id="about" style="cursor: pointer; ' + iconstyledef + '" title="Открыть страницу с датой регистрации">\u2753</span>\u2003<span id="top30" style="cursor: pointer" title="Найти другие комментарии автора с помощью агрегатора ТОП30"><font color="#7777fa">top</font><font color="#fa7777">30</font></span>' + spanlistpadd; t30span.id = 't30sp'; t30span.style = "display:none"; var newspan = document.createElement('span'); newspan.id = 'checksp'; if (foundID > -1) { sendAlert(jNode); console.log("[MetaBot for Youtube] user found in ERKY-db: " + userID); if (GM_config.get('option1') == 2) { foundIDp1 = -1; foundIDc1 = -1; foundIDc2 = -1; foundIDc3 = -1; var hidspan = document.createElement('span'); hidspan.innerHTML = 'Комментарий скрыт: пользователь найден в ЕРКЮ'; hidspan.classList.add('badge'); hidspan.classList.add('badge-style-type-simple'); hidspan.classList.add('ytd-badge-supported-renderer'); hidspan.style = 'margin: 0 0 10px 0;text-align:center'; $(jNode).parent().parent().after(hidspan); $(jNode).parent().parent().hide(); } else { markredNew($(pNode).parent(), arrayERKY[foundID + 1]); } $(comURL).append(t30span); $(newspan).attr('data-chan', $(jNode).find("a#author-text")[0].href); pNode.insertBefore(newspan, pNode.firstChild); } else { newspan.innerHTML = '<img id="checkbtn" src="' + checkb + '" title="Проверить дату регистрации" style="cursor: help" />'; $(newspan).attr('data-chan', $(jNode).find("a#author-text")[0].href); pNode.insertBefore(newspan, pNode.firstChild); t30span.innerHTML += '\u2003<span id="sendlink" style="cursor: pointer" title="Помогите пополнить список известных ботов - отправьте нам данные о подозрительном комментарии">\u27A4</span>'; $(comURL).append(t30span); $(jNode).find("#checkbtn")[0].addEventListener("click", function checkcommentNew() { checkdateNew($(pNode).parent()); }, false); $(jNode).find("#sendlink")[0].addEventListener("click", function displayinfoNew() { sendinfo(); }, false); } if (GM_config.get('option4') === true) { if (foundIDc1 > -1) { markcustomNew($(pNode).parent(), arrayListC1[foundIDc1 + 1], 1); } if (foundIDc2 > -1) { markcustomNew($(pNode).parent(), arrayListC2[foundIDc2 + 1], 2); } if (foundIDc3 > -1) { markcustomNew($(pNode).parent(), arrayListC3[foundIDc3 + 1], 3); } if (foundIDp1 > -1) { if ($(jNode).find("#checkbtn").length > 0) { $(jNode).find("#checkbtn")[0].remove(); } markpersonalNew($(pNode).parent(), arrayListP1[foundIDp1 + 1]); } $(jNode).find("#listpadd")[0].addEventListener("click", function addtolistNew() { if ($(pNode).find("span#bookmark").length > 0) { listpdelNew(pNode); $(jNode).find("#listpadd").html(iconsdef[0]); $(jNode).find("#listpadd")[0].title = 'Добавить в закладки'; } else { if ($(jNode).find("#checkbtn").length > 0) { $(jNode).find("#checkbtn")[0].remove(); } $(jNode).find("#listpadd").html('\u23F3'); getpage(listpaddNew, pNode, $(jNode).find("a")[0].href + '/about') } }, false); } $(jNode).find("#about")[0].addEventListener("click", function openaboutNew() { window.open($(jNode).find("a")[0].href + '/about'); }, false); $(jNode).find("#top30")[0].addEventListener("click", function opent30New() { window.open('https://www.t30p.ru/search.aspx?s=' + $(jNode).find("a")[0].href.split('/').pop()); }, false); this.addEventListener('yt-navigate-start', function wipeitemNewS() { this.removeEventListener('yt-navigate-start', wipeitemNewS); deleteitemNew(jNode, $(comURL).find("a")[0].href); }); this.addEventListener('yt-navigate-finish', function wipeitemNewF() { this.removeEventListener('yt-navigate-finish', wipeitemNewF); deleteitemNew(jNode, $(comURL).find("a")[0].href); }); } function recheckNew(jNode) { var checkre = $(jNode).find("#checksp")[0]; if (typeof checkre !== 'undefined') { if ($(checkre).attr('data-chan') !== $(jNode).find("a#author-text")[0].href) { $(jNode).find("#checksp").remove(); $(jNode).find("#t30sp").remove(); $(jNode).find("#botmark").remove(); var cNode = $(jNode).parent().parent().find("#content-text"); $(cNode).parent().removeAttr('style'); $(cNode).removeAttr('style'); $(jNode).find("ytd-toggle-button-renderer.ytd-comment-action-buttons-renderer:eq(1)").removeAttr('style'); parseitemNew(jNode); } } } function deleteitemNew(jNode, url) { if (url.length > 74) { $(jNode).parent().parent().remove(); } else { $(jNode).parent().parent().parent().remove(); } } function sendinfo() { var answer = confirm('Будет запущен Telegram.' + '\n\nПрисоединитесь к группе, отправьте ссылку на подозрительный' + '\nкомментарий (можно скопировать из даты публикации) и обоснуйте подозрения.\n\nПерейти к группе?'); if (answer) { window.open(reporturl); } } function listpadd(jNode, response, url) { window.tempHTML = document.createElement('html'); tempHTML.innerHTML = response; window.aboutSTAT = tempHTML.getElementsByClassName('about-stat'); var day = Dparse(aboutSTAT[aboutSTAT.length - 1].innerHTML); $('textarea#listpersonal')[0].value += url.substring(0, url.length - 6).split('/').pop() + '=' + day + '\n'; var tempArray = $('textarea#listpersonal')[0].value.split('\n'); var uniqArray = tempArray.reduce(function(a,b){ if (a.indexOf(b) < 0) a.push(b); return a; },[]); $('textarea#listpersonal')[0].value = uniqArray.join('\n'); GM_config.set('listp1', uniqArray.join('\n')); GM_config.save(); arrayListP1 = GM_config.get('listp1').match(/[^\r\n=]+/g); $(jNode).find("#listpadd").html('\u274C'); $(jNode).find("#listpadd")[0].title = 'Удалить из закладок'; markpersonal(jNode, day); console.log("[MetaBot for Youtube] Bookmarks (personal list) updated."); } function listpaddNew(jNode, response, url) { var matches = regexdate.exec(response); var day = Dparse(matches[3]); $('textarea#listpersonal')[0].value += url.substring(0, url.length - 6).split('/').pop() + '=' + day + '\n'; var tempArray = $('textarea#listpersonal')[0].value.split('\n'); var uniqArray = tempArray.reduce(function(a,b){ if (a.indexOf(b) < 0) a.push(b); return a; },[]); $('textarea#listpersonal')[0].value = uniqArray.join('\n'); GM_config.set('listp1', uniqArray.join('\n')); GM_config.save(); arrayListP1 = GM_config.get('listp1').match(/[^\r\n=]+/g); $(jNode).find("#listpadd").html('\u274C'); $(jNode).find("#listpadd")[0].title = 'Удалить из закладок'; markpersonalNew($(jNode).parent(), day); console.log("[MetaBot for Youtube] Bookmarks (personal list) updated."); } function listpdel(jNode) { $(jNode).find("span#bookmark").remove(); var tempArray = $('textarea#listpersonal')[0].value.split('\n'); var itemDel = arrayListP1.indexOf($(jNode).find("a")[0].href.split('/').pop()); tempArray.splice(itemDel / 2,1); $('textarea#listpersonal')[0].value = tempArray.join('\n'); GM_config.set('listp1', tempArray.join('\n')); GM_config.save(); arrayListP1 = GM_config.get('listp1').match(/[^\r\n=]+/g); $(jNode).next().css({ "background-image": "none", "border-right": "", "padding-right": "" }); console.log("[MetaBot for Youtube] Bookmarks (personal list) updated."); } function listpdelNew(jNode) { $(jNode).find("span#bookmark").remove(); var tempArray = $('textarea#listpersonal')[0].value.split('\n'); var itemDel = arrayListP1.indexOf($(jNode).find("a")[0].href.split('/').pop()); tempArray.splice(itemDel / 2,1); $('textarea#listpersonal')[0].value = tempArray.join('\n'); GM_config.set('listp1', tempArray.join('\n')); GM_config.save(); arrayListP1 = GM_config.get('listp1').match(/[^\r\n=]+/g); $(jNode).parent().parent().find("#content-text").parent().css({ "background-image": "none", "border-right": "", "padding-right": "" }); console.log("[MetaBot for Youtube] Bookmarks (personal list) updated."); } function checkdate(jNode) { if (['en', 'en-US', 'en-GB', 'ru', 'uk', 'be', 'bg'].indexOf(currentlang()) < 0) { alert('Функция поддерживается только на языках:\n \u2714 English\n \u2714 Русский\n \u2714 Українська\n \u2714 Беларуская \u2714 Български\nВы можете сменить язык интерфейса в меню настроек YouTube.'); return; } $(jNode).find("img")[0].remove(); getpage(procdate, jNode, $(jNode).find("a")[0].href + '/about'); } function checkdateMob(jNode) { var channelURL = $(jNode).find("a")[0].href + '/about?ajax=1'; var request = new XMLHttpRequest(); request.onreadystatechange = function() { if (request.readyState === 4) { if (request.status === 200) { var response = request.responseText; if (response !== "") { console.log("[MetaBot for Youtube] XMLHttpRequest done."); var matches = regexdatemob.exec(response); var testday = Dparse(decodeURIComponent(JSON.parse('"' + matches[3] + '"'))); $(jNode).parent().find("div.erb").find("a")[0].innerHTML = $(jNode).parent().find("div.erb").find("a")[0].innerHTML + ' <img src="' + minf + '" title="Дата регистрации:" /> ' + testday; $(jNode).parent().find("div.zqb").css({ "background": "rgba(170,170,170,0.3)", "border-left": "3px solid rgba(170,170,170,0.3)", "padding-left": "3px" }); } else { console.log("[MetaBot for Youtube] XMLHttpRequest failed."); } } } }; request.open("GET", channelURL, true); request.send(null); } function checkdateNew(jNode) { if (['en', 'en-US', 'en-GB', 'ru', 'uk', 'be', 'bg'].indexOf(currentlang()) < 0) { alert('Функция поддерживается только на языках:\n \u2714 English\n \u2714 Русский\n \u2714 Українська\n \u2714 Беларуская \u2714 Български\nВы можете сменить язык интерфейса в меню настроек YouTube.'); return; } $(jNode).find("#checkbtn")[0].remove(); var userID = $(jNode).find("a")[0].href.split('/').pop(); var foundID = arrayERKY.indexOf(userID); if (foundID > -1) { console.log("[MetaBot for Youtube] user found in ERKY-db: " + userID); markredNew(jNode, arrayERKY[foundID + 1]); } else { getpage(procdateNew, jNode, $(jNode).find("a")[0].href + '/about'); } } function procdate(jNode, response, url) { window.tempHTML = document.createElement('html'); tempHTML.innerHTML = response; window.aboutSTAT = tempHTML.getElementsByClassName('about-stat'); var testday = Dparse(aboutSTAT[aboutSTAT.length - 1].innerHTML); var newspan = document.createElement('span'); newspan.id = 'botmark'; newspan.innerHTML = ' <img src="' + minf + '" title="Дата регистрации:" /> ' + testday; $(jNode).find("a.comment-author-text").after(newspan); $(jNode).next().css({ "background": "rgba(170,170,170,0.3)", "border-left": "3px solid rgba(170,170,170,0.3)", "padding-left": "3px" }); delete window.aboutSTAT; delete window.tempHTML; } function procdateNew(jNode, response, url) { var matches = regexdate.exec(response); var testday = Dparse(matches[3]); var aNode = $(jNode).find("#author-text")[0]; var cNode = $(jNode).parent().find("#content-text")[0]; var newspan = document.createElement('span'); newspan.id = 'botmark'; var checkBadge = $(aNode).parent().find('span#author-comment-badge')[0]; newspan.innerHTML = '<img src="' + minf + '" title="Дата регистрации:" /> ' + testday; $(aNode).append(newspan); if ($(checkBadge).length > 0) { $(checkBadge).attr('hidden', ''); $(aNode).removeAttr('hidden'); } $(cNode).parent().css({ "background": "rgba(170,170,170,0.3)", "border-left": "3px solid rgba(170,170,170,0.3)", "padding-left": "3px" }); aNode = $(jNode).find("#checksp"); aNode.attr('data-chan', $(jNode).find("a#author-text")[0].href); aNode.hide(); } function markred(jNode, day) { var newspan = document.createElement('span'); newspan.id = 'botmark'; newspan.innerHTML = ' <img src="' + mred + '" title="- пользователь найден в #ЕРКЮ, дата регистрации -" /> ' + day; $(jNode).find("a.comment-author-text").after(newspan); $(jNode).next().css({ "background": "rgba(255,50,50,0.3)", "border-left": "3px solid rgba(255,50,50,0.3)", "padding-left": "3px" }); if (GM_config.get('option2') === true) { requestDislike(jNode, false); } } function markredMob(jNode, day) { $(jNode).parent().find("div.erb").find("a")[0].innerHTML = $(jNode).parent().find("div.erb").find("a")[0].innerHTML + ' <img src="' + mred + '" title="Пользователь найден в ЕРКЮ" /> ' + day; $(jNode).parent().find("div.zqb").css({ "background": "rgba(255,50,50,0.3)", "border-left": "3px solid rgba(255,50,50,0.3)", "padding-left": "3px" }); } function markredNew(jNode, day) { var aNode = $(jNode).find("#author-text")[0]; var cNode = $(jNode).parent().find("#content-text")[0]; var newspan = document.createElement('span'); newspan.id = 'botmark'; newspan.innerHTML = '<img src="' + mred + '" title="- найден в #ЕРКЮ, дата регистрации -" /> ' + day; $(aNode).append(newspan); var checkBadge = $(aNode).parent().find('span#author-comment-badge')[0]; if ($(checkBadge).length > 0) { $(checkBadge).attr('hidden', ''); $(aNode).removeAttr('hidden'); } $(cNode).parent().css({ "background": "rgba(255,50,50,0.3)", "border-left": "3px solid rgba(255,50,50,0.3)", "padding-left": "3px" }); if (GM_config.get('option2') === true) { requestDislike(jNode, true); } } function markcustom(jNode, day, list) { switch (list) { case 1: var listname = Aparse(arrayListC1[0]); break case 2: var listname = Aparse(arrayListC2[0]); break case 3: var listname = Aparse(arrayListC3[0]); } var botmark = $(jNode).find("#botmark"); var rgbCustom = gmColor('colorc' + list, 1) + "," + gmColor('colorc' + list, 2) + "," + gmColor('colorc' + list, 3); var marktxt = ' <span style="' + iconstyledef + ' color: rgb(' + rgbCustom + '); font-size: 1.3em;" title="Найден в списке ' + listname + '">' + iconsdef[list] + '</span> '; if (botmark.length > 0) { $(botmark).prepend(marktxt); } else { $(jNode).find("#checkbtn")[0].remove(); var newspan = document.createElement('span'); newspan.id = 'botmark'; newspan.innerHTML = marktxt + day; $(jNode).find("a.comment-author-text").after(newspan); $(jNode).next().css({ "background": "rgba(" + rgbCustom + ",.3)", "border-left": "3px solid rgba(" + rgbCustom + ",0.3)", "padding-left": "3px" }); } } function markcustomNew(jNode, day, list) { switch (list) { case 1: var listname = Aparse(arrayListC1[0]); break case 2: var listname = Aparse(arrayListC2[0]); break case 3: var listname = Aparse(arrayListC3[0]); } var aNode = $(jNode).find("#author-text")[0]; var cNode = $(jNode).parent().find("#content-text")[0]; var checkBadge = $(aNode).parent().find('span#author-comment-badge')[0]; var botmark = $(cNode).parent().parent().parent().find("#botmark"); var rgbCustom = gmColor('colorc' + list, 1) + "," + gmColor('colorc' + list, 2) + "," + gmColor('colorc' + list, 3); var marktxt = '<span style="' + iconstyledef + ' color: rgb(' + rgbCustom + '); font-size: 1.3em;" title="Найден в списке ' + listname + '">' + iconsdef[list] + '</span> '; if (botmark.length > 0) { $(botmark).prepend(marktxt); } else { $(jNode).find("#checkbtn")[0].remove(); var newspan = document.createElement('span'); newspan.id = 'botmark'; newspan.innerHTML = marktxt + day; $(aNode).append(newspan); if ($(checkBadge).length > 0) { $(checkBadge).attr('hidden', ''); $(aNode).removeAttr('hidden'); } $(cNode).parent().css({ "background": "rgba(" + rgbCustom + ",.3)", "border-left": "3px solid rgba(" + rgbCustom + ",0.3)", "padding-left": "3px" }); } } function markpersonal(jNode, day) { $(jNode).find("#listpadd").html('\u274C'); $(jNode).find("#listpadd")[0].title = 'Удалить из закладок'; var botmark = $(jNode).parent().find("#botmark"); var rgbCustom = gmColor('colorp1', 1) + "," + gmColor('colorp1', 2) + "," + gmColor('colorp1', 3); var marktxt = ' <span id="bookmark" style="' + iconstyledef + ' color: rgb(' + rgbCustom + '); font-size: 1.3em;" title="Добавлен в закладки">' + iconsdef[0] + '</span> '; if (botmark.length > 0) { $(botmark).prepend(marktxt); $(jNode).next().css({ "background-image": "linear-gradient(230deg, rgba(" + rgbCustom + ",.4) 20%, rgba(0,0,0,0) 30%)" }); } else { var newspan = document.createElement('span'); newspan.id = 'botmark'; newspan.innerHTML = marktxt + day; $(jNode).find("a.comment-author-text").after(newspan); $(jNode).next().css({ "background": "linear-gradient(230deg, rgba(" + rgbCustom + ",.4) 20%, rgba(0,0,0,0) 30%)" }); } $(jNode).next().css({ "background-origin": "border-box", "border-right": "3px solid rgba(" + rgbCustom + ",.3)", "padding-right": "3px" }); } function markpersonalNew(jNode, day) { $(jNode).find("#listpadd").html('\u274C'); $(jNode).find("#listpadd")[0].title = 'Удалить из закладок'; var aNode = $(jNode).find("#author-text")[0]; var cNode = $(jNode).parent().find("#content-text")[0]; var checkBadge = $(aNode).parent().find('span#author-comment-badge')[0]; var botmark = $(cNode).parent().parent().parent().find("#botmark"); var rgbCustom = gmColor('colorp1', 1) + "," + gmColor('colorp1', 2) + "," + gmColor('colorp1', 3); var marktxt = '<span id="bookmark" style="' + iconstyledef + ' color: rgb(' + rgbCustom + '); font-size: 1.3em;" title="Добавлен в закладки">' + iconsdef[0] + '</span> '; if (botmark.length > 0) { $(botmark).prepend(marktxt); $(cNode).parent().css({ "background-image": "linear-gradient(230deg, rgba(" + rgbCustom + ",.4) 20%, rgba(0,0,0,0) 30%)" }); } else { var newspan = document.createElement('span'); newspan.id = 'botmark'; newspan.innerHTML = marktxt + day; $(aNode).append(newspan); if ($(checkBadge).length > 0) { $(checkBadge).attr('hidden', ''); $(aNode).removeAttr('hidden'); } $(cNode).parent().css({ "background": "linear-gradient(230deg, rgba(" + rgbCustom + ",.4) 20%, rgba(0,0,0,0) 30%)" }); } $(cNode).parent().css({ "background-origin": "border-box", "border-right": "3px solid rgba(" + rgbCustom + ",.3)", "padding-right": "3px" }); } function gmColor(gmVar, colpos) { return parseInt(parseColor(GM_config.get(gmVar), false).slice(colpos*2-1, colpos*2+1), 16) } function requestDislike(jNode, isNew) { var element; if (isNew) { element = $(jNode).parent().find("ytd-toggle-button-renderer.ytd-comment-action-buttons-renderer:not(.style-default-active)")[1]; } else { element = $(jNode).parent().find(".yt-uix-button.comment-action-buttons-renderer-thumb[aria-checked='false']")[1]; } if (element) orderedClicksArray.push(element); if (bDTaskSet == 0) { bDTaskSet = 1; setTimeout(scheduledDislike, minDCTime + Math.random() * (maxDCTime - minDCTime), isNew); } } function scheduledDislike(isNew) { if ( bDBlur || document.querySelector('paper-dialog.ytd-popup-container:not([style*="display:none"]):not([style*="display: none"])') || document.querySelector('div.yt-dialog-fg-content.yt-dialog-show-content') ) { setTimeout(scheduledDislike, minDCTime + Math.random() * (maxDCTime - minDCTime), isNew); } else { if (orderedClicksArray.length) { var element = orderedClicksArray.shift(); if ( (isNew && !(element.classList.contains("style-default-active"))) || (element.getAttribute("aria-checked") == "false") ) { $(element).css({"background": "rgba(255,50,50,0.3)"}); if (isNew) {$(element).css({"border-radius": "50%"});} element.click(); } else { setTimeout(scheduledDislike, 100, isNew); return; } setTimeout(scheduledDislike, minDCTime + Math.random() * (maxDCTime - minDCTime), isNew); } else { bDTaskSet = 0; } } } function Dparse(day) { day = day.replace(/Joined |Дата регистрации: |Ви приєдналися |Член от |Далучыўся(-лася) /i, ''); day = day.replace(/ янв\. | января | січ\. |\.01\./i, ' Jan, '); day = day.replace(/ февр\. | февраля | лют\. |\.02\./i, ' Feb, '); day = day.replace(/ мар\. | марта | бер\. |\.03\./i, ' Mar, '); day = day.replace(/ апр\. | апреля | квіт\. |\.04\./i, ' Apr, '); day = day.replace(/ мая\. | мая | трав\. |\.05\./i, ' May, '); day = day.replace(/ июн\. | июня | черв\.|\.06\./i, ' Jun, '); day = day.replace(/ июл\. | июля | лип\. |\.07\./i, ' Jul, '); day = day.replace(/ авг\. | августа | серп\. |\.08\./i, ' Aug, '); day = day.replace(/ сент\. | сентября | вер\. |\.09\./i, ' Sep, '); day = day.replace(/ окт\. | октября | жовт\. |\.10\./i, ' Oct, '); day = day.replace(/ нояб\. | ноября | лист\. |\.11\./i, ' Nov, '); day = day.replace(/ дек\. | декабря | груд\. |\.12\./i, ' Dec, '); day = day.replace(/ г\.| р\./i, ''); return day; } function Aparse(text) { if (ytmode === 1) { var isNew = true; } else { var isNew = false; } text = text.replace(/&/g, '&'); text = text.replace(/</g, '<'); text = text.replace(/>/g, '>'); text = text.replace(/\r\n/g, '<br>'); if (isNew) { text = text.replace(/\[(.+?)\]\((.+?)\)/g, '<a href="$2" target="_blank" style="color:rgba(39,147,230,1);">$1</a>'); } else { text = text.replace(/\[(.+?)\]\((.+?)\)/g, '<a href="$2" target="_blank">$1</a>'); } text = text.replace(/\*\*(.*?)\*\*/g, '<b>$1</b>'); text = text.replace(/\*(.*?)\*/g, '<i>$1</i>'); text = text.replace(/__(.*?)__/g, '<u>$1</u>'); return text; } function currentlang() { return regexlang.exec(document.body.innerHTML)[1]; } function currentlangmob() { return document.documentElement.lang; } function getURLParameter(name, link) { return decodeURIComponent((new RegExp('[?|&]' + name + '=([^&;]+?)(&|#|;|$)').exec(link) || [null, ''])[1].replace(/\+/g, '%20')) || null; } function ytOldDesign() { var getDesignCookie = function (cookie) { var prefs = cookie.split("; ").filter(function (v) { return v.indexOf("PREF=") === 0; })[0]; if (!prefs) { return "PREF=f6=8"; } var entries = prefs.substr(5).split('&'); var set = false; for (var i = 0; i < entries.length; i++) { if (entries[i].indexOf("f6=") === 0) { set = true; entries[i] = "f6=8"; } } if (!set) { entries.push("f6=8"); } return "PREF=" + entries.join('&'); }; document.cookie = getDesignCookie(document.cookie) + ";domain=.youtube.com;path=/"; } function ytNewDesign() { var requestSw = new XMLHttpRequest(); requestSw.open("POST", "https://www.youtube.com/new?optin=true", true); requestSw.send(null); } function parseColor(color, toNumber) { if (toNumber === true) { if (typeof color === 'number') { return (color | 0); } if (typeof color === 'string' && color[0] === '#') { color = color.slice(1); } return parseInt(color, 16); } else { color = '#' + ('00000' + (color | 0).toString(16)).substr(-6); return color; } } $(window).focus(function() { bDBlur = 0; }); $(window).blur(function() { bDBlur = 1; }); function getpage(callback, jNode, url) { var request = new XMLHttpRequest(); request.onreadystatechange = function() { if (request.readyState === 4) { if (request.status === 200) { if (request.responseText !== "") { console.log("[MetaBot for Youtube] XMLHttpRequest done: " + url); callback(jNode, request.responseText, url); } } } }; request.open("GET", url, true); request.send(null); } function getlist(callback, numArr, url) { if (typeof GM_xmlhttpRequest !== 'undefined') { GM_xmlhttpRequest({ method: "GET", url: url, onload: function(response) { callback(numArr, response.responseText, response.status, url); } }); } else if (typeof GM !== 'undefined') { GM.xmlHttpRequest({ method: "GET", url: url, onload: function(response) { callback(numArr, response.responseText, response.status, url); } }); } else { console.log("[MetaBot for Youtube] Unable to get supported cross-origin XMLHttpRequest function."); } } function waitForKeyElements(selectorTxt, actionFunction, bWaitOnce, iframeSelector) { var targetNodes, btargetsFound; if (typeof iframeSelector == "undefined") targetNodes = $(selectorTxt); else targetNodes = $(iframeSelector).contents().find(selectorTxt); if (targetNodes && targetNodes.length > 0) { btargetsFound = true; targetNodes.each(function() { var jThis = $(this); var alreadyFound = jThis.data('alreadyFound') || false; if (!alreadyFound) { var cancelFound = actionFunction(jThis); if (cancelFound) btargetsFound = false; else jThis.data('alreadyFound', true); } }); } else { btargetsFound = false; } var controlObj = waitForKeyElements.controlObj || {}; var controlKey = selectorTxt.replace(/[^\w]/g, "_"); var timeControl = controlObj[controlKey]; if (btargetsFound && bWaitOnce && timeControl) { clearInterval(timeControl); delete controlObj[controlKey]; } else { if (!timeControl) { timeControl = setInterval(function() { waitForKeyElements(selectorTxt, actionFunction, bWaitOnce, iframeSelector); }, 300); controlObj[controlKey] = timeControl; } } waitForKeyElements.controlObj = controlObj; }
epfl-dojo / Next Issue GithubUserscript that add next/prev issue button on github
hckr / Github News FilterUserscript to filter GitHub news feed using case-insensitive regular expression
Aoi-hosizora / GithubEventsExt UserscriptA Userscript extension that shows GitHub activity events in sidebar, and improves several UI details.
S-ed / Github PreUserscript for github that adds a button to switch word wrapping for code in comments.
RubaXa / Github Time TrackingUserscript for time tracking on github.
eight04 / Rawgit ButtonAn userscript to add "Rawgit" button on github.