Assistant: 
User: System: You will be given a Luau script (that has been decompiled). You will rename the variables and functions to sound better, make the script more coherent, and add comments to areas of the script. Return the fixed script without adding ``` as we handle that. If no script has been given, do not produce any output. Do not respond with anything but the script
User: -- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/wyButjTMhM)
-- Decompiled on 2024-10-04 18:14:09
-- Luau version 6, Types version 3
-- Time taken: 0.026602 seconds

local ProximityPromptService_upvr = game:GetService("ProximityPromptService")
local PlayerGui_upvr = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")
local tbl_37_upvr = {
	[Enum.KeyCode.ButtonX] = "rbxasset://textures/ui/Controls/xboxX.png";
	[Enum.KeyCode.ButtonY] = "rbxasset://textures/ui/Controls/xboxY.png";
	[Enum.KeyCode.ButtonA] = "rbxasset://textures/ui/Controls/xboxA.png";
	[Enum.KeyCode.ButtonB] = "rbxasset://textures/ui/Controls/xboxB.png";
	[Enum.KeyCode.DPadLeft] = "rbxasset://textures/ui/Controls/dpadLeft.png";
	[Enum.KeyCode.DPadRight] = "rbxasset://textures/ui/Controls/dpadRight.png";
	[Enum.KeyCode.DPadUp] = "rbxasset://textures/ui/Controls/dpadUp.png";
	[Enum.KeyCode.DPadDown] = "rbxasset://textures/ui/Controls/dpadDown.png";
	[Enum.KeyCode.ButtonSelect] = "rbxasset://textures/ui/Controls/xboxmenu.png";
	[Enum.KeyCode.ButtonL1] = "rbxasset://textures/ui/Controls/xboxLS.png";
	[Enum.KeyCode.ButtonR1] = "rbxasset://textures/ui/Controls/xboxRS.png";
}
local tbl_35_upvr = {
	[Enum.KeyCode.Backspace] = "rbxasset://textures/ui/Controls/backspace.png";
	[Enum.KeyCode.Return] = "rbxasset://textures/ui/Controls/return.png";
	[Enum.KeyCode.LeftShift] = "rbxasset://textures/ui/Controls/shift.png";
	[Enum.KeyCode.RightShift] = "rbxasset://textures/ui/Controls/shift.png";
	[Enum.KeyCode.Tab] = "rbxasset://textures/ui/Controls/tab.png";
}
local tbl_46_upvr = {
	["'"] = "rbxasset://textures/ui/Controls/apostrophe.png";
	[','] = "rbxasset://textures/ui/Controls/comma.png";
	['`'] = "rbxasset://textures/ui/Controls/graveaccent.png";
	['.'] = "rbxasset://textures/ui/Controls/period.png";
	[' '] = "rbxasset://textures/ui/Controls/spacebar.png";
}
local tbl_44_upvr = {
	[Enum.KeyCode.LeftControl] = "Ctrl";
	[Enum.KeyCode.RightControl] = "Ctrl";
	[Enum.KeyCode.LeftAlt] = "Alt";
	[Enum.KeyCode.RightAlt] = "Alt";
	[Enum.KeyCode.F1] = "F1";
	[Enum.KeyCode.F2] = "F2";
	[Enum.KeyCode.F3] = "F3";
	[Enum.KeyCode.F4] = "F4";
	[Enum.KeyCode.F5] = "F5";
	[Enum.KeyCode.F6] = "F6";
	[Enum.KeyCode.F7] = "F7";
	[Enum.KeyCode.F8] = "F8";
	[Enum.KeyCode.F9] = "F9";
	[Enum.KeyCode.F10] = "F10";
	[Enum.KeyCode.F11] = "F11";
	[Enum.KeyCode.F12] = "F12";
}
local function _() -- Line 60, Named "getScreenGui"
	--[[ Upvalues[1]:
		[1]: PlayerGui_upvr (readonly)
	]]
	if PlayerGui_upvr:FindFirstChild("ProximityPrompts") == nil then
		local ScreenGui_3 = Instance.new("ScreenGui")
		ScreenGui_3.Name = "ProximityPrompts"
		ScreenGui_3.ResetOnSpawn = false
		ScreenGui_3.Parent = PlayerGui_upvr
	end
	return ScreenGui_3
