1
Fork 0
mirror of https://github.com/thegeneralist01/twitter-tid-deobf-fork synced 2026-01-10 15:20:27 +01:00

Update deobfuscation

Changes detected in source file
run:base failed
run:fork succeeded
run:additional succeeded
This commit is contained in:
GitHub Action 2025-08-17 22:06:22 +00:00
parent caf242ee0b
commit a72a20222b
4 changed files with 173 additions and 164 deletions

View file

@ -1,75 +1,77 @@
"use strict";
(self.webpackChunk_twitter_responsive_web = self.webpackChunk_twitter_responsive_web || []).push([["ondemand.s"], {
227900: (n, t, r) => {
r.r(t), r.d(t, {
default: () => u
227900: (n, c, W) => {
W.r(c), W.d(c, {
default: () => t
});
r(136728), r(875640);
const u = () => {
let Gc;
const Sc = n => btoa(Array.from(n)["map"](n => String.fromCharCode(n))["join"](""))["replace"](/=/g, "");
const hc = () => {
return n = Qc((n => document.querySelectorAll(n))("[name^=tw]")[0], "content"), new Uint8Array(atob(n)["split"]("")["map"](n => n["charCodeAt"](0)));
};
const wc = (n, t) => Gc = Gc || Qc(Hc((n => document.querySelectorAll(n))(n))[t[5] % 4]["childNodes"][0]["childNodes"][1], "d")["substring"](9)["split"]("C")["map"](n => n["replace"](/[^\d]+/g, " ")["trim"]()["split"](" ")["map"](Number));
const Qc = (n, t) => n && n["getAttribute"](t) || "";
const lc = n => typeof n == "string" ? new TextEncoder()["encode"](n) : n;
const Rc = n => crypto.subtle["digest"]("sha-256", lc(n));
const gc = n => (n < 16 ? "0" : "") + n["toString"](16);
const Hc = n => Array.from(n)["map"](n => (n["parentElement"]?.["removeChild"](n), n));
const jc = (n, t, r) => t ? n ^ r[0] : n;
const xc = (n, t, r) => {
W(136728), W(875640);
const t = () => {
let At;
const jt = n => new Uint8Array(atob(n)["split"]("")["map"](n => n["charCodeAt"](0)));
const Tt = n => btoa(Array.from(n)["map"](n => String.fromCharCode(n))["join"](""))["replace"](/=/g, "");
const Vt = () => jt(Et((n => document.querySelectorAll(n))("[name^=tw]")[0], "content"));
const Ut = (n, c) => At = At || Et(Yt((n => document.querySelectorAll(n))(n))[c[5] % 4]["childNodes"][0]["childNodes"][1], "d")["substring"](9)["split"]("C")["map"](n => n["replace"](/[^\d]+/g, " ")["trim"]()["split"](" ")["map"](Number));
const Et = (n, c) => n && n["getAttribute"](c) || "";
const Bt = n => typeof n == "string" ? new TextEncoder()["encode"](n) : n;
const Xt = n => crypto.subtle["digest"]("sha-256", Bt(n));
const Dt = n => (n < 16 ? "0" : "") + n["toString"](16);
const Yt = n => Array.from(n)["map"](n => (n["parentElement"]?.["removeChild"](n), n));
const er = (n, c, W) => c ? n ^ W[0] : n;
const kr = (n, c, W) => {
{
if (!n["animate"]) return;
const c = n["animate"](Uc(t), 4096);
c["pause"](), c["currentTime"] = (n => Math.round(n))(r / 10) * 10;
const r = n[f = "tFxh", i = -196, gt(0, 0, 0, f, i - 169) + "te"](ir(c), 4096);
r["pause"](), r["currentTime"] = (n => Math.round(n))(W / 10) * 10;
}
var f;
var i;
};
const Fc = (n, t, r, c) => {
const fr = (n, c, W, t) => {
{
const u = n * (r - t) / 255 + t;
return c ? (n => Math.floor(n))(u) : u["toFixed"](2);
const r = n * (W - c) / 255 + c;
return t ? (n => Math.floor(n))(r) : r["toFixed"](2);
}
};
const Uc = n => ({
color: ["#" + gc(n[0]) + gc(n[1]) + gc(n[2]), "#" + gc(n[3]) + gc(n[4]) + gc(n[5])],
transform: ["rotate(0deg)", "rotate(" + Fc(n[6], 60, 360, !0) + "deg)"],
easing: "cubic-bezier(" + Array.from(n["slice"](7))["map"]((n, t) => Fc(n, t % 2 ? -1 : 0, 1))["join"]() + ")"
const ir = n => ({
color: ["#" + Dt(n[0]) + Dt(n[1]) + Dt(n[2]), "#" + Dt(n[3]) + Dt(n[4]) + Dt(n[5])],
transform: ["rotate(0deg)", "rotate(" + fr(n[6], 60, 360, !0) + "deg)"],
easing: "cubic-bezier(" + Array.from(n["slice"](7))["map"]((n, c) => fr(n, c % 2 ? -1 : 0, 1))["join"]() + ")"
});
let Zc;
let Jc = [];
const Lc = n => {
if (!Zc) {
const q = n[27] % 16;
const N = n[9] % 16 * (n[11] % 16) * (n[30] % 16);
const B = wc(".r-8qwd6w", n);
let dr;
let ar;
let sr = [];
const mr = n => {
if (!dr) {
const c = n[18] % 16;
const L = n[40] % 16 * (n[10] % 16) * (n[36] % 16);
const b = Ut(".r-1mjf00", n);
new Promise(() => {
{
const t = new RTCPeerConnection();
const r = (() => Math.random())()["toString"](36);
zc = t["createDataChannel"](r), t["createOffer"]()["then"](u => {
const P = new RTCPeerConnection();
const p = (() => Math.random())()["toString"](36);
ar = P["createDataChannel"](p), P["createOffer"]()["then"](H => {
try {
{
const c = u["sdp"] || r;
Jc = Array.from(lc([c[n[5] % 8] || "4", c[n[8] % 8]])), t["close"]();
const c = H["sdp"] || p;
sr = Array.from(Bt([c[n[5] % 8] || "4", c[n[8] % 8]])), P["close"]();
}
} catch {}
})["catch"](() => 0);
}
})["catch"](() => 0);
xc(X, B[n[27] % 16], n[9] % 16 * (n[11] % 16) * (n[30] % 16));
const V = getComputedStyle(X);
Zc = Array.from(("" + V["color"] + V["transform"])["matchAll"](/([\d.-]+)/g))["map"](n => Number(Number(n[0])["toFixed"](2))["toString"](16))["join"]("")["replace"](/[.-]/g, ""), O();
kr(g, b[n[18] % 16], n[40] % 16 * (n[10] % 16) * (n[36] % 16));
const w = getComputedStyle(g);
dr = Array.from(("" + w["color"] + w["transform"])["matchAll"](/([\d.-]+)/g))["map"](n => Number(Number(n[0])["toFixed"](2))["toString"](16))["join"]("")["replace"](/[.-]/g, ""), A();
}
return Zc;
return dr;
};
return async (n, t) => {
const e = (n => Math.floor(n))((Date["now"]() - 1682924400000) / 1e3);
const i = new Uint8Array(new Uint32Array([e])["buffer"]);
const f = hc();
const d = Lc(f);
return Sc(new Uint8Array([(() => Math.random())() * 256]["concat"](Array.from(f), Array.from(i), (n => n["slice"](0, 16))(Array.from(new Uint8Array(await Rc([t, n, e]["join"]("!") + "obfiowerehiring" + d)))["concat"](Jc)), [3]))["map"](jc));
return async (n, c) => {
const f = (n => Math.floor(n))((Date["now"]() - 1682924400000) / 1e3);
const i = new Uint8Array(new Uint32Array([f])["buffer"]);
const d = Vt();
const a = mr(d);
return Tt(new Uint8Array([(() => Math.random())() * 256]["concat"](Array.from(d), Array.from(i), (n => n["slice"](0, 16))(Array.from(new Uint8Array(await Xt([c, n, f]["join"]("!") + "obfiowerehiring" + a)))["concat"](sr)), [3]))["map"](er));
};
};
}

View file

@ -1,73 +1,74 @@
"use strict";
(self.webpackChunk_twitter_responsive_web = self.webpackChunk_twitter_responsive_web || []).push([["ondemand.s"], {
227900: (n, t, r) => {
r.r(t), r.d(t, {
default: () => u
227900: (n, c, W) => {
W.r(c), W.d(c, {
default: () => t
});
r(136728), r(875640);
const u = () => {
let Gc;
const Sc = n => btoa(Array.from(n)["map"](n => String.fromCharCode(n))["join"](""))["replace"](/=/g, "");
const hc = () => {
return n = Qc((n => document.querySelectorAll(n))("[name^=tw]")[0], "content"), new Uint8Array(atob(n)["split"]("")["map"](n => n["charCodeAt"](0)));
};
const wc = (n, t) => Gc = Gc || Qc(Hc((n => document.querySelectorAll(n))(n))[t[5] % 4]["childNodes"][0]["childNodes"][1], "d")["substring"](9)["split"]("C")["map"](n => n["replace"](/[^\d]+/g, " ")["trim"]()["split"](" ")["map"](Number));
const Qc = (n, t) => n && n["getAttribute"](t) || "";
const lc = n => typeof n == "string" ? new TextEncoder()["encode"](n) : n;
const Rc = n => crypto.subtle["digest"]("sha-256", lc(n));
const gc = n => (n < 16 ? "0" : "") + n["toString"](16);
const Hc = n => Array.from(n)["map"](n => (n["parentElement"]?.["removeChild"](n), n));
const jc = (n, t, r) => t ? n ^ r[0] : n;
const xc = (n, t, r) => {
W(136728), W(875640);
const t = () => {
let At;
const jt = n => new Uint8Array(atob(n)["split"]("")["map"](n => n["charCodeAt"](0)));
const Tt = n => btoa(Array.from(n)["map"](n => String.fromCharCode(n))["join"](""))["replace"](/=/g, "");
const Vt = () => jt(Et((n => document.querySelectorAll(n))("[name^=tw]")[0], "content"));
const Ut = (n, c) => At = At || Et(Yt((n => document.querySelectorAll(n))(n))[c[5] % 4]["childNodes"][0]["childNodes"][1], "d")["substring"](9)["split"]("C")["map"](n => n["replace"](/[^\d]+/g, " ")["trim"]()["split"](" ")["map"](Number));
const Et = (n, c) => n && n["getAttribute"](c) || "";
const Bt = n => typeof n == "string" ? new TextEncoder()["encode"](n) : n;
const Xt = n => crypto.subtle["digest"]("sha-256", Bt(n));
const Dt = n => (n < 16 ? "0" : "") + n["toString"](16);
const Yt = n => Array.from(n)["map"](n => (n["parentElement"]?.["removeChild"](n), n));
const er = (n, c, W) => c ? n ^ W[0] : n;
const kr = (n, c, W) => {
{
if (!n["animate"]) return;
const c = n["animate"](Uc(t), 4096);
c["pause"](), c["currentTime"] = (n => Math.round(n))(r / 10) * 10;
const r = n[f = "tFxh", i = -196, gt(0, 0, 0, f, i - 169) + "te"](ir(c), 4096);
r["pause"](), r["currentTime"] = (n => Math.round(n))(W / 10) * 10;
}
var f;
var i;
};
const Fc = (n, t, r, c) => {
const fr = (n, c, W, t) => {
{
const u = n * (r - t) / 255 + t;
return c ? (n => Math.floor(n))(u) : u["toFixed"](2);
const r = n * (W - c) / 255 + c;
return t ? (n => Math.floor(n))(r) : r["toFixed"](2);
}
};
const Uc = n => ({
color: ["#" + gc(n[0]) + gc(n[1]) + gc(n[2]), "#" + gc(n[3]) + gc(n[4]) + gc(n[5])],
transform: ["rotate(0deg)", "rotate(" + Fc(n[6], 60, 360, !0) + "deg)"],
easing: "cubic-bezier(" + Array.from(n["slice"](7))["map"]((n, t) => Fc(n, t % 2 ? -1 : 0, 1))["join"]() + ")"
const ir = n => ({
color: ["#" + Dt(n[0]) + Dt(n[1]) + Dt(n[2]), "#" + Dt(n[3]) + Dt(n[4]) + Dt(n[5])],
transform: ["rotate(0deg)", "rotate(" + fr(n[6], 60, 360, !0) + "deg)"],
easing: "cubic-bezier(" + Array.from(n["slice"](7))["map"]((n, c) => fr(n, c % 2 ? -1 : 0, 1))["join"]() + ")"
});
let Zc;
let Jc = [];
const Lc = n => {
if (!Zc) {
const B = wc(".r-8qwd6w", n);
let dr;
let sr = [];
const mr = n => {
if (!dr) {
const b = Ut(".r-1mjf00", n);
new Promise(() => {
{
const t = new RTCPeerConnection();
const r = (() => Math.random())()["toString"](36);
zc = t["createDataChannel"](r), t["createOffer"]()["then"](u => {
const P = new RTCPeerConnection();
const p = (() => Math.random())()["toString"](36);
ar = P["createDataChannel"](p), P["createOffer"]()["then"](H => {
try {
{
const c = u["sdp"] || r;
Jc = Array.from(lc([c[n[5] % 8] || "4", c[n[8] % 8]])), t["close"]();
const c = H["sdp"] || p;
sr = Array.from(Bt([c[n[5] % 8] || "4", c[n[8] % 8]])), P["close"]();
}
} catch {}
})["catch"](() => 0);
}
})["catch"](() => 0);
xc(X, B[n[27] % 16], n[9] % 16 * (n[11] % 16) * (n[30] % 16));
const V = getComputedStyle(X);
Zc = Array.from(("" + V["color"] + V["transform"])["matchAll"](/([\d.-]+)/g))["map"](n => Number(Number(n[0])["toFixed"](2))["toString"](16))["join"]("")["replace"](/[.-]/g, ""), O();
kr(g, b[n[18] % 16], n[40] % 16 * (n[10] % 16) * (n[36] % 16));
const w = getComputedStyle(g);
dr = Array.from(("" + w["color"] + w["transform"])["matchAll"](/([\d.-]+)/g))["map"](n => Number(Number(n[0])["toFixed"](2))["toString"](16))["join"]("")["replace"](/[.-]/g, ""), A();
}
return Zc;
return dr;
};
return async (n, t) => {
const e = (n => Math.floor(n))((Date["now"]() - 1682924400000) / 1e3);
const i = new Uint8Array(new Uint32Array([e])["buffer"]);
const f = hc();
const d = Lc(f);
return Sc(new Uint8Array([(() => Math.random())() * 256]["concat"](Array.from(f), Array.from(i), (n => n["slice"](0, 16))(Array.from(new Uint8Array(await Rc([t, n, e]["join"]("!") + "obfiowerehiring" + d)))["concat"](Jc)), [3]))["map"](jc));
return async (n, c) => {
const f = (n => Math.floor(n))((Date["now"]() - 1682924400000) / 1e3);
const i = new Uint8Array(new Uint32Array([f])["buffer"]);
const d = Vt();
const a = mr(d);
return Tt(new Uint8Array([(() => Math.random())() * 256]["concat"](Array.from(d), Array.from(i), (n => n["slice"](0, 16))(Array.from(new Uint8Array(await Xt([c, n, f]["join"]("!") + "obfiowerehiring" + a)))["concat"](sr)), [3]))["map"](er));
};
};
}

View file

@ -1,95 +1,101 @@
"use strict";
(self.webpackChunk_twitter_responsive_web = self.webpackChunk_twitter_responsive_web || []).push([["ondemand.s"], {
227900: (n, t, r) => {
r.r(t), r.d(t, {
default: () => u
227900: (n, c, W) => {
W.r(c), W.d(c, {
default: () => t
});
r(136728), r(875640);
const u = () => {
const [_r, $r] = [document, window],
[nc, tc, rc, cc, uc, Wc, oc, ec, ic, fc, dc, kc, mc] = [$r["Number"], $r["TextEncoder"], $r["Uint8Array"], n => _r["querySelectorAll"](n), $r["Date"], $r["Uint32Array"], $r["crypto"]["subtle"], $r["Array"]["from"], $r["Math"], $r["RTCPeerConnection"], $r["Promise"], $r["Function"], $r["getComputedStyle"]];
let Gc;
const Sc = n => btoa(ec(n)["map"](n => String["fromCharCode"](n))["join"](""))["replace"](/=/g, ""),
hc = () => {
return n = Qc(cc("[name^=tw]")[0], "content"), new rc(atob(n)["split"]("")["map"](n => n["charCodeAt"](0)));
var n;
},
wc = (n, t) => Gc = Gc || Qc(Hc(cc(n))[t[5] % 4]["childNodes"][0]["childNodes"][1], "d")["substring"](9)["split"]("C")["map"](n => n["replace"](/[^\d]+/g, " ")["trim"]()["split"](" ")["map"](nc)),
Qc = (n, t) => n && n["getAttribute"](t) || "",
lc = n => typeof n == "string" ? new tc()["encode"](n) : n,
Rc = n => oc["digest"]("sha-256", lc(n)),
gc = n => (n < 16 ? "0" : "") + n["toString"](16),
pc = (n, t) => nc["parseInt"](n, t),
Hc = n => ec(n)["map"](n => (n["parentElement"]?.["removeChild"](n), n)),
qc = () => {
W(136728), W(875640);
const t = () => {
const [xt, vt] = [document, window],
[Mt, ht, It, Ft, yt, Jt, lt, Pt, pt, Ht, Nt, Zt, Lt] = [vt["Number"], vt["TextEncoder"], vt["Uint8Array"], n => xt["querySelectorAll"](n), vt["Date"], vt["Uint32Array"], vt["crypto"]["subtle"], vt["Array"]["from"], vt["Math"], vt["RTCPeerConnection"], vt["Promise"], vt["Function"], vt["getComputedStyle"]];
let At;
const jt = n => new It(atob(n)["split"]("")["map"](n => n["charCodeAt"](0))),
Tt = n => btoa(Pt(n)["map"](n => String["fromCharCode"](n))["join"](""))["replace"](/=/g, ""),
Vt = () => jt(Et(Ft("[name^=tw]")[0], "content")),
Ut = (n, c) => At = At || Et(Yt(Ft(n))[c[5] % 4]["childNodes"][0]["childNodes"][1], "d")["substring"](9)["split"]("C")["map"](n => n["replace"](/[^\d]+/g, " ")["trim"]()["split"](" ")["map"](Mt)),
Et = (n, c) => n && n["getAttribute"](c) || "",
Bt = n => typeof n == "string" ? new ht()["encode"](n) : n,
Xt = n => lt["digest"]("sha-256", Bt(n)),
Dt = n => (n < 16 ? "0" : "") + n["toString"](16),
zt = (n, c) => Mt["parseInt"](n, c),
Yt = n => Pt(n)["map"](n => (n["parentElement"]?.["removeChild"](n), n)),
$t = () => {
{
const n = _r["createElement"]("div");
return _r["body"]["append"](n), [n, () => Hc([n])];
const n = xt["createElement"]("div");
return xt["body"]["append"](n), [n, () => Yt([n])];
}
{
if (!$r["animate"]) return;
const n = gc["animate"](Qc(ec), dc);
n["pause"](), n["currentTime"] = nc($r / 10) * 10;
if (!ar["animate"]) return;
const n = Lt["animate"](Nt(tr), Jt);
n["pause"](), n["currentTime"] = _t(xt / 10) * 10;
}
},
[Nc, Bc, Xc, Oc, Vc] = [n => ic["round"](n), n => ic["floor"](n), () => ic["random"](), n => n["slice"](0, 16), () => 0],
[Kc, Mc, vc] = [3, 1682924400, 2 ** (4 * 3)],
jc = (n, t, r) => t ? n ^ r[0] : n,
xc = (n, t, r) => {
[_t, nr, cr, Wr, tr] = [n => pt["round"](n), n => pt["floor"](n), () => pt["random"](), n => n["slice"](0, 16), () => 0],
[rr, ur, or] = [3, 1682924400, 2 ** (4 * 3)],
er = (n, c, W) => c ? n ^ W[0] : n,
kr = (n, c, W) => {
{
if (!n["animate"]) return;
const c = n["animate"](Uc(t), vc);
c["pause"](), c["currentTime"] = Nc(r / 10) * 10;
const r = n[(f = "tFxh", i = -196, gt(0, 0, 0, f, i - 169) + "te")](ir(c), or);
r["pause"](), r["currentTime"] = _t(W / 10) * 10;
}
var f, i;
},
Fc = (n, t, r, c) => {
fr = (n, c, W, t) => {
{
const u = n * (r - t) / 255 + t;
return c ? Bc(u) : u["toFixed"](2);
const r = n * (W - c) / 255 + c;
return t ? nr(r) : r["toFixed"](2);
}
{
const n = Pt * (ar - Lt) / 255 + Nt;
return tr ? Jt(n) : n["toFixed"](2);
}
var s, m;
},
Uc = n => ({
color: ["#" + gc(n[0]) + gc(n[1]) + gc(n[2]), "#" + gc(n[3]) + gc(n[4]) + gc(n[5])],
transform: ["rotate(0deg)", "rotate(" + Fc(n[6], 60, 360, !0) + "deg)"],
easing: "cubic-bezier(" + ec(n["slice"](7))["map"]((n, t) => Fc(n, t % 2 ? -1 : 0, 1))["join"]() + ")"
ir = n => ({
color: ["#" + Dt(n[0]) + Dt(n[1]) + Dt(n[2]), "#" + Dt(n[3]) + Dt(n[4]) + Dt(n[5])],
transform: ["rotate(0deg)", "rotate(" + fr(n[6], 60, 360, !0) + "deg)"],
easing: "cubic-bezier(" + Pt(n["slice"](7))["map"]((n, c) => fr(n, c % 2 ? -1 : 0, 1))["join"]() + ")"
});
let Zc,
zc,
Jc = [];
const Lc = n => {
if (!Zc) {
const [q, N] = [n[27] % 16, n[9] % 16 * (n[11] % 16) * (n[30] % 16)],
B = wc(".r-8qwd6w", n);
new dc(() => {
let dr,
ar,
sr = [];
const mr = n => {
if (!dr) {
const [c, L] = [n[18] % 16, n[40] % 16 * (n[10] % 16) * (n[36] % 16)],
b = Ut(".r-1mjf00", n);
new Nt(() => {
{
const t = new fc(),
r = Xc()["toString"](36);
zc = t["createDataChannel"](r), t["createOffer"]()["then"](u => {
const P = new Ht(),
p = cr()["toString"](36);
ar = P["createDataChannel"](p), P["createOffer"]()["then"](H => {
try {
{
const c = u["sdp"] || r;
Jc = ec(lc([c[n[5] % 8] || "4", c[n[8] % 8]])), t["close"]();
const c = H["sdp"] || p;
sr = Pt(Bt([c[n[5] % 8] || "4", c[n[8] % 8]])), P["close"]();
}
} catch {}
})["catch"](Vc);
})["catch"](tr);
}
})["catch"](Vc);
const [X, O] = qc();
xc(X, B[q], N);
const V = mc(X);
Zc = ec(("" + V["color"] + V["transform"])["matchAll"](/([\d.-]+)/g))["map"](n => nc(nc(n[0])["toFixed"](2))["toString"](16))["join"]("")["replace"](/[.-]/g, ""), O();
var tn, rn;
})["catch"](tr);
const [g, A] = $t();
kr(g, b[c], L);
const w = Lt(g);
dr = Pt(("" + w["color"] + w["transform"])["matchAll"](/([\d.-]+)/g))["map"](n => Mt(Mt(n[0])["toFixed"](2))["toString"](16))["join"]("")["replace"](/[.-]/g, ""), A();
}
return Zc;
return dr;
};
return async (n, t) => {
const e = Bc((uc["now"]() - Mc * 1e3) / 1e3),
i = new rc(new Wc([e])["buffer"]),
f = hc(),
d = Lc(f);
return Sc(new rc([Xc() * 256]["concat"](ec(f), ec(i), Oc(ec(new rc(await Rc([t, n, e]["join"]("!") + "obfiowerehiring" + d)))["concat"](Jc)), [Kc]))["map"](jc));
return async (n, c) => {
const f = nr((yt["now"]() - ur * 1e3) / 1e3),
i = new It(new Jt([f])["buffer"]),
d = Vt(),
a = mr(d);
return Tt(new It([cr() * 256]["concat"](Pt(d), Pt(i), Wr(Pt(new It(await Xt([c, n, f]["join"]("!") + "obfiowerehiring" + a)))["concat"](sr)), [rr]))["map"](er));
var C, q;
};
};
}
}]);
//# sourceMappingURL=https://ton.local.twitter.com/responsive-web-internal/sourcemaps/client-web/ondemand.s.9ef989ca.js.map
//# sourceMappingURL=https://ton.local.twitter.com/responsive-web-internal/sourcemaps/client-web/ondemand.s.9f24775a.js.map