--[[
below is shown the 3 lines needed to deobfuscate this retarded file. ***** you 3ds
also this is not deobfuscating, such does not exist/ will never exist unless the obfuscator sucks,
all the script is doing constantly dumping the file until there's nothing left
showing it incomplete
this obfuscated file prints hi to the console.
--]]
local oldtable = table.concat -- constant that has the value of a table.
table.concat = function(a) -- change the meaning of the value of oldtable.
  print(oldtable(a)) -- print the oldtable with its function constant
  return oldtable(a) -- returns the constant's meaning to the print so it constantly brings the source code
-- everything below is just obfuscated, this is just mixed code that hides its true source.
end
return (function(bruh_IlIlllIIlIIlIlIllIIlIlI, bruh_lIIIIllIllIlIIIlIllIllIIl, bruh_lIIIIllIllIlIIIlIllIllIIl)
    local bruh_llllIlIlIIllIlllIllIl = string.char
    local bruh_lllllllIIIlIIlIIIII = string.sub
    local bruh_IIIIIllIIllIllIlIlIl = table.concat
    local bruh_IlIlIIIIIlllIllllIIllll = math.ldexp
    local bruh_IlIIIIIlIIIllIIIlIII = getfenv or function()
            return _ENV
        end
    local bruh_llIlIlllIlllllIII = select
    local bruh_lIIIIllIllIlIIIlIllIllIIl = unpack or table.unpack
    local bruh_IIlIIlIIIlIlIlI = tonumber
    local function bruh_lllIllIIIllIIlIII(bruh_IIlIllIlIlIIIl)
        local bruh_IllIIlllllIlIllIIIlIIllII, bruh_lIlllIIIllIIllIIlIIllllIl, bruh_llIIllIl = "", "", {}
        local bruh_lIllllIIIIIlllIlIlIII = 256
        local bruh_IlIlllIIlIIlIlIllIIlIlI = {}
        for bruh_lIIIIllIllIlIIIlIllIllIIl = 0, bruh_lIllllIIIIIlllIlIlIII - 1 do
            bruh_IlIlllIIlIIlIlIllIIlIlI[bruh_lIIIIllIllIlIIIlIllIllIIl] =
                bruh_llllIlIlIIllIlllIllIl(bruh_lIIIIllIllIlIIIlIllIllIIl)
        end
        local bruh_lIIIIllIllIlIIIlIllIllIIl = 1
        local function bruh_IIIIlllIllIIllllII()
            local bruh_IllIIlllllIlIllIIIlIIllII =
                bruh_IIlIIlIIIlIlIlI(
                bruh_lllllllIIIlIIlIIIII(
                    bruh_IIlIllIlIlIIIl,
                    bruh_lIIIIllIllIlIIIlIllIllIIl,
                    bruh_lIIIIllIllIlIIIlIllIllIIl
                ),
                36
            )
            bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIIIIllIllIlIIIlIllIllIIl + 1
            local bruh_lIlllIIIllIIllIIlIIllllIl =
                bruh_IIlIIlIIIlIlIlI(
                bruh_lllllllIIIlIIlIIIII(
                    bruh_IIlIllIlIlIIIl,
                    bruh_lIIIIllIllIlIIIlIllIllIIl,
                    bruh_lIIIIllIllIlIIIlIllIllIIl + bruh_IllIIlllllIlIllIIIlIIllII - 1
                ),
                36
            )
            bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIIIIllIllIlIIIlIllIllIIl + bruh_IllIIlllllIlIllIIIlIIllII
            return bruh_lIlllIIIllIIllIIlIIllllIl
        end
        bruh_IllIIlllllIlIllIIIlIIllII = bruh_llllIlIlIIllIlllIllIl(bruh_IIIIlllIllIIllllII())
        bruh_llIIllIl[1] = bruh_IllIIlllllIlIllIIIlIIllII
        while bruh_lIIIIllIllIlIIIlIllIllIIl < #bruh_IIlIllIlIlIIIl do
            local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_IIIIlllIllIIllllII()
            if bruh_IlIlllIIlIIlIlIllIIlIlI[bruh_lIIIIllIllIlIIIlIllIllIIl] then
                bruh_lIlllIIIllIIllIIlIIllllIl = bruh_IlIlllIIlIIlIlIllIIlIlI[bruh_lIIIIllIllIlIIIlIllIllIIl]
            else
                bruh_lIlllIIIllIIllIIlIIllllIl =
                    bruh_IllIIlllllIlIllIIIlIIllII .. bruh_lllllllIIIlIIlIIIII(bruh_IllIIlllllIlIllIIIlIIllII, 1, 1)
            end
            bruh_IlIlllIIlIIlIlIllIIlIlI[bruh_lIllllIIIIIlllIlIlIII] =
                bruh_IllIIlllllIlIllIIIlIIllII .. bruh_lllllllIIIlIIlIIIII(bruh_lIlllIIIllIIllIIlIIllllIl, 1, 1)
            bruh_llIIllIl[#bruh_llIIllIl + 1], bruh_IllIIlllllIlIllIIIlIIllII, bruh_lIllllIIIIIlllIlIlIII =
                bruh_lIlllIIIllIIllIIlIIllllIl,
                bruh_lIlllIIIllIIllIIlIIllllIl,
                bruh_lIllllIIIIIlllIlIlIII + 1
        end
        return table.concat(bruh_llIIllIl)
    end
    local bruh_IIIIlllIllIIllllII =
        bruh_lllIllIIIllIIlIII(
        "1J1H2751J1K2751H22P22R23C23J22T1J27427522H23C1L2791327L2751G27M1N1H27Q27H2751M27927427Q1H1I279280279279"
    )
    local bruh_lIIIIllIllIlIIIlIllIllIIl = (bit or bit32)
    local bruh_llIIllIl =
        bruh_lIIIIllIllIlIIIlIllIllIIl and bruh_lIIIIllIllIlIIIlIllIllIIl.bxor or
        function(bruh_lIIIIllIllIlIIIlIllIllIIl, bruh_lIlllIIIllIIllIIlIIllllIl)
            local bruh_IllIIlllllIlIllIIIlIIllII, bruh_llIIllIl, bruh_lllllllIIIlIIlIIIII = 1, 0, 10
            while bruh_lIIIIllIllIlIIIlIllIllIIl > 0 and bruh_lIlllIIIllIIllIIlIIllllIl > 0 do
                local bruh_lllllllIIIlIIlIIIII, bruh_lIllllIIIIIlllIlIlIII =
                    bruh_lIIIIllIllIlIIIlIllIllIIl % 2,
                    bruh_lIlllIIIllIIllIIlIIllllIl % 2
                if bruh_lllllllIIIlIIlIIIII ~= bruh_lIllllIIIIIlllIlIlIII then
                    bruh_llIIllIl = bruh_llIIllIl + bruh_IllIIlllllIlIllIIIlIIllII
                end
                bruh_lIIIIllIllIlIIIlIllIllIIl, bruh_lIlllIIIllIIllIIlIIllllIl, bruh_IllIIlllllIlIllIIIlIIllII =
                    (bruh_lIIIIllIllIlIIIlIllIllIIl - bruh_lllllllIIIlIIlIIIII) / 2,
                    (bruh_lIlllIIIllIIllIIlIIllllIl - bruh_lIllllIIIIIlllIlIlIII) / 2,
                    bruh_IllIIlllllIlIllIIIlIIllII * 2
            end
            if bruh_lIIIIllIllIlIIIlIllIllIIl < bruh_lIlllIIIllIIllIIlIIllllIl then
                bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIlllIIIllIIllIIlIIllllIl
            end
            while bruh_lIIIIllIllIlIIIlIllIllIIl > 0 do
                local bruh_lIlllIIIllIIllIIlIIllllIl = bruh_lIIIIllIllIlIIIlIllIllIIl % 2
                if bruh_lIlllIIIllIIllIIlIIllllIl > 0 then
                    bruh_llIIllIl = bruh_llIIllIl + bruh_IllIIlllllIlIllIIIlIIllII
                end
                bruh_lIIIIllIllIlIIIlIllIllIIl, bruh_IllIIlllllIlIllIIIlIIllII =
                    (bruh_lIIIIllIllIlIIIlIllIllIIl - bruh_lIlllIIIllIIllIIlIIllllIl) / 2,
                    bruh_IllIIlllllIlIllIIIlIIllII * 2
            end
            return bruh_llIIllIl
        end
    local function bruh_lIlllIIIllIIllIIlIIllllIl(
        bruh_IllIIlllllIlIllIIIlIIllII,
        bruh_lIIIIllIllIlIIIlIllIllIIl,
        bruh_lIlllIIIllIIllIIlIIllllIl)
        if bruh_lIlllIIIllIIllIIlIIllllIl then
            local bruh_lIIIIllIllIlIIIlIllIllIIl =
                (bruh_IllIIlllllIlIllIIIlIIllII / 2 ^ (bruh_lIIIIllIllIlIIIlIllIllIIl - 1)) %
                2 ^ ((bruh_lIlllIIIllIIllIIlIIllllIl - 1) - (bruh_lIIIIllIllIlIIIlIllIllIIl - 1) + 1)
            return bruh_lIIIIllIllIlIIIlIllIllIIl - bruh_lIIIIllIllIlIIIlIllIllIIl % 1
        else
            local bruh_lIIIIllIllIlIIIlIllIllIIl = 2 ^ (bruh_lIIIIllIllIlIIIlIllIllIIl - 1)
            return (bruh_IllIIlllllIlIllIIIlIIllII % (bruh_lIIIIllIllIlIIIlIllIllIIl + bruh_lIIIIllIllIlIIIlIllIllIIl) >=
                bruh_lIIIIllIllIlIIIlIllIllIIl) and
                1 or
                0
        end
    end
    local bruh_lIIIIllIllIlIIIlIllIllIIl = 1
    local function bruh_IllIIlllllIlIllIIIlIIllII()
        local bruh_lIllllIIIIIlllIlIlIII,
            bruh_lllllllIIIlIIlIIIII,
            bruh_lIlllIIIllIIllIIlIIllllIl,
            bruh_IllIIlllllIlIllIIIlIIllII =
            bruh_IlIlllIIlIIlIlIllIIlIlI(
            bruh_IIIIlllIllIIllllII,
            bruh_lIIIIllIllIlIIIlIllIllIIl,
            bruh_lIIIIllIllIlIIIlIllIllIIl + 3
        )
        bruh_lIllllIIIIIlllIlIlIII = bruh_llIIllIl(bruh_lIllllIIIIIlllIlIlIII, 17)
        bruh_lllllllIIIlIIlIIIII = bruh_llIIllIl(bruh_lllllllIIIlIIlIIIII, 17)
        bruh_lIlllIIIllIIllIIlIIllllIl = bruh_llIIllIl(bruh_lIlllIIIllIIllIIlIIllllIl, 17)
        bruh_IllIIlllllIlIllIIIlIIllII = bruh_llIIllIl(bruh_IllIIlllllIlIllIIIlIIllII, 17)
        bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIIIIllIllIlIIIlIllIllIIl + 4
        return (bruh_IllIIlllllIlIllIIIlIIllII * 16777216) + (bruh_lIlllIIIllIIllIIlIIllllIl * 65536) +
            (bruh_lllllllIIIlIIlIIIII * 256) +
            bruh_lIllllIIIIIlllIlIlIII
    end
    local function bruh_IIlIllIlIlIIIl()
        local bruh_IllIIlllllIlIllIIIlIIllII =
            bruh_llIIllIl(
            bruh_IlIlllIIlIIlIlIllIIlIlI(
                bruh_IIIIlllIllIIllllII,
                bruh_lIIIIllIllIlIIIlIllIllIIl,
                bruh_lIIIIllIllIlIIIlIllIllIIl
            ),
            17
        )
        bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIIIIllIllIlIIIlIllIllIIl + 1
        return bruh_IllIIlllllIlIllIIIlIIllII
    end
    local function bruh_lIllllIIIIIlllIlIlIII()
        local bruh_IllIIlllllIlIllIIIlIIllII, bruh_lIlllIIIllIIllIIlIIllllIl =
            bruh_IlIlllIIlIIlIlIllIIlIlI(
            bruh_IIIIlllIllIIllllII,
            bruh_lIIIIllIllIlIIIlIllIllIIl,
            bruh_lIIIIllIllIlIIIlIllIllIIl + 2
        )
        bruh_IllIIlllllIlIllIIIlIIllII = bruh_llIIllIl(bruh_IllIIlllllIlIllIIIlIIllII, 17)
        bruh_lIlllIIIllIIllIIlIIllllIl = bruh_llIIllIl(bruh_lIlllIIIllIIllIIlIIllllIl, 17)
        bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIIIIllIllIlIIIlIllIllIIl + 2
        return (bruh_lIlllIIIllIIllIIlIIllllIl * 256) + bruh_IllIIlllllIlIllIIIlIIllII
    end
    local function bruh_lllIllIIIllIIlIII()
        local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_IllIIlllllIlIllIIIlIIllII()
        local bruh_IllIIlllllIlIllIIIlIIllII = bruh_IllIIlllllIlIllIIIlIIllII()
        local bruh_lllllllIIIlIIlIIIII = 1
        local bruh_llIIllIl =
            (bruh_lIlllIIIllIIllIIlIIllllIl(bruh_IllIIlllllIlIllIIIlIIllII, 1, 20) * (2 ^ 32)) +
            bruh_lIIIIllIllIlIIIlIllIllIIl
        local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIlllIIIllIIllIIlIIllllIl(bruh_IllIIlllllIlIllIIIlIIllII, 21, 31)
        local bruh_IllIIlllllIlIllIIIlIIllII =
            ((-1) ^ bruh_lIlllIIIllIIllIIlIIllllIl(bruh_IllIIlllllIlIllIIIlIIllII, 32))
        if (bruh_lIIIIllIllIlIIIlIllIllIIl == 0) then
            if (bruh_llIIllIl == 0) then
                return bruh_IllIIlllllIlIllIIIlIIllII * 0
            else
                bruh_lIIIIllIllIlIIIlIllIllIIl = 1
                bruh_lllllllIIIlIIlIIIII = 0
            end
        elseif (bruh_lIIIIllIllIlIIIlIllIllIIl == 2047) then
            return (bruh_llIIllIl == 0) and (bruh_IllIIlllllIlIllIIIlIIllII * (1 / 0)) or
                (bruh_IllIIlllllIlIllIIIlIIllII * (0 / 0))
        end
        return bruh_IlIlIIIIIlllIllllIIllll(bruh_IllIIlllllIlIllIIIlIIllII, bruh_lIIIIllIllIlIIIlIllIllIIl - 1023) *
            (bruh_lllllllIIIlIIlIIIII + (bruh_llIIllIl / (2 ^ 52)))
    end
    local bruh_IIlIIlIIIlIlIlI = bruh_IllIIlllllIlIllIIIlIIllII
    local function bruh_llllIllIlIlI(bruh_IllIIlllllIlIllIIIlIIllII)
        local bruh_lIlllIIIllIIllIIlIIllllIl
        if (not bruh_IllIIlllllIlIllIIIlIIllII) then
            bruh_IllIIlllllIlIllIIIlIIllII = bruh_IIlIIlIIIlIlIlI()
            if (bruh_IllIIlllllIlIllIIIlIIllII == 0) then
                return ""
            end
        end
        bruh_lIlllIIIllIIllIIlIIllllIl =
            bruh_lllllllIIIlIIlIIIII(
            bruh_IIIIlllIllIIllllII,
            bruh_lIIIIllIllIlIIIlIllIllIIl,
            bruh_lIIIIllIllIlIIIlIllIllIIl + bruh_IllIIlllllIlIllIIIlIIllII - 1
        )
        bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIIIIllIllIlIIIlIllIllIIl + bruh_IllIIlllllIlIllIIIlIIllII
        local bruh_IllIIlllllIlIllIIIlIIllII = {}
        for bruh_lIIIIllIllIlIIIlIllIllIIl = 1, #bruh_lIlllIIIllIIllIIlIIllllIl do
            bruh_IllIIlllllIlIllIIIlIIllII[bruh_lIIIIllIllIlIIIlIllIllIIl] =
                bruh_llllIlIlIIllIlllIllIl(
                bruh_llIIllIl(
                    bruh_IlIlllIIlIIlIlIllIIlIlI(
                        bruh_lllllllIIIlIIlIIIII(
                            bruh_lIlllIIIllIIllIIlIIllllIl,
                            bruh_lIIIIllIllIlIIIlIllIllIIl,
                            bruh_lIIIIllIllIlIIIlIllIllIIl
                        )
                    ),
                    17
                )
            )
        end
        return bruh_IIIIIllIIllIllIlIlIl(bruh_IllIIlllllIlIllIIIlIIllII)
    end
    local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_IllIIlllllIlIllIIIlIIllII
    local function bruh_IIIIIllIIllIllIlIlIl(...)
        return {...}, bruh_llIlIlllIlllllIII("#", ...)
    end
    local function bruh_IlIlIIIIIlllIllllIIllll()
        local bruh_llllIlIlIIllIlllIllIl = {}
        local bruh_IIlIIlIIIlIlIlI = {}
        local bruh_lIIIIllIllIlIIIlIllIllIIl = {}
        local bruh_IIIIlllIllIIllllII = {
            [#{{672, 366, 614, 209}, "1 + 1 = 111"}] = bruh_IIlIIlIIIlIlIlI,
            [#{"1 + 1 = 111", "1 + 1 = 111", "1 + 1 = 111"}] = nil,
            [#{{456, 566, 22, 446}, {153, 947, 248, 241}, {963, 100, 352, 84}, {566, 110, 650, 33}}] = bruh_lIIIIllIllIlIIIlIllIllIIl,
            [#{"1 + 1 = 111"}] = bruh_llllIlIlIIllIlllIllIl
        }
        local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_IllIIlllllIlIllIIIlIIllII()
        local bruh_llIIllIl = {}
        for bruh_lIlllIIIllIIllIIlIIllllIl = 1, bruh_lIIIIllIllIlIIIlIllIllIIl do
            local bruh_IllIIlllllIlIllIIIlIIllII = bruh_IIlIllIlIlIIIl()
            local bruh_lIIIIllIllIlIIIlIllIllIIl
            if (bruh_IllIIlllllIlIllIIIlIIllII == 0) then
                bruh_lIIIIllIllIlIIIlIllIllIIl = (bruh_IIlIllIlIlIIIl() ~= 0)
            elseif (bruh_IllIIlllllIlIllIIIlIIllII == 3) then
                bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lllIllIIIllIIlIII()
            elseif (bruh_IllIIlllllIlIllIIIlIIllII == 2) then
                bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_llllIllIlIlI()
            end
            bruh_llIIllIl[bruh_lIlllIIIllIIllIIlIIllllIl] = bruh_lIIIIllIllIlIIIlIllIllIIl
        end
        for bruh_IIIIlllIllIIllllII = 1, bruh_IllIIlllllIlIllIIIlIIllII() do
            local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_IIlIllIlIlIIIl()
            if (bruh_lIlllIIIllIIllIIlIIllllIl(bruh_lIIIIllIllIlIIIlIllIllIIl, 1, 1) == 0) then
                local bruh_lllllllIIIlIIlIIIII = bruh_lIlllIIIllIIllIIlIIllllIl(bruh_lIIIIllIllIlIIIlIllIllIIl, 2, 3)
                local bruh_IlIlllIIlIIlIlIllIIlIlI =
                    bruh_lIlllIIIllIIllIIlIIllllIl(bruh_lIIIIllIllIlIIIlIllIllIIl, 4, 6)
                local bruh_lIIIIllIllIlIIIlIllIllIIl = {
                    bruh_lIllllIIIIIlllIlIlIII(),
                    bruh_lIllllIIIIIlllIlIlIII(),
                    nil,
                    nil
                }
                if (bruh_lllllllIIIlIIlIIIII == 0) then
                    bruh_lIIIIllIllIlIIIlIllIllIIl[#("H5k")] = bruh_lIllllIIIIIlllIlIlIII()
                    bruh_lIIIIllIllIlIIIlIllIllIIl[#("fKeV")] = bruh_lIllllIIIIIlllIlIlIII()
                elseif (bruh_lllllllIIIlIIlIIIII == 1) then
                    bruh_lIIIIllIllIlIIIlIllIllIIl[#("W9x")] = bruh_IllIIlllllIlIllIIIlIIllII()
                elseif (bruh_lllllllIIIlIIlIIIII == 2) then
                    bruh_lIIIIllIllIlIIIlIllIllIIl[#("tfX")] = bruh_IllIIlllllIlIllIIIlIIllII() - (2 ^ 16)
                elseif (bruh_lllllllIIIlIIlIIIII == 3) then
                    bruh_lIIIIllIllIlIIIlIllIllIIl[#("8Ml")] = bruh_IllIIlllllIlIllIIIlIIllII() - (2 ^ 16)
                    bruh_lIIIIllIllIlIIIlIllIllIIl[#("tsSK")] = bruh_lIllllIIIIIlllIlIlIII()
                end
                if (bruh_lIlllIIIllIIllIIlIIllllIl(bruh_IlIlllIIlIIlIlIllIIlIlI, 1, 1) == 1) then
                    bruh_lIIIIllIllIlIIIlIllIllIIl[#("KO")] = bruh_llIIllIl[bruh_lIIIIllIllIlIIIlIllIllIIl[#("PO")]]
                end
                if (bruh_lIlllIIIllIIllIIlIIllllIl(bruh_IlIlllIIlIIlIlIllIIlIlI, 2, 2) == 1) then
                    bruh_lIIIIllIllIlIIIlIllIllIIl[#("Xff")] = bruh_llIIllIl[bruh_lIIIIllIllIlIIIlIllIllIIl[#("4lB")]]
                end
                if (bruh_lIlllIIIllIIllIIlIIllllIl(bruh_IlIlllIIlIIlIlIllIIlIlI, 3, 3) == 1) then
                    bruh_lIIIIllIllIlIIIlIllIllIIl[#("8C1k")] = bruh_llIIllIl[bruh_lIIIIllIllIlIIIlIllIllIIl[#("uF6m")]]
                end
                bruh_llllIlIlIIllIlllIllIl[bruh_IIIIlllIllIIllllII] = bruh_lIIIIllIllIlIIIlIllIllIIl
            end
        end
        bruh_IIIIlllIllIIllllII[3] = bruh_IIlIllIlIlIIIl()
        for bruh_lIIIIllIllIlIIIlIllIllIIl = 1, bruh_IllIIlllllIlIllIIIlIIllII() do
            bruh_IIlIIlIIIlIlIlI[bruh_lIIIIllIllIlIIIlIllIllIIl - 1] = bruh_IlIlIIIIIlllIllllIIllll()
        end
        return bruh_IIIIlllIllIIllllII
    end
    local function bruh_llllIlIlIIllIlllIllIl(
        bruh_lIIIIllIllIlIIIlIllIllIIl,
        bruh_IllIIlllllIlIllIIIlIIllII,
        bruh_IlIlllIIlIIlIlIllIIlIlI)
        bruh_lIIIIllIllIlIIIlIllIllIIl =
            (bruh_lIIIIllIllIlIIIlIllIllIIl == true and bruh_IlIlIIIIIlllIllllIIllll()) or
            bruh_lIIIIllIllIlIIIlIllIllIIl
        return (function(...)
            local bruh_IIlIllIlIlIIIl = bruh_lIIIIllIllIlIIIlIllIllIIl[1]
            local bruh_lIlllIIIllIIllIIlIIllllIl = bruh_lIIIIllIllIlIIIlIllIllIIl[3]
            local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIIIIllIllIlIIIlIllIllIIl[2]
            local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_IIIIIllIIllIllIlIlIl
            local bruh_llIIllIl = 1
            local bruh_lIIIIllIllIlIIIlIllIllIIl = -1
            local bruh_IIIIlllIllIIllllII = {}
            local bruh_lIllllIIIIIlllIlIlIII = {...}
            local bruh_lllllllIIIlIIlIIIII = bruh_llIlIlllIlllllIII("#", ...) - 1
            local bruh_lIIIIllIllIlIIIlIllIllIIl = {}
            local bruh_IllIIlllllIlIllIIIlIIllII = {}
            for bruh_lIIIIllIllIlIIIlIllIllIIl = 0, bruh_lllllllIIIlIIlIIIII do
                if (bruh_lIIIIllIllIlIIIlIllIllIIl >= bruh_lIlllIIIllIIllIIlIIllllIl) then
                    bruh_IIIIlllIllIIllllII[bruh_lIIIIllIllIlIIIlIllIllIIl - bruh_lIlllIIIllIIllIIlIIllllIl] =
                        bruh_lIllllIIIIIlllIlIlIII[bruh_lIIIIllIllIlIIIlIllIllIIl + 1]
                else
                    bruh_IllIIlllllIlIllIIIlIIllII[bruh_lIIIIllIllIlIIIlIllIllIIl] =
                        bruh_lIllllIIIIIlllIlIlIII[bruh_lIIIIllIllIlIIIlIllIllIIl + #{"1 + 1 = 111"}]
                end
            end
            local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lllllllIIIlIIlIIIII - bruh_lIlllIIIllIIllIIlIIllllIl + 1
            local bruh_lIIIIllIllIlIIIlIllIllIIl
            local bruh_lIlllIIIllIIllIIlIIllllIl
            while true do
                bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_IIlIllIlIlIIIl[bruh_llIIllIl]
                bruh_lIlllIIIllIIllIIlIIllllIl = bruh_lIIIIllIllIlIIIlIllIllIIl[#("8")]
                if bruh_lIlllIIIllIIllIIlIIllllIl <= #("mvg") then
                    if bruh_lIlllIIIllIIllIIlIIllllIl <= #("8") then
                        if bruh_lIlllIIIllIIllIIlIIllllIl > #("") then
                            bruh_IllIIlllllIlIllIIIlIIllII[bruh_lIIIIllIllIlIIIlIllIllIIl[#("P2")]] =
                                bruh_IlIlllIIlIIlIlIllIIlIlI[bruh_lIIIIllIllIlIIIlIllIllIIl[#("A0O")]]
                        else
                            local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIIIIllIllIlIIIlIllIllIIl[#("Cv")]
                            bruh_IllIIlllllIlIllIIIlIIllII[bruh_lIIIIllIllIlIIIlIllIllIIl](
                                bruh_IllIIlllllIlIllIIIlIIllII[bruh_lIIIIllIllIlIIIlIllIllIIl + 1]
                            )
                        end
                    elseif bruh_lIlllIIIllIIllIIlIIllllIl == #("sU") then
                        bruh_IllIIlllllIlIllIIIlIIllII[bruh_lIIIIllIllIlIIIlIllIllIIl[#("17")]] =
                            bruh_lIIIIllIllIlIIIlIllIllIIl[#("zlh")]
                    else
                        do
                            return
                        end
                    end
                elseif bruh_lIlllIIIllIIllIIlIIllllIl <= #("yHr05") then
                    if bruh_lIlllIIIllIIllIIlIIllllIl > #("8oMq") then
                        do
                            return
                        end
                    else
                        bruh_IllIIlllllIlIllIIIlIIllII[bruh_lIIIIllIllIlIIIlIllIllIIl[#{"1 + 1 = 111", "1 + 1 = 111"}]] =
                            bruh_IlIlllIIlIIlIlIllIIlIlI[bruh_lIIIIllIllIlIIIlIllIllIIl[#("t0i")]]
                    end
                elseif bruh_lIlllIIIllIIllIIlIIllllIl > #("rlEi88") then
                    local bruh_lIIIIllIllIlIIIlIllIllIIl = bruh_lIIIIllIllIlIIIlIllIllIIl[#("xW")]
                    bruh_IllIIlllllIlIllIIIlIIllII[bruh_lIIIIllIllIlIIIlIllIllIIl](
                        bruh_IllIIlllllIlIllIIIlIIllII[bruh_lIIIIllIllIlIIIlIllIllIIl + 1]
                    )
                else
                    bruh_IllIIlllllIlIllIIIlIIllII[bruh_lIIIIllIllIlIIIlIllIllIIl[#("7t")]] =
                        bruh_lIIIIllIllIlIIIlIllIllIIl[#("jbg")]
                end
                bruh_llIIllIl = bruh_llIIllIl + 1
            end
        end)
    end
    return bruh_llllIlIlIIllIlllIllIl(true, {}, bruh_IlIIIIIlIIIllIIIlIII())()
end)(string.byte, table.insert, setmetatable) 

Lua online compiler

Write, Run & Share Lua code online using OneCompiler's Lua online compiler for free. It's one of the robust, feature-rich online compilers for Lua language, running the latest Lua version 5.4. Getting started with the OneCompiler's Lua editor is easy and fast. The editor shows sample boilerplate code when you choose language as Lua and start coding.

Taking inputs (stdin)

OneCompiler's Lua online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample Lua program which takes name as input and prints hello message with your name.

name = io.read("*a")
print ("Hello ", name)

About Lua

Lua is a light weight embeddable scripting language which is built on top of C. It is used in almost all kind of applications like games, web applications, mobile applications, image processing etc. It's a very powerful, fast, easy to learn, open-source scripting language.

Syntax help

Variables

  • By default all the variables declared are global variables
  • If the variables are explicitly mentioned as local then they are local variables.
  • Lua is a dynamically typed language and hence only the values will have types not the variables.

Examples

-- global variables
a = 10

-- local variables

local x = 30
Value TypeDescription
numberRepresents numbers
stringRepresents text
nilDifferentiates values whether it has data or not
booleanValue can be either true or false
functionRepresents a sub-routine
userdataRepresents arbitary C data
threadRepresents independent threads of execution.
tableCan hold any value except nil

Loops

1. While:

While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.

while(condition)
do
--code
end

2. Repeat-Until:

Repeat-Until is also used to iterate a set of statements based on a condition. It is very similar to Do-While, it is mostly used when you need to execute the statements atleast once.

repeat
   --code
until( condition )

3. For:

For loop is used to iterate a set of statements based on a condition.

for init,max/min value, increment
do
   --code
end

Functions

Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increase re-usuability and modularity.

optional_function_scope function function_name( argument1, argument2, argument3........, argumentn)
--code
return params with comma seperated
end