end
local function _(arg1) -- Line 71, Named "setUpCircularProgressBar"
	local UIGradient_upvr_3 = arg1.LeftGradient.ProgressBarImage.UIGradient
	local UIGradient_upvr_2 = arg1.RightGradient.ProgressBarImage.UIGradient
	arg1.Progress.Changed:Connect(function(arg1_2) -- Line 76
		--[[ Upvalues[2]:
			[1]: UIGradient_upvr_3 (readonly)
			[2]: UIGradient_upvr_2 (readonly)
		]]
		local clamped_3 = math.clamp(arg1_2 * 360, 0, 360)
		UIGradient_upvr_3.Rotation = math.clamp(clamped_3, 180, 360)
		UIGradient_upvr_2.Rotation = math.clamp(clamped_3, 0, 180)
	end)
end
local TweenService_upvr = game:GetService("TweenService")
local UserInputService_upvr = game:GetService("UserInputService")
local TextService_upvr = game:GetService("TextService")
local function createPrompt_upvr(arg1, arg2, arg3) -- Line 83, Named "createPrompt"
	--[[ Upvalues[7]:
		[1]: TweenService_upvr (readonly)
		[2]: tbl_37_upvr (readonly)
		[3]: UserInputService_upvr (readonly)
		[4]: tbl_35_upvr (readonly)
		[5]: tbl_46_upvr (readonly)
		[6]: tbl_44_upvr (readonly)
		[7]: TextService_upvr (readonly)
	]]
	-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
	local tbl_7_upvr = {}
	local tbl_27_upvr = {}
	local tbl_2_upvr = {}
	local tbl_29_upvr = {}
	local TweenInfo_new_result1_upvr_4 = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
	local TweenInfo_new_result1_upvr_3 = TweenInfo.new(0.06, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
	local var197_upvw
	local Theme_2 = arg1:GetAttribute("Theme")
	if Theme_2 then
		local SOME = script:FindFirstChild(Theme_2)
		if SOME then
			var197_upvw = SOME:Clone()
		end
	end
	if var197_upvw == nil then
		var197_upvw = script.Default:Clone()
	end
	var197_upvw.Enabled = true
	local PromptFrame_2 = var197_upvw.PromptFrame
	local InputFrame_2 = PromptFrame_2.InputFrame
	local ActionText_upvr = PromptFrame_2.ActionText
	local ObjectText_upvr_2 = PromptFrame_2.ObjectText
	local BackgroundTransparency = PromptFrame_2.BackgroundTransparency
	local ImageTransparency_4 = PromptFrame_2.ImageTransparency
	PromptFrame_2.BackgroundTransparency = 1
	PromptFrame_2.ImageTransparency = 1
	table.insert(tbl_7_upvr, TweenService_upvr:Create(PromptFrame_2, TweenInfo_new_result1_upvr_4, {
		Size = UDim2.fromScale(0.5, 1);
		BackgroundTransparency = 1;
		ImageTransparency = 1;
	}))
	table.insert(tbl_27_upvr, TweenService_upvr:Create(PromptFrame_2, TweenInfo_new_result1_upvr_4, {
		Size = UDim2.fromScale(1, 1);
		BackgroundTransparency = BackgroundTransparency;
		ImageTransparency = ImageTransparency_4;
	}))
	table.insert(tbl_2_upvr, TweenService_upvr:Create(PromptFrame_2, TweenInfo_new_result1_upvr_4, {
		Size = UDim2.fromScale(0.5, 1);
		BackgroundTransparency = 1;
		ImageTransparency = 1;
	}))
	table.insert(tbl_29_upvr, TweenService_upvr:Create(PromptFrame_2, TweenInfo_new_result1_upvr_4, {
		Size = UDim2.fromScale(1, 1);
		BackgroundTransparency = BackgroundTransparency;
		ImageTransparency = ImageTransparency_4;
	}))
	local function setupUIStrokeTweens_upvr(arg1_11) -- Line 126, Named "setupUIStrokeTweens"
		--[[ Upvalues[6]:
			[1]: tbl_7_upvr (readonly)
			[2]: TweenService_upvr (copied, readonly)
			[3]: TweenInfo_new_result1_upvr_4 (readonly)
			[4]: tbl_27_upvr (readonly)
			[5]: tbl_2_upvr (readonly)
			[6]: tbl_29_upvr (readonly)
		]]
		local Transparency = arg1_11.Transparency
		arg1_11.Transparency = 1
		table.insert(tbl_7_upvr, TweenService_upvr:Create(arg1_11, TweenInfo_new_result1_upvr_4, {
			Transparency = 1;
		}))
		table.insert(tbl_27_upvr, TweenService_upvr:Create(arg1_11, TweenInfo_new_result1_upvr_4, {
			Transparency = Transparency;
		}))
		table.insert(tbl_2_upvr, TweenService_upvr:Create(arg1_11, TweenInfo_new_result1_upvr_4, {
			Transparency = 1;
		}))
		table.insert(tbl_29_upvr, TweenService_upvr:Create(arg1_11, TweenInfo_new_result1_upvr_4, {
			Transparency = Transparency;
		}))
	end
	local function setupGUIObjectTweens_upvr(arg1_12) -- Line 135, Named "setupGUIObjectTweens"
		--[[ Upvalues[6]:
			[1]: tbl_7_upvr (readonly)
			[2]: TweenService_upvr (copied, readonly)
			[3]: TweenInfo_new_result1_upvr_4 (readonly)
			[4]: tbl_27_upvr (readonly)
			[5]: tbl_2_upvr (readonly)
			[6]: tbl_29_upvr (readonly)
		]]
		local BackgroundTransparency_4 = arg1_12.BackgroundTransparency
		arg1_12.BackgroundTransparency = 1
		table.insert(tbl_7_upvr, TweenService_upvr:Create(arg1_12, TweenInfo_new_result1_upvr_4, {
			BackgroundTransparency = 1;
		}))
		table.insert(tbl_27_upvr, TweenService_upvr:Create(arg1_12, TweenInfo_new_result1_upvr_4, {
			BackgroundTransparency = BackgroundTransparency_4;
		}))
		table.insert(tbl_2_upvr, TweenService_upvr:Create(arg1_12, TweenInfo_new_result1_upvr_4, {
			BackgroundTransparency = 1;
		}))
		table.insert(tbl_29_upvr, TweenService_upvr:Create(arg1_12, TweenInfo_new_result1_upvr_4, {
			BackgroundTransparency = BackgroundTransparency_4;
		}))
	end
	local function setupTextLabelTweens_upvr(arg1_13) -- Line 144, Named "setupTextLabelTweens"
		--[[ Upvalues[6]:
			[1]: tbl_7_upvr (readonly)
			[2]: TweenService_upvr (copied, readonly)
			[3]: TweenInfo_new_result1_upvr_4 (readonly)
			[4]: tbl_27_upvr (readonly)
			[5]: tbl_2_upvr (readonly)
			[6]: tbl_29_upvr (readonly)
		]]
		local TextTransparency = arg1_13.TextTransparency
		local TextStrokeTransparency = arg1_13.TextStrokeTransparency
		arg1_13.TextTransparency = 1
		arg1_13.TextStrokeTransparency = 1
		table.insert(tbl_7_upvr, TweenService_upvr:Create(arg1_13, TweenInfo_new_result1_upvr_4, {
			TextTransparency = 1;
			TextStrokeTransparency = 1;
		}))
		table.insert(tbl_27_upvr, TweenService_upvr:Create(arg1_13, TweenInfo_new_result1_upvr_4, {
			TextTransparency = TextTransparency;
			TextStrokeTransparency = TextStrokeTransparency;
		}))
		table.insert(tbl_2_upvr, TweenService_upvr:Create(arg1_13, TweenInfo_new_result1_upvr_4, {
			TextTransparency = 1;
			TextStrokeTransparency = 1;
		}))
		table.insert(tbl_29_upvr, TweenService_upvr:Create(arg1_13, TweenInfo_new_result1_upvr_4, {
			TextTransparency = TextTransparency;
			TextStrokeTransparency = TextStrokeTransparency;
		}))
	end
	local function setupImageLabelTweens_upvr(arg1_14) -- Line 155, Named "setupImageLabelTweens"
		--[[ Upvalues[6]:
			[1]: tbl_7_upvr (readonly)
			[2]: TweenService_upvr (copied, readonly)
			[3]: TweenInfo_new_result1_upvr_4 (readonly)
			[4]: tbl_27_upvr (readonly)
			[5]: tbl_2_upvr (readonly)
			[6]: tbl_29_upvr (readonly)
		]]
		local ImageTransparency_3 = arg1_14.ImageTransparency
		arg1_14.ImageTransparency = 1
		table.insert(tbl_7_upvr, TweenService_upvr:Create(arg1_14, TweenInfo_new_result1_upvr_4, {
			ImageTransparency = 1;
		}))
		table.insert(tbl_27_upvr, TweenService_upvr:Create(arg1_14, TweenInfo_new_result1_upvr_4, {
			ImageTransparency = ImageTransparency_3;
		}))
		table.insert(tbl_2_upvr, TweenService_upvr:Create(arg1_14, TweenInfo_new_result1_upvr_4, {
			ImageTransparency = 1;
		}))
		table.insert(tbl_29_upvr, TweenService_upvr:Create(arg1_14, TweenInfo_new_result1_upvr_4, {
			ImageTransparency = ImageTransparency_3;
		}))
	end
	local function setupUnexpectedChildTweens_upvr(arg1_15) -- Line 164, Named "setupUnexpectedChildTweens"
		--[[ Upvalues[5]:
			[1]: setupUIStrokeTweens_upvr (readonly)
			[2]: setupGUIObjectTweens_upvr (readonly)
			[3]: setupTextLabelTweens_upvr (readonly)
			[4]: setupImageLabelTweens_upvr (readonly)
			[5]: setupUnexpectedChildTweens_upvr (readonly)
		]]
		if arg1_15:IsA("UIStroke") then
			setupUIStrokeTweens_upvr(arg1_15)
		elseif arg1_15:IsA("UIGradient") then
		elseif arg1_15:IsA("GuiObject") then
			setupGUIObjectTweens_upvr(arg1_15)
			if arg1_15:IsA("TextLabel") then
				setupTextLabelTweens_upvr(arg1_15)
			elseif arg1_15:IsA("ImageLabel") then
				setupImageLabelTweens_upvr(arg1_15)
			end
		end
		for _, v in pairs(arg1_15:GetChildren()) do
			setupUnexpectedChildTweens_upvr(v)
		end
	end
	local tbl_17 = {
		[InputFrame_2] = false;
		[ActionText_upvr] = true;
		[ObjectText_upvr_2] = true;
	}
	for _, v_2 in pairs(PromptFrame_2:GetChildren()) do
		if tbl_17[v_2] == nil then
			setupUnexpectedChildTweens_upvr(v_2)
		elseif tbl_17[v_2] == true then
			for _, v_10 in pairs(v_2:GetChildren()) do
				setupUnexpectedChildTweens_upvr(v_10)
				local _
			end
		end
	end
	local Frame_2 = InputFrame_2.Frame
	local UIScale = Frame_2.UIScale
	if arg2 == Enum.ProximityPromptInputType.Touch then
	else
	end
	table.insert(tbl_7_upvr, TweenService_upvr:Create(UIScale, TweenInfo_new_result1_upvr_4, {
		Scale = 1.33;
	}))
	table.insert(tbl_27_upvr, TweenService_upvr:Create(UIScale, TweenInfo_new_result1_upvr_4, {
		Scale = 1;
	}))
	setupTextLabelTweens_upvr(ActionText_upvr)
	setupTextLabelTweens_upvr(ObjectText_upvr_2)
	local ButtonFrame = Frame_2.ButtonFrame
	table.insert(tbl_2_upvr, TweenService_upvr:Create(ButtonFrame, TweenInfo_new_result1_upvr_3, {
		BackgroundTransparency = 1;
		ImageTransparency = 1;
	}))
	table.insert(tbl_29_upvr, TweenService_upvr:Create(ButtonFrame, TweenInfo_new_result1_upvr_3, {
		BackgroundTransparency = ButtonFrame.BackgroundTransparency;
		ImageTransparency = ButtonFrame.ImageTransparency;
	}))
	local ButtonText_upvr = Frame_2.ButtonText
	local ButtonTextImage_upvr_2 = Frame_2.ButtonTextImage
	local ButtonImage_upvr = Frame_2.ButtonImage
	local function setupButtonImageTweens() -- Line 240
		--[[ Upvalues[5]:
			[1]: ButtonImage_upvr (readonly)
			[2]: tbl_2_upvr (readonly)
			[3]: TweenService_upvr (copied, readonly)
			[4]: TweenInfo_new_result1_upvr_3 (readonly)
			[5]: tbl_29_upvr (readonly)
		]]
		ButtonImage_upvr.BackgroundTransparency = 1
		ButtonImage_upvr.ImageTransparency = 1
		table.insert(tbl_2_upvr, TweenService_upvr:Create(ButtonImage_upvr, TweenInfo_new_result1_upvr_3, {
			ImageTransparency = 1;
			BackgroundTransparency = 1;
		}))
		table.insert(tbl_29_upvr, TweenService_upvr:Create(ButtonImage_upvr, TweenInfo_new_result1_upvr_3, {
			ImageTransparency = ButtonImage_upvr.ImageTransparency;
			BackgroundTransparency = ButtonImage_upvr.BackgroundTransparency;
		}))
	end
	local function setupIconTweens() -- Line 249
		--[[ Upvalues[5]:
			[1]: ButtonTextImage_upvr_2 (readonly)
			[2]: tbl_2_upvr (readonly)
			[3]: TweenService_upvr (copied, readonly)
			[4]: TweenInfo_new_result1_upvr_3 (readonly)
			[5]: tbl_29_upvr (readonly)
		]]
		ButtonTextImage_upvr_2.BackgroundTransparency = 1
		ButtonTextImage_upvr_2.ImageTransparency = 1
		table.insert(tbl_2_upvr, TweenService_upvr:Create(ButtonTextImage_upvr_2, TweenInfo_new_result1_upvr_3, {
			ImageTransparency = 1;
			BackgroundTransparency = 1;
		}))
		table.insert(tbl_29_upvr, TweenService_upvr:Create(ButtonTextImage_upvr_2, TweenInfo_new_result1_upvr_3, {
			ImageTransparency = ButtonTextImage_upvr_2.ImageTransparency;
			BackgroundTransparency = ButtonTextImage_upvr_2.BackgroundTransparency;
		}))
	end
	if arg2 == Enum.ProximityPromptInputType.Gamepad then
		if tbl_37_upvr[arg1.GamepadKeyCode] then
			setupIconTweens()
			ButtonTextImage_upvr_2.Size = UDim2.fromOffset(24, 24)
			ButtonTextImage_upvr_2.Image = tbl_37_upvr[arg1.GamepadKeyCode]
			ButtonText_upvr.Visible = false
			ButtonImage_upvr.Visible = false
			ButtonTextImage_upvr_2.Visible = true
			-- KONSTANTWARNING: GOTO [536] #397
		end
	else
		local var267
		if arg2 == Enum.ProximityPromptInputType.Touch then
			setupButtonImageTweens()
			var267 = 25
			ButtonImage_upvr.Size = UDim2.fromOffset(var267, 31)
			ButtonImage_upvr.Image = "rbxasset://textures/ui/Controls/TouchTapIcon.png"
			ButtonText_upvr.Visible = false
			ButtonTextImage_upvr_2.Visible = false
			ButtonImage_upvr.Visible = true
		else
			setupButtonImageTweens()
			var267 = 28
			ButtonImage_upvr.Size = UDim2.fromOffset(var267, 30)
			ButtonImage_upvr.Visible = true
			var267 = tbl_35_upvr[arg1.KeyboardKeyCode]
			if var267 == nil then
				var267 = tbl_46_upvr[UserInputService_upvr:GetStringForKeyCode(arg1.KeyboardKeyCode)]
			end
			if var267 == nil then
				local var268 = tbl_44_upvr[arg1.KeyboardKeyCode]
				if var268 then
					local var269 = var268
				end
			end
			if var267 then
				setupIconTweens()
				ButtonTextImage_upvr_2.Size = UDim2.fromOffset(36, 36)
				ButtonTextImage_upvr_2.Image = var267
				ButtonText_upvr.Visible = false
				ButtonTextImage_upvr_2.Visible = true
			elseif var269 ~= nil and var269 ~= "" then
				if 2 < string.len(var269) then
					ButtonText_upvr.TextSize = math.round(ButtonText_upvr.TextSize * 6 / 7)
				end
				;(function() -- Line 220, Named "setupButtonTextTweens"
					--[[ Upvalues[5]:
						[1]: ButtonText_upvr (readonly)
						[2]: tbl_2_upvr (readonly)
						[3]: TweenService_upvr (copied, readonly)
						[4]: TweenInfo_new_result1_upvr_3 (readonly)
						[5]: tbl_29_upvr (readonly)
					]]
					ButtonText_upvr.BackgroundTransparency = 1
					ButtonText_upvr.TextStrokeTransparency = 1
					ButtonText_upvr.TextTransparency = 1
					table.insert(tbl_2_upvr, TweenService_upvr:Create(ButtonText_upvr, TweenInfo_new_result1_upvr_3, {
						TextTransparency = 1;
						TextStrokeTransparency = 1;
						BackgroundTransparency = 1;
					}))
					table.insert(tbl_29_upvr, TweenService_upvr:Create(ButtonText_upvr, TweenInfo_new_result1_upvr_3, {
						TextTransparency = ButtonText_upvr.TextTransparency;
						TextStrokeTransparency = ButtonText_upvr.TextStrokeTransparency;
						BackgroundTransparency = ButtonText_upvr.BackgroundTransparency;
					}))
					for _, v_3 in pairs(ButtonText_upvr:getChildren()) do
						if v_3:IsA("UIStroke") then
							table.insert(tbl_2_upvr, TweenService_upvr:Create(v_3, TweenInfo_new_result1_upvr_3, {
								Transparency = 1;
							}))
							table.insert(tbl_29_upvr, TweenService_upvr:Create(v_3, TweenInfo_new_result1_upvr_3, {
								Transparency = v_3.Transparency;
							}))
						end
					end
				end)()
				ButtonText_upvr.Text = var269
				ButtonTextImage_upvr_2.Visible = false
				ButtonText_upvr.Visible = true
			else
				error("ProximityPrompt '"..arg1.Name.."' has an unsupported keycode for rendering UI: "..tostring(arg1.KeyboardKeyCode))
			end
		end
	end
	if arg2 == Enum.ProximityPromptInputType.Touch or arg1.ClickablePrompt then
		local TextButton = var197_upvw.TextButton
		var267 = false
		local var271_upvw = var267
		TextButton.InputBegan:Connect(function(arg1_16) -- Line 327
			--[[ Upvalues[2]:
				[1]: arg1 (readonly)
				[2]: var271_upvw (read and write)
			]]
			if arg1_16.UserInputType == Enum.UserInputType.Touch or arg1_16.UserInputType == Enum.UserInputType.MouseButton1 then
				if arg1_16.UserInputState ~= Enum.UserInputState.Change then
					arg1:InputHoldBegin()
					var271_upvw = true
				end
			end
		end)
		TextButton.InputEnded:Connect(function(arg1_17) -- Line 334
			--[[ Upvalues[2]:
				[1]: var271_upvw (read and write)
				[2]: arg1 (readonly)
			]]
			if arg1_17.UserInputType == Enum.UserInputType.Touch or arg1_17.UserInputType == Enum.UserInputType.MouseButton1 then
				if var271_upvw then
					var271_upvw = false
					arg1:InputHoldEnd()
				end
			end
		end)
		var197_upvw.Active = true
	end
	if 0 < arg1.HoldDuration then
		local ProgressBar = Frame_2.ProgressBar
		local UIGradient_upvr_4 = ProgressBar.LeftGradient.ProgressBarImage.UIGradient
		local UIGradient_upvw = ProgressBar.RightGradient.ProgressBarImage.UIGradient
		ProgressBar.Progress.Changed:Connect(function(arg1_18) -- Line 76
			--[[ Upvalues[2]:
				[1]: UIGradient_upvr_4 (readonly)
				[2]: UIGradient_upvw (readonly)
			]]
			local clamped = math.clamp(arg1_18 * 360, 0, 360)
			UIGradient_upvr_4.Rotation = math.clamp(clamped, 180, 360)
			UIGradient_upvw.Rotation = math.clamp(clamped, 0, 180)
		end)
		UIGradient_upvw = tbl_7_upvr
		UIGradient_upvr_4 = table.insert
		UIGradient_upvr_4(UIGradient_upvw, TweenService_upvr:Create(ProgressBar.Progress, TweenInfo.new(arg1.HoldDuration, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {
			Value = 1;
		}))
		UIGradient_upvw = tbl_27_upvr
		UIGradient_upvr_4 = table.insert
		UIGradient_upvr_4(UIGradient_upvw, TweenService_upvr:Create(ProgressBar.Progress, TweenInfo.new(0, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {
			Value = 0;
		}))
	end
	ProgressBar = nil
	local var281_upvw = ProgressBar
	UIGradient_upvr_4 = nil
	local var282_upvw = UIGradient_upvr_4
	UIGradient_upvw = nil
	if 0 < arg1.HoldDuration then
		var281_upvw = arg1.PromptButtonHoldBegan:Connect(function() -- Line 359
			--[[ Upvalues[1]:
				[1]: tbl_7_upvr (readonly)
			]]
			for _, v_4 in ipairs(tbl_7_upvr) do
				v_4:Play()
			end
		end)
		var282_upvw = arg1.PromptButtonHoldEnded:Connect(function() -- Line 365
			--[[ Upvalues[1]:
				[1]: tbl_27_upvr (readonly)
			]]
			for _, v_5 in ipairs(tbl_27_upvr) do
				v_5:Play()
			end
		end)
	end
	UIGradient_upvw = arg1.Triggered:Connect(function() -- Line 372
		--[[ Upvalues[1]:
			[1]: tbl_2_upvr (readonly)
		]]
		for _, v_6 in ipairs(tbl_2_upvr) do
			v_6:Play()
		end
	end)
	local function updateUIFromPrompt() -- Line 384
		--[[ Upvalues[5]:
			[1]: TextService_upvr (copied, readonly)
			[2]: arg1 (readonly)
			[3]: ActionText_upvr (readonly)
			[4]: ObjectText_upvr_2 (readonly)
			[5]: var197_upvw (read and write)
		]]
		local var307
		if arg1.ActionText ~= nil and arg1.ActionText ~= "" or arg1.ObjectText ~= nil and arg1.ObjectText ~= "" then
			var307 = math.max(TextService_upvr:GetTextSize(arg1.ActionText, ActionText_upvr.TextSize, ActionText_upvr.Font, Vector2.new(1000, 1000)).X, TextService_upvr:GetTextSize(arg1.ObjectText, ObjectText_upvr_2.TextSize, ObjectText_upvr_2.Font, Vector2.new(1000, 1000)).X) + 72 + 24
		end
		local var308
		if arg1.ObjectText ~= nil and arg1.ObjectText ~= "" then
			var308 = 9
		end
		ActionText_upvr.Position = UDim2.new(0.5, 72 - var307 / 2, 0, var308)
		ObjectText_upvr_2.Position = UDim2.new(0.5, 72 - var307 / 2, 0, -10)
		ActionText_upvr.Text = arg1.ActionText
		ObjectText_upvr_2.Text = arg1.ObjectText
		ActionText_upvr.AutoLocalize = arg1.AutoLocalize
		ActionText_upvr.RootLocalizationTable = arg1.RootLocalizationTable
		ObjectText_upvr_2.AutoLocalize = arg1.AutoLocalize
		ObjectText_upvr_2.RootLocalizationTable = arg1.RootLocalizationTable
		var197_upvw.Size = UDim2.fromOffset(var307, 72)
		var197_upvw.SizeOffset = Vector2.new(arg1.UIOffset.X / var197_upvw.Size.Width.Offset, arg1.UIOffset.Y / var197_upvw.Size.Height.Offset)
	end
	updateUIFromPrompt()
	var197_upvw.Adornee = arg1.Parent
	var197_upvw.Parent = arg3
	for _, v_8 in ipairs(tbl_29_upvr) do
		v_8:Play()
	end
	local any_Connect_result1_upvw = arg1.TriggerEnded:Connect(function() -- Line 378
		--[[ Upvalues[1]:
			[1]: tbl_29_upvr (readonly)
		]]
		for _, v_7 in ipairs(tbl_29_upvr) do
			v_7:Play()
		end
	end)
	local any_Connect_result1_upvr = arg1.Changed:Connect(updateUIFromPrompt)
	return function() -- Line 427, Named "cleanup"
		--[[ Upvalues[7]:
			[1]: var281_upvw (read and write)
			[2]: var282_upvw (read and write)
			[3]: UIGradient_upvw (read and write)
			[4]: any_Connect_result1_upvw (read and write)
			[5]: any_Connect_result1_upvr (readonly)
			[6]: tbl_2_upvr (readonly)
			[7]: var197_upvw (read and write)
		]]
		if var281_upvw then
			var281_upvw:Disconnect()
		end
		if var282_upvw then
			var282_upvw:Disconnect()
		end
		UIGradient_upvw:Disconnect()
		any_Connect_result1_upvw:Disconnect()
		any_Connect_result1_upvr:Disconnect()
		for _, v_9 in ipairs(tbl_2_upvr) do
			v_9:Play()
		end
		wait(0.2)
		var197_upvw.Parent = nil
	end
end
local function _() -- Line 452, Named "onLoad"
	--[[ Upvalues[3]:
		[1]: ProximityPromptService_upvr (readonly)
		[2]: PlayerGui_upvr (readonly)
		[3]: createPrompt_upvr (readonly)
	]]
	ProximityPromptService_upvr.PromptShown:Connect(function(arg1, arg2) -- Line 453
		--[[ Upvalues[2]:
			[1]: PlayerGui_upvr (copied, readonly)
			[2]: createPrompt_upvr (copied, readonly)
		]]
		if arg1.Style == Enum.ProximityPromptStyle.Default then
		else
			if PlayerGui_upvr:FindFirstChild("ProximityPrompts") == nil then
				local ScreenGui_2 = Instance.new("ScreenGui")
				ScreenGui_2.Name = "ProximityPrompts"
				ScreenGui_2.ResetOnSpawn = false
				ScreenGui_2.Parent = PlayerGui_upvr
			end
			arg1.PromptHidden:Wait()
			createPrompt_upvr(arg1, arg2, ScreenGui_2)()
		end
	end)
end
ProximityPromptService_upvr.PromptShown:Connect(function(arg1, arg2) -- Line 453
	--[[ Upvalues[2]:
		[1]: PlayerGui_upvr (readonly)
		[2]: createPrompt_upvr (readonly)
	]]
	if arg1.Style == Enum.ProximityPromptStyle.Default then
	else
		if PlayerGui_upvr:FindFirstChild("ProximityPrompts") == nil then
			local ScreenGui = Instance.new("ScreenGui")
			ScreenGui.Name = "ProximityPrompts"
			ScreenGui.ResetOnSpawn = false
			ScreenGui.Parent = PlayerGui_upvr
		end
		arg1.PromptHidden:Wait()
		createPrompt_upvr(arg1, arg2, ScreenGui)()
	end
end)
Assistant:
Assistant: