local M={"\082\101\114\117\098\105","\076\117\097\075","\076\117\097\080";"\076\117\097\085";"\076\117\097\088","\076\117\097\089","\076\117\097\090"}for M,Z in pairs(M)do script:WaitForChild(Z)end local Z=require(script.LuaX)local U=require(script.LuaY)local v=require(script.LuaZ)local u=require(script.LuaU)local y=require(script.Rerubi)Z:init()local A={};(getfenv()).script=nil return function(M,Z)local C,l,H,g local L=Z or getfenv(2)local x=L.script and L.script:GetFullName()local d,h=pcall(function()local Z=v:init(v:make_getS(M),nil)if not Z then return error()end local g=U:parser(A,Z,nil,x or"\058\058\065\100\111\110\105\115\058\058\076\111\097\100\115\116\114\105\110\103\058\058")l,H=u:make_setS()u:dump(A,g,l,H)C=y(H.data,L)end)if d then return C,H.data else return nil,h end end


local waitDeps = {
	'Rerubi';
	'LuaK';
	'LuaP';
	'LuaU';
	'LuaX';
	'LuaY';
	'LuaZ';
}

for i,v in pairs(waitDeps) do script:WaitForChild(v) end

local luaX = require(script.LuaX)
local luaY = require(script.LuaY)
local luaZ = require(script.LuaZ)
local luaU = require(script.LuaU)
local rerubi = require(script.Rerubi)

luaX:init()
local LuaState = {}

getfenv().script = nil

return function(str,env)
	local f,writer,buff,name
	local env = env or getfenv(2)
	local name = (env.script and env.script:GetFullName())
	local ran,error = pcall(function()
		local zio = luaZ:init(luaZ:make_getS(str), nil)
		if not zio then return error() end
		local func = luaY:parser(LuaState, zio, nil, name or "::Adonis::Loadstring::")
		writer, buff = luaU:make_setS()
		luaU:dump(LuaState, func, writer, buff)
		f = rerubi(buff.data, env)
	end)
	
	if ran then
		return f,buff.data
	else
		return nil,error
	end
end
