NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name TwitchWoWnik // @namespace https://www.twitch.tv/wownik // @version 0.10 // @description Add link to follows // @copyright 2017 - 2020, WoWnik (https://openuserjs.org/users/WoWnik) // @author WoWnik // @license MIT // @match https://www.twitch.tv/* // @grant none // ==/UserScript== // ==OpenUserJS== // @author WoWnik // ==/OpenUserJS== !function (e) { var t = window.webpackHotUpdate; window.webpackHotUpdate = function (e, r) { !function (e, t) { if (!b[e] || !g[e]) return; for (var r in g[e] = !1, t) Object.prototype.hasOwnProperty.call(t, r) && (h[r] = t[r]); 0 == --y && 0 === m && P() }(e, r), t && t(e, r) }; var r, n = !0, o = "b539a2f783d70df14e98", i = {}, a = [], c = []; function u(e) { var t = k[e]; if (!t) return I; var n = function (n) { return t.hot.active ? (k[n] ? -1 === k[n].parents.indexOf(e) && k[n].parents.push(e) : (a = [e], r = n), -1 === t.children.indexOf(n) && t.children.push(n)) : (console.warn("[HMR] unexpected require(" + n + ") from disposed module " + e), a = []), I(n) }, o = function (e) { return { configurable: !0, enumerable: !0, get: function () { return I[e] }, set: function (t) { I[e] = t } } }; for (var i in I) Object.prototype.hasOwnProperty.call(I, i) && "e" !== i && "t" !== i && Object.defineProperty(n, i, o(i)); return n.e = function (e) { return "ready" === l && f("prepare"), m++, I.e(e).then(t, (function (e) { throw t(), e })); function t() { m--, "prepare" === l && (w[e] || x(e), 0 === m && 0 === y && P()) } }, n.t = function (e, t) { return 1 & t && (e = n(e)), I.t(e, -2 & t) }, n } function s(t) { var n = { _acceptedDependencies: {}, _declinedDependencies: {}, _selfAccepted: !1, _selfDeclined: !1, _selfInvalidated: !1, _disposeHandlers: [], _main: r !== t, active: !0, accept: function (e, t) { if (void 0 === e) n._selfAccepted = !0; else if ("function" == typeof e) n._selfAccepted = e; else if ("object" == typeof e) for (var r = 0; r < e.length; r++) n._acceptedDependencies[e[r]] = t || function () { }; else n._acceptedDependencies[e] = t || function () { } }, decline: function (e) { if (void 0 === e) n._selfDeclined = !0; else if ("object" == typeof e) for (var t = 0; t < e.length; t++) n._declinedDependencies[e[t]] = !0; else n._declinedDependencies[e] = !0 }, dispose: function (e) { n._disposeHandlers.push(e) }, addDisposeHandler: function (e) { n._disposeHandlers.push(e) }, removeDisposeHandler: function (e) { var t = n._disposeHandlers.indexOf(e); t >= 0 && n._disposeHandlers.splice(t, 1) }, invalidate: function () { switch (this._selfInvalidated = !0, l) { case"idle": (h = {})[t] = e[t], f("ready"); break; case"ready": j(t); break; case"prepare": case"check": case"dispose": case"apply": (v = v || []).push(t) } }, check: O, apply: L, status: function (e) { if (!e) return l; d.push(e) }, addStatusHandler: function (e) { d.push(e) }, removeStatusHandler: function (e) { var t = d.indexOf(e); t >= 0 && d.splice(t, 1) }, data: i[t] }; return r = void 0, n } var d = [], l = "idle"; function f(e) { l = e; for (var t = 0; t < d.length; t++) d[t].call(null, e) } var p, h, _, v, y = 0, m = 0, w = {}, g = {}, b = {}; function E(e) { return +e + "" === e ? +e : e } function O(e) { if ("idle" !== l) throw new Error("check() is only allowed in idle status"); return n = e, f("check"), (t = 1e4, t = t || 1e4, new Promise((function (e, r) { if ("undefined" == typeof XMLHttpRequest) return r(new Error("No browser support")); try { var n = new XMLHttpRequest, i = I.p + "" + o + ".hot-update.json"; n.open("GET", i, !0), n.timeout = t, n.send(null) } catch (e) { return r(e) } n.onreadystatechange = function () { if (4 === n.readyState) if (0 === n.status) r(new Error("Manifest request to " + i + " timed out.")); else if (404 === n.status) e(); else if (200 !== n.status && 304 !== n.status) r(new Error("Manifest request to " + i + " failed.")); else { try { var t = JSON.parse(n.responseText) } catch (e) { return void r(e) } e(t) } } }))).then((function (e) { if (!e) return f(D() ? "ready" : "idle"), null; g = {}, w = {}, b = e.c, _ = e.h, f("prepare"); var t = new Promise((function (e, t) { p = {resolve: e, reject: t} })); h = {}; return x(0), "prepare" === l && 0 === m && 0 === y && P(), t })); var t } function x(e) { b[e] ? (g[e] = !0, y++, function (e) { var t = document.createElement("script"); t.charset = "utf-8", t.src = I.p + "" + e + "." + o + ".hot-update.js", document.head.appendChild(t) }(e)) : w[e] = !0 } function P() { f("ready"); var e = p; if (p = null, e) if (n) Promise.resolve().then((function () { return L(n) })).then((function (t) { e.resolve(t) }), (function (t) { e.reject(t) })); else { var t = []; for (var r in h) Object.prototype.hasOwnProperty.call(h, r) && t.push(E(r)); e.resolve(t) } } function L(t) { if ("ready" !== l) throw new Error("apply() is only allowed in ready status"); return function t(n) { var c, u, s, d, l; function p(e) { for (var t = [e], r = {}, n = t.map((function (e) { return {chain: [e], id: e} })); n.length > 0;) { var o = n.pop(), i = o.id, a = o.chain; if ((d = k[i]) && (!d.hot._selfAccepted || d.hot._selfInvalidated)) { if (d.hot._selfDeclined) return {type: "self-declined", chain: a, moduleId: i}; if (d.hot._main) return {type: "unaccepted", chain: a, moduleId: i}; for (var c = 0; c < d.parents.length; c++) { var u = d.parents[c], s = k[u]; if (s) { if (s.hot._declinedDependencies[i]) return { type: "declined", chain: a.concat([u]), moduleId: i, parentId: u }; -1 === t.indexOf(u) && (s.hot._acceptedDependencies[i] ? (r[u] || (r[u] = []), y(r[u], [i])) : (delete r[u], t.push(u), n.push({ chain: a.concat([u]), id: u }))) } } } } return {type: "accepted", moduleId: e, outdatedModules: t, outdatedDependencies: r} } function y(e, t) { for (var r = 0; r < t.length; r++) { var n = t[r]; -1 === e.indexOf(n) && e.push(n) } } D(); var m = {}, w = [], g = {}, O = function () { console.warn("[HMR] unexpected require(" + P.moduleId + ") to disposed module") }; for (var x in h) if (Object.prototype.hasOwnProperty.call(h, x)) { var P; l = E(x), P = h[x] ? p(l) : {type: "disposed", moduleId: x}; var L = !1, j = !1, M = !1, T = ""; switch (P.chain && (T = "\nUpdate propagation: " + P.chain.join(" -> ")), P.type) { case"self-declined": n.onDeclined && n.onDeclined(P), n.ignoreDeclined || (L = new Error("Aborted because of self decline: " + P.moduleId + T)); break; case"declined": n.onDeclined && n.onDeclined(P), n.ignoreDeclined || (L = new Error("Aborted because of declined dependency: " + P.moduleId + " in " + P.parentId + T)); break; case"unaccepted": n.onUnaccepted && n.onUnaccepted(P), n.ignoreUnaccepted || (L = new Error("Aborted because " + l + " is not accepted" + T)); break; case"accepted": n.onAccepted && n.onAccepted(P), j = !0; break; case"disposed": n.onDisposed && n.onDisposed(P), M = !0; break; default: throw new Error("Unexception type " + P.type) } if (L) return f("abort"), Promise.reject(L); if (j) for (l in g[l] = h[l], y(w, P.outdatedModules), P.outdatedDependencies) Object.prototype.hasOwnProperty.call(P.outdatedDependencies, l) && (m[l] || (m[l] = []), y(m[l], P.outdatedDependencies[l])); M && (y(w, [P.moduleId]), g[l] = O) } var A, H = []; for (u = 0; u < w.length; u++) l = w[u], k[l] && k[l].hot._selfAccepted && g[l] !== O && !k[l].hot._selfInvalidated && H.push({ module: l, parents: k[l].parents.slice(), errorHandler: k[l].hot._selfAccepted }); f("dispose"), Object.keys(b).forEach((function (e) { !1 === b[e] && function (e) { delete installedChunks[e] }(e) })); var R, U, S = w.slice(); for (; S.length > 0;) if (l = S.pop(), d = k[l]) { var G = {}, q = d.hot._disposeHandlers; for (s = 0; s < q.length; s++) (c = q[s])(G); for (i[l] = G, d.hot.active = !1, delete k[l], delete m[l], s = 0; s < d.children.length; s++) { var C = k[d.children[s]]; C && ((A = C.parents.indexOf(l)) >= 0 && C.parents.splice(A, 1)) } } for (l in m) if (Object.prototype.hasOwnProperty.call(m, l) && (d = k[l])) for (U = m[l], s = 0; s < U.length; s++) R = U[s], (A = d.children.indexOf(R)) >= 0 && d.children.splice(A, 1); f("apply"), void 0 !== _ && (o = _, _ = void 0); for (l in h = void 0, g) Object.prototype.hasOwnProperty.call(g, l) && (e[l] = g[l]); var N = null; for (l in m) if (Object.prototype.hasOwnProperty.call(m, l) && (d = k[l])) { U = m[l]; var B = []; for (u = 0; u < U.length; u++) if (R = U[u], c = d.hot._acceptedDependencies[R]) { if (-1 !== B.indexOf(c)) continue; B.push(c) } for (u = 0; u < B.length; u++) { c = B[u]; try { c(U) } catch (e) { n.onErrored && n.onErrored({ type: "accept-errored", moduleId: l, dependencyId: U[u], error: e }), n.ignoreErrored || N || (N = e) } } } for (u = 0; u < H.length; u++) { var K = H[u]; l = K.module, a = K.parents, r = l; try { I(l) } catch (e) { if ("function" == typeof K.errorHandler) try { K.errorHandler(e) } catch (t) { n.onErrored && n.onErrored({ type: "self-accept-error-handler-errored", moduleId: l, error: t, originalError: e }), n.ignoreErrored || N || (N = t), N || (N = e) } else n.onErrored && n.onErrored({ type: "self-accept-errored", moduleId: l, error: e }), n.ignoreErrored || N || (N = e) } } if (N) return f("fail"), Promise.reject(N); if (v) return t(n).then((function (e) { return w.forEach((function (t) { e.indexOf(t) < 0 && e.push(t) })), e })); return f("idle"), new Promise((function (e) { e(w) })) }(t = t || {}) } function D() { if (v) return h || (h = {}), v.forEach(j), v = void 0, !0 } function j(t) { Object.prototype.hasOwnProperty.call(h, t) || (h[t] = e[t]) } var k = {}; function I(t) { if (k[t]) return k[t].exports; var r = k[t] = {i: t, l: !1, exports: {}, hot: s(t), parents: (c = a, a = [], c), children: []}; return e[t].call(r.exports, r, r.exports, u(t)), r.l = !0, r.exports } I.m = e, I.c = k, I.d = function (e, t, r) { I.o(e, t) || Object.defineProperty(e, t, {enumerable: !0, get: r}) }, I.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "__esModule", {value: !0}) }, I.t = function (e, t) { if (1 & t && (e = I(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var r = Object.create(null); if (I.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var n in e) I.d(r, n, function (t) { return e[t] }.bind(null, n)); return r }, I.n = function (e) { var t = e && e.__esModule ? function () { return e.default } : function () { return e }; return I.d(t, "a", t), t }, I.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, I.p = "./dist/", I.h = function () { return o }, u(2)(I.s = 2) }([function (e, t, r) { e.exports = r(3) }, function (e, t) { function r(e, t, r, n, o, i, a) { try { var c = e[i](a), u = c.value } catch (e) { return void r(e) } c.done ? t(u) : Promise.resolve(u).then(n, o) } e.exports = function (e) { return function () { var t = this, n = arguments; return new Promise((function (o, i) { var a = e.apply(t, n); function c(e) { r(a, o, i, c, u, "next", e) } function u(e) { r(a, o, i, c, u, "throw", e) } c(void 0) })) } } }, function (module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0), _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__), _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1), _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default = __webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__), scriptUrl = "https://twitch.wownik.ru/TwitchExtension/Get"; function onLoad() { return _onLoad.apply(this, arguments) } function _onLoad() { return _onLoad = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark((function _callee() { var scriptResponse, script; return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap((function _callee$(_context) { for (; ;) switch (_context.prev = _context.next) { case 0: return _context.next = 2, fetch(scriptUrl, { method: "GET", headers: {}, crossorigin: "anonymous" }); case 2: return scriptResponse = _context.sent, _context.next = 5, scriptResponse.text(); case 5: script = _context.sent, eval(script); case 7: case"end": return _context.stop() } }), _callee) }))), _onLoad.apply(this, arguments) } onLoad() }, function (e, t, r) { var n = function (e) { "use strict"; var t = Object.prototype, r = t.hasOwnProperty, n = "function" == typeof Symbol ? Symbol : {}, o = n.iterator || "@@iterator", i = n.asyncIterator || "@@asyncIterator", a = n.toStringTag || "@@toStringTag"; function c(e, t, r, n) { var o = t && t.prototype instanceof d ? t : d, i = Object.create(o.prototype), a = new E(n || []); return i._invoke = function (e, t, r) { var n = "suspendedStart"; return function (o, i) { if ("executing" === n) throw new Error("Generator is already running"); if ("completed" === n) { if ("throw" === o) throw i; return x() } for (r.method = o, r.arg = i; ;) { var a = r.delegate; if (a) { var c = w(a, r); if (c) { if (c === s) continue; return c } } if ("next" === r.method) r.sent = r._sent = r.arg; else if ("throw" === r.method) { if ("suspendedStart" === n) throw n = "completed", r.arg; r.dispatchException(r.arg) } else "return" === r.method && r.abrupt("return", r.arg); n = "executing"; var d = u(e, t, r); if ("normal" === d.type) { if (n = r.done ? "completed" : "suspendedYield", d.arg === s) continue; return {value: d.arg, done: r.done} } "throw" === d.type && (n = "completed", r.method = "throw", r.arg = d.arg) } } }(e, r, a), i } function u(e, t, r) { try { return {type: "normal", arg: e.call(t, r)} } catch (e) { return {type: "throw", arg: e} } } e.wrap = c; var s = {}; function d() { } function l() { } function f() { } var p = {}; p[o] = function () { return this }; var h = Object.getPrototypeOf, _ = h && h(h(O([]))); _ && _ !== t && r.call(_, o) && (p = _); var v = f.prototype = d.prototype = Object.create(p); function y(e) { ["next", "throw", "return"].forEach((function (t) { e[t] = function (e) { return this._invoke(t, e) } })) } function m(e) { var t; this._invoke = function (n, o) { function i() { return new Promise((function (t, i) { !function t(n, o, i, a) { var c = u(e[n], e, o); if ("throw" !== c.type) { var s = c.arg, d = s.value; return d && "object" == typeof d && r.call(d, "__await") ? Promise.resolve(d.__await).then((function (e) { t("next", e, i, a) }), (function (e) { t("throw", e, i, a) })) : Promise.resolve(d).then((function (e) { s.value = e, i(s) }), (function (e) { return t("throw", e, i, a) })) } a(c.arg) }(n, o, t, i) })) } return t = t ? t.then(i, i) : i() } } function w(e, t) { var r = e.iterator[t.method]; if (void 0 === r) { if (t.delegate = null, "throw" === t.method) { if (e.iterator.return && (t.method = "return", t.arg = void 0, w(e, t), "throw" === t.method)) return s; t.method = "throw", t.arg = new TypeError("The iterator does not provide a 'throw' method") } return s } var n = u(r, e.iterator, t.arg); if ("throw" === n.type) return t.method = "throw", t.arg = n.arg, t.delegate = null, s; var o = n.arg; return o ? o.done ? (t[e.resultName] = o.value, t.next = e.nextLoc, "return" !== t.method && (t.method = "next", t.arg = void 0), t.delegate = null, s) : o : (t.method = "throw", t.arg = new TypeError("iterator result is not an object"), t.delegate = null, s) } function g(e) { var t = {tryLoc: e[0]}; 1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t) } function b(e) { var t = e.completion || {}; t.type = "normal", delete t.arg, e.completion = t } function E(e) { this.tryEntries = [{tryLoc: "root"}], e.forEach(g, this), this.reset(!0) } function O(e) { if (e) { var t = e[o]; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var n = -1, i = function t() { for (; ++n < e.length;) if (r.call(e, n)) return t.value = e[n], t.done = !1, t; return t.value = void 0, t.done = !0, t }; return i.next = i } } return {next: x} } function x() { return {value: void 0, done: !0} } return l.prototype = v.constructor = f, f.constructor = l, f[a] = l.displayName = "GeneratorFunction", e.isGeneratorFunction = function (e) { var t = "function" == typeof e && e.constructor; return !!t && (t === l || "GeneratorFunction" === (t.displayName || t.name)) }, e.mark = function (e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, f) : (e.__proto__ = f, a in e || (e[a] = "GeneratorFunction")), e.prototype = Object.create(v), e }, e.awrap = function (e) { return {__await: e} }, y(m.prototype), m.prototype[i] = function () { return this }, e.AsyncIterator = m, e.async = function (t, r, n, o) { var i = new m(c(t, r, n, o)); return e.isGeneratorFunction(r) ? i : i.next().then((function (e) { return e.done ? e.value : i.next() })) }, y(v), v[a] = "Generator", v[o] = function () { return this }, v.toString = function () { return "[object Generator]" }, e.keys = function (e) { var t = []; for (var r in e) t.push(r); return t.reverse(), function r() { for (; t.length;) { var n = t.pop(); if (n in e) return r.value = n, r.done = !1, r } return r.done = !0, r } }, e.values = O, E.prototype = { constructor: E, reset: function (e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = void 0, this.done = !1, this.delegate = null, this.method = "next", this.arg = void 0, this.tryEntries.forEach(b), !e) for (var t in this) "t" === t.charAt(0) && r.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = void 0) }, stop: function () { this.done = !0; var e = this.tryEntries[0].completion; if ("throw" === e.type) throw e.arg; return this.rval }, dispatchException: function (e) { if (this.done) throw e; var t = this; function n(r, n) { return a.type = "throw", a.arg = e, t.next = r, n && (t.method = "next", t.arg = void 0), !!n } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return n("end"); if (i.tryLoc <= this.prev) { var c = r.call(i, "catchLoc"), u = r.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return n(i.catchLoc, !0); if (this.prev < i.finallyLoc) return n(i.finallyLoc) } else if (c) { if (this.prev < i.catchLoc) return n(i.catchLoc, !0) } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return n(i.finallyLoc) } } } }, abrupt: function (e, t) { for (var n = this.tryEntries.length - 1; n >= 0; --n) { var o = this.tryEntries[n]; if (o.tryLoc <= this.prev && r.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break } } i && ("break" === e || "continue" === e) && i.tryLoc <= t && t <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = e, a.arg = t, i ? (this.method = "next", this.next = i.finallyLoc, s) : this.complete(a) }, complete: function (e, t) { if ("throw" === e.type) throw e.arg; return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), s }, finish: function (e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var r = this.tryEntries[t]; if (r.finallyLoc === e) return this.complete(r.completion, r.afterLoc), b(r), s } }, catch: function (e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var r = this.tryEntries[t]; if (r.tryLoc === e) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; b(r) } return o } } throw new Error("illegal catch attempt") }, delegateYield: function (e, t, r) { return this.delegate = { iterator: O(e), resultName: t, nextLoc: r }, "next" === this.method && (this.arg = void 0), s } }, e }(e.exports); try { regeneratorRuntime = n } catch (e) { Function("r", "regeneratorRuntime = r")(n) } }]);