We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
// original code // (beautified) var _calls_ = 10, a = 100, b = 10, c = 0; for (var brake1 = 5; a++ + -4 && brake1 > 0; --brake1) { try { try { if (a++ + (+function() { { var bar_1 = function f0(a_1, await_2, arguments_1) { c = c + 1; c = 1 + c, (a_1 && (a_1[(c = c + 1) + (typeof arguments_1 == "function" && --_calls_ >= 0 && arguments_1(23..toString()))] &= -1 - 4 ^ -3 !== 22)) | "b" << "c" < (NaN != {}); }(); } { var brake8 = 5; do { var a = (c = c + 1) + b--, undefined_1 = bar_1 &&= a++ + (typeof b_2 == "function"); } while (--b + [ [ (c = 1 + c, (2 | true) - (4 == "undefined") == (3 ^ -5) > ("c" >= -4)), (c = 1 + c, ("undefined" || 25) + 2 % ([ , 0 ].length === 2) < (null && -3) - "function" * 38..toString()), (c = 1 + c, (null, 1) ^ NaN > !0o644n | 4 >>> "" >> ("a" ^ 22)) ], b + 1 - .1 - .1 - .1, undefined_1[c = 1 + c, (Infinity && "number") > ("c", null) !== {} >> 0 << (24..toString() == 25)], --b + --a, (c = 1 + c, ([] >= 1) ** (false > NaN) << (bar_1 && (bar_1[a && a[c = 1 + c, (22 ^ -1 && "function" !== -1) >= (bar_1 = (0 == "object") >> (23..toString() != Infinity))]] += !0 ^ (bar_1 >>>= 22 | "undefined")))) ? (c = 1 + c, ((c = c + 1, 24..toString()) != (0 | 25)) % ((-4 | "a") << (-2 | -3))) : (c = 1 + c, -((3 ^ "a") <= (a && (a.foo = "" % 1)))) ] && --brake8 > 0); } return 1 === 1 ? a : b; }() ? b = a : (c = c + 1) + void ((a && (a[c = 1 + c, ((NaN || "c") >= 2 >> /[a2][^e]+$/) / ((a = null - -3) % ([] + "a"))] += [ , 0 ][1] <= 38..toString())) ^ ([ , 0 ].length === 2) <= -1 ^ (0 && -1) >> ("foo" != 2)))) { var async = a++ + (-4 in [ --b + +(NaN / "object" + (1 >>> 38..toString()) + void (3 || 24..toString())), --b + async, ...[ ...[ ...[ typeof f2 == "function" && --_calls_ >= 0 && f2((c = 1 + c, ~3 - (null || 23..toString()) <= (24..toString() || []) >>> (-1 == [ , 0 ][1])), (c = 1 + c, async && (async[a++ + async] ||= "" % "b" << -5 * true != -2 > [ , 0 ][1] < [] >> -0)), (c = 1 + c, (delete 5 | "a" >= "object") << (2 === 23..toString()) % ("c" <= "function"))), --b + (b += a), 0 === 1 ? a : b ], /[abc4]/g.exec(((c = c + 1) + /[abc4]/.test(((c = 1 + c, ((c = c + 1, -3) && (2 && "a")) >>> ((c = c + 1, [ , 0 ].length === 2) === 25 << null)) || b || 5).toString()) || b || 5).toString()), typeof async_1 == "string" ], async ], , ..."" + async ]); } else { L17898: { c = c + 1; switch (typeof (a++ + (typeof f2 == "function" && --_calls_ >= 0 && f2((c = 1 + c, (async && (async.set >>>= delete 24..toString() < (async = 5 || this))) > (async && (async[c = 1 + c, ~this >>> (-2 !== "") === ((3 & []) != (c = c + 1, Number(0xdeadn << 16n | 0xbeefn)))] <<= [] >>> false)) - (!0o644n < 24..toString())), NaN)))) { case b++: (c = c + 1) + (typeof async == "object"); ; break; case NaN in [ (c = c + 1) + (async && async[--b + (async && async[c = 1 + c, "bar" << null << ("a" <= this) < +("a" >>> 5)])]), --b + (1 === 1 ? a : b), a++ + +((-3 % 0 || "number" & !0o644n) != ((-42n).toString() - 4 === 38..toString() > "c")), /[abc4]/g.exec(("bar" in { async: async, 1.5: (c = 1 + c, (delete "undefined" > (async += false >= false)) + (("a" >= 23..toString()) + !0o644n / null)), async: async, [(c = 1 + c, async = async && (async.undefined ??= (c = c + 1, "undefined") !== 1 - 22) || 3 != "" | 24..toString() ^ NaN)]: (c = 1 + c, "undefined" <= 25 >= -4 % 38..toString(), (async **= undefined == "a") % (38..toString() <= {})), get: (c = 1 + c, (c = c + 1, -5 / -1) === false >>> 0 < "object" / 24..toString()) } || b || 5).toString()), async && async[a++ + ((c = 1 + c, ((23..toString() ?? "foo") || async && (async[c = 1 + c, -((c = c + 1, {}) === (3 | -5))] >>= 2 | "a")) == ("bar", "b") <= "object" + "b") || a || 3).toString()] ]: if (a++ + ~b) { var expr18 = --b + [ (c = 1 + c, (async && (async[a++ + ((c = 1 + c, -([ , 0 ].length === 2 != ([ , 0 ].length === 2)) ?? +(23..toString() >>> 22)) || 3).toString()[c = 1 + c, ([ , 0 ].length === 2 === 25 ?? -3 * Infinity) == (23..toString(), -0) <= null >> false]] = (1 & []) * (38..toString() && 5))) >> delete (true != "c")), (c = 1 + c, 38..toString() <= 1 === ([] | -2), void [] + (1 + this)), (c = 1 + c, (25 ^ -2) >> (async *= false ^ {}), c = c + 1, [ , 0 ][1], /[a2][^e]+$/ | {}) ].value; L17899: for (let key18 in expr18) { c = 1 + c; var foo = expr18[key18]; switch (c = 1 + c, (23..toString() !== 5 || "a" % 24..toString()) > ("foo" + 25) / ("object" ^ "object")) { case c = 1 + c, (this ^ -1) > (null ^ null) != ("" > "number") / (25 ^ []): ; break; case c = 1 + c, (true > Number(0xdeadn << 16n | 0xbeefn)) << (0 << -5) >>> (foo && (foo[c = 1 + c, (foo && (foo.set += -3 || -5 || ("function" ?? 24..toString()))) >= (5 << -2 === (3 == 3))] >>= Infinity >> NaN)) % ("bar" / -2): ; break; case c = 1 + c, foo += ((22 && 3) ^ (-4 || null)) !== (-2 >>> 38..toString() !== 25 < 0): ; break; case c = 1 + c, (async && (async.done = "number" / "c" ^ ~-3)) / ((c = c + 1, 4) * ("number" && true)): ; break; } } } break; case async && (async.get = (3 != "c") << (async && (async.in = "object" !== true)) & (3 | "a" || [ , 0 ][1] >> -2)): try { for (var brake21 = 5; ++b && brake21 > 0; --brake21) { c = 1 + c, (async && (async.get = 24..toString() > -3 < ("foo" < -3))) + (this >>> NaN == ([ , 0 ][1] ^ [ , 0 ].length === 2)); } } finally { if (c = 1 + c, (([ , 0 ][1] >= "b") - (24..toString() <= this)) * (-0 >> -4 > null + 38..toString())) { c = 1 + c, ("foo" >= 22) * (async && (async.NaN = undefined == 25)) >>> (async && (async[+a] &&= (-1 || /[a2][^e]+$/) - 23..toString() / 2)); } for (var brake25 = 5; (c = 1 + c, ((5 == []) >> (async = Number(0xdeadn << 16n | 0xbeefn) & 4)) % ("bar" >> "foo" & ("a", "undefined"))) && brake25 > 0; --brake25) { c = 1 + c, (async && (async[c = 1 + c, (0 || "bar") >> (async && (async.foo = this !== undefined)) == (false === "number") + ("a" << [ , 0 ][1])] -= !0o644n && [ , 0 ].length === 2)) <= (23..toString() === (-42n).toString()) !== ("b" * -2 ^ 25 + 5); } } { var brake27 = 5; do { if (--b + [ (c = 1 + c, 24..toString() & 23..toString() | (async && (async[c = 1 + c, c = c + 1, async.next = 4 < "number" !== 22 + 3] >>>= -2 < -1)) || (38..toString() == 2) % (/[a2][^e]+$/ != 4)), ..."" + async, (c = 1 + c, (23..toString() !== NaN) <= "" << "b" == ({} || 25) > (undefined ^ 24..toString())) ].done) {} } while (((([], arguments_1, async) => { })("", {}, (c = 1 + c, (25 >> this) - ([ , 0 ].length === 2 != []) | ("b" <= false) >> (-4 >> 25))) || 2).toString()[(c = c + 1) + (typeof a === "undefined")] && --brake27 > 0); } break; case new function foo() { this[typeof { set: (c = 1 + c, (undefined != [ , 0 ][1] ^ (async /= "object" == -5)) / (25 - {} > ("a" == NaN))) }.done] *= ((async && (async[c = 1 + c, (async ||= 25 ^ false) >>> ("object" === 38..toString()) << (-2 % undefined >> (1 >> -4))] &&= {} || "foo")) <= (this, [ , 0 ][1]) | (async += "undefined" > []) >> (/[a2][^e]+$/ ^ {})) >= (~(c = c + 1, "b") & ((c = c + 1, {}) ^ null !== false)); }([]): break; } { var expr30 = --b + (async && async.then); L17900: for (async in expr30) { c = 1 + c; var b_1 = expr30[async]; { var brake31 = 5; while ((c = c + 1) + ~((true >= -3 ^ "function" === "bar") & ((22, -0) ^ ("number" ?? ""))) && --brake31 > 0) { var brake32 = 5; L17901: do { try { } catch (yield_1) { c = 1 + c, (/[a2][^e]+$/ <= {} && null !== NaN) / ((async = "number" / "a") - (Infinity >>> Infinity)); c = 1 + c, c = c + 1, async && ([ async[((c = 1 + c, (b_1 *= -3 ?? 23..toString()) < {} >>> -0 & ({} < false) << {} % 38..toString()) || a || 3).toString()] ] = [ (NaN === "number") <= (3 == "bar") ]); } } while ((c = c + 1) + (--b + { "\t": (c = 1 + c, ((c = c + 1, []) >> 23..toString() % "foo") + (("object" ^ 23..toString()) === (3 !== 5))) }) && --brake32 > 0); } } } } var foo_1; } } } catch (a_1) { switch (((c = c + 1) + (/[abc4]/g.exec((--b + /[abc4]/g.exec(((c = c + 1) + a++ || b || 5).toString()) || b || 5).toString()) ? a++ + (typeof alias0 != "undefined" && alias0 || 9).toString()[a++ + (a_1 && typeof a_1.next == "function" && --_calls_ >= 0 && a_1.next())] : /[abc4]/.test((--b + b-- || b || 5).toString())) || a || 3).toString()) { case --b: switch ((c = c + 1) + [ a++ + (1 === 1 ? a : b) ].get) { case a++ + (a++ + delete ((0 % 5 || /[a2][^e]+$/ << NaN) !== !(c = c + 1, -5))): switch (/[abc4]/.test((--b + (a_1 && a_1.b) || b || 5).toString())) { case --b + (("foo" != /[a2][^e]+$/ ^ null >>> null) == (-1 < "function" == -0 <= /[a2][^e]+$/)): break; case --b + ((c = c + 1) + ++a || a || 3).toString(): break; case --b + (typeof f2 == "function" && --_calls_ >= 0 && f2()): { var expr41 = (c = 1 + c, a_1 && (a_1.a *= ((-1, 2) || -1 >= "c") / ({} === NaN | -1 / NaN))); L17902: for (var key41 in expr41) { c = 1 + c; var arguments = expr41[key41]; c = 1 + c, ~(key41 && (key41.b >>>= ("c" && 5) > (a_1 && (a_1.static = "a" / -4)))); } } break; case /[abc4]/.test((((c = 1 + c, (25 ?? this) * (1 + 2), (a_1 && (a_1[c = 1 + c, (c = c + 1, undefined ^ 0) != ("bar" << 25 === 22 % 2)] = -4 != "function")) / +{}) || a || 3).toString() || b || 5).toString()): try { c = 1 + c, (25 >= 22 || 25 != 22) <= (4 > 5 && "object" + "function"); } catch (await) { } finally { } { var expr45 = (c = 1 + c, (-5, "undefined") >= delete "number" > (-5 / 22 & (async && (async.in *= "object" != "object")))); for (var key45 in expr45) { c = 1 + c, ((null ^ 4) != (-0, -2)) < - -3 / ("a" < true); } } break; } break; case b = a: break; case a++ + ("c" in { a: --b, var: [] in {} }): break; case a_1: for (var brake47 = 5; (c = c + 1) + (a_1 && a_1[--b + (b &= a)]) && brake47 > 0; --brake47) { try { { var brake49 = 5; L17903: do { c = 1 + c, "" / "b" > (22 ^ "c") == (5 || true) << (-0 !== 24..toString()); } while ((c = 1 + c, (a_1 && (a_1[c = 1 + c, (async && ([ async.var ] = [ "bar" / "foo" ^ 4 < 24..toString() ])) != (4 !== 2) << (-5 ^ NaN)] += 5 ^ "a"), "number" >= 25) ^ -5 + "b" >= /[a2][^e]+$/ << 1) && --brake49 > 0); } } finally { c = 1 + c, (NaN >= "") / (-0 % ([ , 0 ].length === 2)) ?? false >> 22 ^ undefined != 25; c = 1 + c, 1 % "object" >= (1, [ , 0 ][1]) < false - !0o644n << (undefined <= "number"); } } ; break; } break; default: { var expr54 = --b + ~((0 == "object") / (-1 >= "undefined") << ("bar" >> 4 || async && (async.value = [ , 0 ][1] >> 24..toString()))); for (var key54 in expr54) { c = 1 + c; var foo_1 = expr54[key54]; } } case /[abc4]/.test((a++ + (a_1 && a_1[(c = c + 1) + (22 in [])]) || b || 5).toString()): c = c + 1; try { try { c = c + 1; } catch (a_2) { { var brake60 = 5; L17904: while (--b + [ (c = 1 + c, (a_2 && (a_2[c = 1 + c, a_1 && (a_1.async = -(true >>> 4) | ("foo" | -4) <= (NaN & "undefined"))] += -1 + this)) & (c = c + 1, [ , 0 ][1]) && (a_1 && ([ a_1[a++ + a++] ] = [ -0 / 22 ^ (23..toString(), 2) ]))), (c = 1 + c, ({} ^ 38..toString()) == ((-42n).toString() ^ false) === ("number" - [] ^ 3 + 1)), (c = 1 + c, ("" != 0) > 5 % true === (Number(0xdeadn << 16n | 0xbeefn) / -3 | "number" % "number")), (c = 1 + c, (-4 - null, /[a2][^e]+$/ + 25) << ((c = c + 1, NaN) << undefined - Infinity)) ][c = 1 + c, c = c + 1, ("a" | "foo") + (23..toString() ?? "number")] && --brake60 > 0) { var await_1 = (c = 1 + c, a_1 && (a_1[[ (c = 1 + c, (a_2 += 4 >>> 22, await_1 && (await_1.a = 24..toString() % 24..toString())) ^ NaN << Infinity <= (-5 < "foo")), (c = 1 + c, (4 >>> "") - ([] | -4) | (c = c + 1, "foo" != -0)), (c = 1 + c, (null != -2 || 4 >>> 1) ^ (NaN ^ "bar" | 4 * "c")), (c = 1 + c, (-5 != -4) < ("" == ([ , 0 ].length === 2)) ?? null % 3 >> (a_2 = true << -0)) ].next] %= delete ("function" === "foo") % (3 * -5 >>> ("foo" ^ 5)))); } } { var async = function f1(foo_2, a, async_2) { }(); } } } finally { { var brake63 = 5; L17905: while ("foo" && --brake63 > 0) { c = 1 + c, ((c = c + 1, true) != -5 in 38..toString()) + (("c" | 25) >= (Infinity & "undefined")); } } try { { var expr67 = a++ + ((c = 1 + c, (void 3 && "foo" > ([ , 0 ].length === 2)) ^ "undefined" === -5 & (a_1 && (a_1[c = 1 + c, async[a++ + (typeof f3 == "function" && --_calls_ >= 0 && f3() ? !function() { }() : function a_1_2() { })] = 24..toString() >> Infinity >> (-5 >> 5) !== (a_1 && (a_1.Infinity = ([], undefined) >>> 23..toString() % 24..toString()))] <<= "bar" % ""))) || 5).toString()[c = 1 + c, a_1 && (a_1[--a] /= ((-0, (-42n).toString()) !== {} >>> "number", (undefined & -5) >> (2 >>> "foo")))]; L17906: for (var key67 in expr67) { c = c + 1; } } } catch (b_1) { { } c = 1 + c, false > "foo" !== -2 < 2 == "function" < Infinity > (a_1 = NaN * -1); } } break; case a++ + (async && async.static): ; break; } { var expr72 = --b + (b += a); for (var key72 in expr72) { c = 1 + c; var a_1 = expr72[key72]; } } } finally { { var brake74 = 5; do { L17907: for (var brake75 = 5; typeof async == "function" && --_calls_ >= 0 && async("c", 3 in { null: b += a }) && brake75 > 0; --brake75) { switch ((c = c + 1) + /[abc4]/g.exec((--b + (async = [ (c = 1 + c, !("" >= -1) == (2 + -5 == (async && (async.a = false || -3)))) ].static) || b || 5).toString())) { case ((c = c + 1) + (typeof f2 == "function" && --_calls_ >= 0 && f2("c", false, (c = c + 1) + a++)) || 7).toString()[a++ + (async && typeof async.c == "function" && --_calls_ >= 0 && async.c(--b + { set: (c = 1 + c, (async && (async[a++ + [ (c = 1 + c, c = c + 1, (3 | 24..toString()) > NaN % /[a2][^e]+$/) ].set] += 25 - 2 << ("undefined" ^ 38..toString()))) > (async && (async[a++ + ((c = 1 + c, -1 / -1 == ([ , 0 ].length === 2) > [] != (async = (1 >>> {}) + (c = c + 1, "a"))) || 5).toString()[c = 1 + c, (NaN == NaN) % +/[a2][^e]+$/, (async += -1 >>> -4) <= (async <<= [ , 0 ][1] - Infinity)]] = (false !== {}) / ("function" - "bar")))), get: (c = 1 + c, (c = c + 1, "bar" | "bar") == (-2 > -5) >> (24..toString() ?? "foo")), get a() { c = 1 + c, async && (async.then = (2 && 5, this - -0) ** (("a" ^ -0) <= (4 > 22))); }, async: (c = 1 + c, async && (async.c |= (async && (async[delete ((async = this < 38..toString()) > (23..toString() <= Infinity) >= ("bar" < ([ , 0 ].length === 2), [] ?? 22))] += 38..toString() + false < (Infinity ^ {}))) !== ("" >= undefined ^ (-0 | "foo")))) }.null))]: { var expr78 = --b + (b += a); for (let key78 in expr78) { continue L17907; } } break; case --b + (((-1 < 38..toString()) << (-1 !== [])) - ((1 || 2) < (true | 38..toString()))): c = c + 1; var c_1 = (c = c + 1) + (b %= a); break; case 0 === 1 ? a : b: ; ; break; case a++ + --b: } } } while ((+("bar", 1) >> ((-3 === []) <= Infinity % true) ? (c = c + 1) + (b = a) : a++ + { in: "b" in [ (c = c + 1) + (typeof c_1 == "function" && --_calls_ >= 0 && c_1(-2, (c = 1 + c, ("bar" ^ "c") * (1 & [ , 0 ][1]) % (22 <= -2 === ("a" || 1))), (c = 1 + c, (c = c + 1, true ^ undefined) ^ (2 > -3) % (1 & Infinity)))), {} in [ (c = 1 + c, "number" >> -4 > (c = c + 1, 1) ?? (c = c + 1, (-42n).toString()) + ("bar" == false)) ], (c = 1 + c, (({} | "c") ^ (-1 ^ 23..toString())) <= +{} + (c = c + 1, "bar")) ], Infinity: a++ + (typeof f2 == "function" && --_calls_ >= 0 && f2(24..toString() in { 1.5: (c = 1 + c, c_1 && ({ set: c_1.var } = { set: (c = c + 1, undefined < 3) && (c = c + 1, "bar" % 3) })), length: (c = 1 + c, (24..toString(), "object") !== (c_1 && (c_1.foo >>>= Infinity ^ undefined)) === (c = c + 1, 23..toString() == {})) })) }[b = a]) && --brake74 > 0); } new function b_2(Infinity_2, b_2) { { { var b_2 = function f2(a_2, foo_2) { }(); } } }(--b + b--, a++ + (typeof f1 == "function" && --_calls_ >= 0 && f1(a++ + void function b_2() { let b_2 = void function() { }(); c = 1 + c, void (-4, "foo") - (4 - 3) * -"b"; c = 1 + c, 23..toString() ^ 2 || (async **= null <= "a") || "bar" / Infinity << -2 / -1; c = 1 + c, (-1 ^ Infinity <= this) >>> ((c_1 += "a" > undefined) == (-3) ** -4); c = 1 + c, "b" * /[a2][^e]+$/ % (22 >>> []) != (22 <= "a" !== 23..toString() > "a"); }(), false in { set in(NaN_2) { this.foo = -1 ?? 22; } }, Number(0xdeadn << 16n | 0xbeefn))), c_1); } } catch (a_2) { { var brake91 = 5; while (typeof f2 == "function" && --_calls_ >= 0 && f2(this) && --brake91 > 0) { c = c + 1; } } async && async[a++ + ~(c = c + 1, (Infinity == -4) <= "foo" << "undefined")]; } } { var b = function f3(b_1, async_1) { { return; [ void ((undefined, -2) !== (undefined & "a") ^ (async_1 && (async_1.a = (async += -5 * [ , 0 ][1]) !== undefined << -3))), b += a, (c = c + 1) + /[abc4]/.test((--b || b || 5).toString()), -3 in [ { set: (c = c + 1) + (typeof f1 == "function" && --_calls_ >= 0 && f1(NaN)), set: --b }[/[abc4]/.test((--b + (c = 1 + c, b_1 && (b_1.get = (c = c + 1, 24..toString()) + (/[a2][^e]+$/ ^ 38..toString()) != ("bar" | -0) / ("b" && 3))) || b || 5).toString())], +function undefined_2() { try { c = 1 + c, (1 % this == (undefined_2 && (undefined_2[c = 1 + c, "object" <= "a" !== null - 5 != (c = c + 1, "foo" <= -1)] = 5 > "bar"))) ** (-0 / {} * (-3 & Infinity)); } finally { } var Infinity_1; }() ], ..."" + b_1 ]; } if (async_1 && typeof async_1.async == "function" && --_calls_ >= 0 && async_1.async((/[a2][^e]+$/ & -0) <= "foo" * -5 > -("c" - null))) { var yield_2 = --b + b++; } else { ((async ^= --b + (yield_2 && yield_2[+("number" * null << (2 >>> 38..toString()) != ("function" == ([ , 0 ].length === 2)) >>> delete 5)] || a || 3).toString()) || a || 3).toString(); } }(); } console.log(null, a, b, c, Infinity, NaN, undefined);
// uglified code // (beautified) for (var n, t, e, a, i, o, f, c, r, s, y, g, b, h, l, d, u, N, x, p, v, S, k, w, _ = 10, I = 100, m = 10, j = 0, q = 5; I++ - 4 && 0 < q; --q) { try { try { if (I++ + (+function() { for (var t, n, e = function f0(t, n, e) { j = 1 + (j += 1), t && (t[(j += 1) + ("function" == typeof e && 0 <= --_ && e("23"))] &= -6); }(), a = 5; t = (j += 1) + m--, n = e &&= t++ + ("function" == typeof b_2), --m + [ [ !1, "undefined" + 2 % (2 === [ , 0 ].length) < NaN, 1 ^ !0o644n < NaN | 0 ], m + 1 - .1 - .1 - .1, n[!0], --m + --t, (j = 1 + (j = 1 + (j = 1 + (j = 1 + (j = 1 + j)))), 1 << (e && (e[t && t[j = 1 + j, (e = 0) <= !0]] += !0 ^ (e >>>= 22))) ? (j = 1 + j, (25 != (j += 1, "24")) % 0) : (j = 1 + j, -(3 <= (t && (t.foo = 0))))) ] && 0 < --a; ) {} return t; }() ? m = I : (j += 1) + void (I && (I[j = 1 + j, !1 / ((I = 3) % "a")] += !0)))) { n = I++ + (-4 in [ --m + NaN, --m + n, "function" == typeof f2 && 0 <= --_ && f2(!0, (j = 1 + (j = 1 + j), n && (n[I++ + n] ||= !1)), (j = 1 + j, 1)), --m + (m += I), m, /[abc4]/g.exec(((j += 1) + /[abc4]/.test((j = 1 + j, j += 1, ("a" >>> (25 === (j += 1, 2 === [ , 0 ].length)) || m || 5).toString())) || m || 5).toString()), "string" == typeof async_1, n, , ..."" + n ]); } else { switch (j += 1, typeof (I++ + ("function" == typeof f2 && 0 <= --_ && f2((j = 1 + j, (n && (n.set >>>= !0 < (n = 5))) > (n && (n[j = 1 + j, ~this >>> !0 === (0 != (j += 1, +("" + (0xdeadn << 16n | 0xbeefn))))] <<= 0)) - (!0o644n < "24")), NaN)))) { case m++: j += 1; break; case NaN in [ (j += 1) + (n && n[--m + (n && n[j = 1 + j, 0 << ("a" <= this) < 0])]), --m + I, I++ + +(("number" & !0o644n) != ("" + -42n - 4 === !1)), /[abc4]/g.exec(("bar" in { async: n, 1.5: ((n += !0) < !0) + (!0 + !0o644n / null), async: n, [(j = 1 + (j = 1 + j), n = n && (n.undefined ??= -21 !== (j += 1, "undefined")) || 25)]: (n **= !1) % !0, get: (j = 1 + (j = 1 + j), !1 === (j += 1, 5)) } || m || 5).toString()), n && n[I++ + (j = 1 + j, (I || 3).toString())] ]: if (I++ + ~m) { for (k in t = --m + [ (j = 1 + j, (n && (n[I++ + ("" + (-(2 === [ , 0 ].length != (2 === [ , 0 ].length)) || 3))[j = 1 + (j = 1 + j), 1 == (2 === [ , 0 ].length === 25 ?? -Infinity)]] = 0)) >> !0), void 0 + (1 + this), (j = 1 + (j = 1 + j), n *= 0, j += 1, 0) ].value) { switch (j = 1 + j, e = t[k], !1) { case j = 1 + (j = 1 + j), 0 < (-1 ^ this) != 0: case j = 1 + j, (+("" + (0xdeadn << 16n | 0xbeefn)) < !0) << 0 >>> (e && (e[j = 1 + j, !1 <= (e && (e.set += -3))] >>= 0)) % NaN: case j = 1 + j, e += !0: case j = 1 + j, (n && (n.done = 2)) / (!0 * (j += 1, 4)): } } } break; case n && (n.get = !0 << (n && (n.in = !0)) & 3): try { for (a = 5; ++m && 0 < a; --a) { j = 1 + j, n && (n.get = !1); } } finally { for (j = 1 + j, !1 * (!1 - ("24" <= this)) && (j = 1 + j, n && (n.NaN = !1), n && (n[+I] &&= -12.5)), i = 5; j = 1 + j, (!1 >> (n = 4 & +("" + (0xdeadn << 16n | 0xbeefn)))) % 0 && 0 < i; --i) { j = 1 + j, n && (n[j = 1 + j, "bar" >> (n && (n.foo = void 0 !== this)) == 0] -= !0o644n && 2 === [ , 0 ].length); } } for (o = 5; --m, j = 1 + j, n && (n[j = 1 + j, j += 1, n.next = !0] >>>= !0), ([ [] ] = [ "", j = 1 + (j = 1 + j) ]), "2"[(j += 1) + (void 0 === I)] && 0 < --o; ) {} break; case new function foo() { this[typeof { set: (j = 1 + j, (!0 ^ (n /= !1)) / !1) }.done] *= ((n && (n[j = 1 + j, (n ||= 25) >>> !1 << 0] &&= {})) <= 0 | (n += !0) >> 0) >= (j += 1, -1 & (!0 ^ (j += 1, {}))); }(): } for (n in --m + (n && n.then)) { for (j = 1 + j, f = 5; (j += 1) + -1 && 0 < --f; ) { for (c = 5; (j += 1) + (--m + { "\t": (j = 1 + j, j += 1, 0) }) && 0 < --c; ) {} } } } } catch (z) { switch (((j += 1) + (/[abc4]/g.exec((--m + /[abc4]/g.exec(((j += 1) + I++ || m || 5).toString()) || m || 5).toString()) ? I++ + ("" + ("undefined" != typeof alias0 && alias0 || 9))[I++ + (z && "function" == typeof z.next && 0 <= --_ && z.next())] : /[abc4]/.test((--m + m-- || m || 5).toString())) || I || 3).toString()) { case --m: switch ((j += 1) + [ I++ + I ].get) { case I++ + (I++ + (j += 1, !0)): switch (/[abc4]/.test((--m + (z && z.b) || m || 5).toString())) { case --m + !0: case --m + ((j += 1) + ++I || I || 3).toString(): break; case --m + ("function" == typeof f2 && 0 <= --_ && f2()): for (s in j = 1 + j, r = z && (z.a *= 2 / 0)) { j = 1 + j, r[s], j = 1 + j, s && (s.b >>>= (z && (z.static = NaN)) < 5); } break; case /[abc4]/.test((j = 1 + j, (((z && (z[j = 1 + j, 1 != (j += 1, 0)] = !0)) / NaN || I || 3).toString() || m || 5).toString())): try { j = 1 + j; } catch (t) {} for (y in j = 1 + j, (-5 / 22 & (n && (n.in *= !1))) < !1) { j = 1 + j; } } break; case m = I: case I++ + ("c" in { a: --m, var: [] in {} }): break; case z: for (g = 5; (j += 1) + (z && z[--m + (m &= I)]) && 0 < g; --g) { try { j = 1 + (j = 1 + j), z && (z[j = 1 + j, (n && ([ n.var ] = [ 1 ])) != !0 << -5] += 5); } finally { j = 1 + (j = 1 + j); } } } break; default: for (b in --m + ~(NaN << (n && (n.value = 0)))) { j = 1 + j; } case /[abc4]/.test((I++ + (z && z[(j += 1) + (22 in [])]) || m || 5).toString()): j += 1; try { try { j += 1; } catch (t) { for (h = 5; --m + [ (j = 1 + j, (t && (t[j = 1 + j, z && (z.async = 1)] += -1 + this)) & (j += 1, 0) && z && ([ z[I++ + I++] ] = [ 2 ])), 38 == ("" + -42n ^ !1) === 4, !1 === (("" + (0xdeadn << 16n | 0xbeefn)) / -3 | NaN), (j = 1 + (j = 1 + (j = 1 + j)), 0) ][j = 1 + (j += 1), j += 1, "023"] && 0 < --h; ) { j = 1 + j, l = z && (z[[ (j = 1 + j, !0 ^ (t += 0, l && (l.a = 0))), (j = 1 + j, 9), 1, (j = 1 + (j = 1 + (j += 1)), !0 < ("" == (2 === [ , 0 ].length)) ?? 0 >> (t = 1)) ].next] %= 1); } n = void 0; } } finally { for (d = 5; 0 < --d; ) { j = 1 + j, j += 1, 0 in "38"; } try { for (u in I++ + (j = 1 + j, ("" + (void 0 ^ !1 & (z && (z[j = 1 + j, n[I++ + (!!("function" == typeof f3 && 0 <= --_ && f3()) || function a_1_2() {})] = 0 !== (z && (z.Infinity = 0))] <<= NaN)) || 5))[j = 1 + j, z && (z[--I] /= 0)])) { j += 1; } } catch (t) { j = 1 + j, z = NaN; } } break; case I++ + (n && n.static): } for (x in N = --m + (m += I)) { var j = 1 + j, z = N[x]; } } finally { p = 5; do { t: for (v = 5; "function" == typeof n && 0 <= --_ && n("c", 3 in { null: m += I }) && 0 < v; --v) { switch ((j += 1) + /[abc4]/g.exec((--m + (n = [ (j = 1 + j, 0 == (-3 == (n && (n.a = -3)))) ].static) || m || 5).toString())) { case ("" + ((j += 1) + ("function" == typeof f2 && 0 <= --_ && f2("c", !1, (j += 1) + I++)) || 7))[I++ + (n && "function" == typeof n.c && 0 <= --_ && n.c(--m + { set: (j = 1 + j, (n && (n[I++ + [ (j = 1 + j, j += 1, !1) ].set] += 1472)) > (n && (n[I++ + (j = 1 + j, ("" + (1 == [] < (2 === [ , 0 ].length) != (n = 1 + (j += 1, "a")) || 5))[j = 1 + j, (n += 15) <= (n <<= -Infinity)])] = NaN))), get: (j = 1 + j, 0 == (j += 1, 0)), get a() { j = 1 + j, n && (n.then = (this - -0) ** !0); }, async: (j = 1 + j, n && (n.c |= 0 !== (n && (n[n = this < "38", !0] += !1)))) }.null))]: for (w in --m + (m += I)) { continue t; } break; case 1 + --m: j += 1, j += 1, m %= I; break; case m: break; case I++ + --m: } } } while ((j += 1) + (m = I) && 0 < --p); --m, m--, I++, "function" == typeof f1 && 0 <= --_ && f1(I++ + void function b_2() { j = 1 + (j = 1 + (j = 1 + (j = 1 + j))); }(), !1 in { set in(t) { this.foo = -1; } }, +("" + (0xdeadn << 16n | 0xbeefn))); } } catch (t) { for (S = 5; "function" == typeof f2 && 0 <= --_ && f2(this) && 0 < --S; ) { j += 1; } n && n[I++ + (j += 1, -2)]; } } console.log(null, I, m = void 0, j, Infinity, NaN, void 0);
original result: null 131 undefined 95 Infinity NaN undefined uglified result: null 135 undefined 75 Infinity NaN undefined
// reduced test case (output will differ) // (beautified) var bar_1 = function f0() {}(); do { var undefined_1 = bar_1 &&= 0; } while ([ undefined_1[0] ]); // output: TypeError: Cannot read property '0' of undefined // minify: Error: Script execution timed out after 200ms // options: { // "compress": { // "hoist_vars": true, // "keep_infinity": true, // "passes": 1000000, // "unsafe": true // }, // "keep_fnames": true, // "toplevel": true, // "output": { // "v8": true // }, // "validate": true // }
minify(options): { "compress": { "hoist_vars": true, "keep_infinity": true, "passes": 1000000, "unsafe": true }, "keep_fnames": true, "toplevel": true, "output": { "v8": true } } Suspicious compress options: collapse_vars pure_getters reduce_vars unsafe
The text was updated successfully, but these errors were encountered:
fix corner case in pure_getters
pure_getters
3b3e0c6
fixes mishoo#4876
fix corner case in pure_getters (#4877)
a06e203
fixes #4876
Successfully merging a pull request may close this issue.
The text was updated successfully, but these errors were encountered: