Requested module experienced an error while loading:

local GuiService = game:GetService("GuiService")
local script_upvr = script
local Reference = require(script_upvr.Reference)
local any_getObject_result1 = Reference.getObject()
local var9
if var9 then
	var9 = any_getObject_result1.Value
end
if var9 and var9 ~= script_upvr then
	return require(var9)
end
if not any_getObject_result1 then
	Reference.addToReplicatedStorage()
end
local GoodSignal_upvr = require(script_upvr.Packages.GoodSignal)
local Utility_upvr = require(script_upvr.Utility)
local Themes_2_upvr = require(script_upvr.Features.Themes)
local module_upvr = {}
module_upvr.__index = module_upvr
local Themes = script_upvr.Features.Themes
local tbl_3_upvr = {}
local any_new_result1_2_upvr = GoodSignal_upvr.new()
local Elements_upvr = script_upvr.Elements
if GuiService.TopbarInset.Height == 0 then
	GuiService:GetPropertyChangedSignal("TopbarInset"):Wait()
end
local Default = require(Themes.Default)
module_upvr.baseTheme = Default
if GuiService.TopbarInset.Height ~= 36 then
	Default = false
else
	Default = true
end
module_upvr.isOldTopbar = Default
module_upvr.iconsDictionary = tbl_3_upvr
module_upvr.container = require(Elements_upvr.Container)(module_upvr)
module_upvr.topbarEnabled = true
function module_upvr.getIcons() -- Line 106
	--[[ Upvalues[1]:
		[1]: module_upvr (readonly)
	]]
	return module_upvr.iconsDictionary
end
function module_upvr.getIcon(arg1) -- Line 110
	--[[ Upvalues[1]:
		[1]: module_upvr (readonly)
	]]
	return module_upvr.iconsDictionary[arg1]
end
function module_upvr.setTopbarEnabled(arg1, arg2) -- Line 114
	--[[ Upvalues[1]:
		[1]: module_upvr (readonly)
	]]
	local var23
	if typeof(arg1) ~= "boolean" then
		var23 = module_upvr.topbarEnabled
	end
	if not arg2 then
		module_upvr.topbarEnabled = var23
	end
	for _, v in pairs(module_upvr.container) do
		v.Enabled = var23
	end
end
function module_upvr.modifyBaseTheme(arg1) -- Line 126
	--[[ Upvalues[3]:
		[1]: Themes_2_upvr (readonly)
		[2]: module_upvr (readonly)
		[3]: tbl_3_upvr (readonly)
	]]
	for _, v_2 in pairs(Themes_2_upvr.getModifications(arg1)) do
		for _, v_3 in pairs(module_upvr.baseTheme) do
			Themes_2_upvr.merge(v_3, v_2)
		end
	end
	for _, v_4 in pairs(tbl_3_upvr) do
		v_4:setTheme(module_upvr.baseTheme)
	end
end
task.defer(require(script_upvr.Features.Gamepad).start, module_upvr)
task.defer(require(script_upvr.Features.Overflow).start, module_upvr)
for _, v_5 in pairs(module_upvr.container) do
	v_5.Parent = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")
	local _
end
if module_upvr.isOldTopbar then
	module_upvr.modifyBaseTheme(require(Themes.Classic))
end
local Janitor_upvr = require(script_upvr.Packages.Janitor)
local UserInputService_upvr = game:GetService("UserInputService")
function module_upvr.new() -- Line 153
	--[[ Upvalues[9]:
		[1]: module_upvr (readonly)
		[2]: Janitor_upvr (readonly)
		[3]: Utility_upvr (readonly)
		[4]: tbl_3_upvr (readonly)
		[5]: GoodSignal_upvr (readonly)
		[6]: script_upvr (readonly)
		[7]: Elements_upvr (readonly)
		[8]: UserInputService_upvr (readonly)
		[9]: any_new_result1_2_upvr (readonly)
	]]
	local module_upvr_2 = {}
	setmetatable(module_upvr_2, module_upvr)
	local any_new_result1 = Janitor_upvr.new()
	module_upvr_2.janitor = any_new_result1
	module_upvr_2.themesJanitor = any_new_result1:add(Janitor_upvr.new())
	module_upvr_2.singleClickJanitor = any_new_result1:add(Janitor_upvr.new())
	module_upvr_2.captionJanitor = any_new_result1:add(Janitor_upvr.new())
	module_upvr_2.joinJanitor = any_new_result1:add(Janitor_upvr.new())
	module_upvr_2.menuJanitor = any_new_result1:add(Janitor_upvr.new())
	module_upvr_2.dropdownJanitor = any_new_result1:add(Janitor_upvr.new())
	local any_generateUID_result1_upvr = Utility_upvr.generateUID()
	tbl_3_upvr[any_generateUID_result1_upvr] = module_upvr_2
	any_new_result1:add(function() -- Line 170
		--[[ Upvalues[2]:
			[1]: tbl_3_upvr (copied, readonly)
			[2]: any_generateUID_result1_upvr (readonly)
		]]
		tbl_3_upvr[any_generateUID_result1_upvr] = nil
	end)
	module_upvr_2.selected = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.deselected = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.toggled = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.viewingStarted = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.viewingEnded = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.stateChanged = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.notified = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.noticeStarted = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.noticeChanged = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.endNotices = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.dropdownOpened = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.dropdownClosed = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.menuOpened = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.menuClosed = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.toggleKeyAdded = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.alignmentChanged = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.updateSize = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.resizingComplete = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.joinedParent = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.menuSet = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.dropdownSet = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.updateMenu = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.startMenuUpdate = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.childThemeModified = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.indicatorSet = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.dropdownChildAdded = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.menuChildAdded = any_new_result1:add(GoodSignal_upvr.new())
	module_upvr_2.iconModule = script_upvr
	module_upvr_2.UID = any_generateUID_result1_upvr
	module_upvr_2.isEnabled = true
	module_upvr_2.isSelected = false
	module_upvr_2.isViewing = false
	module_upvr_2.joinedFrame = false
	module_upvr_2.parentIconUID = false
	module_upvr_2.deselectWhenOtherIconSelected = true
	module_upvr_2.totalNotices = 0
	module_upvr_2.activeState = "Deselected"
	module_upvr_2.alignment = ""
	module_upvr_2.originalAlignment = ""
	module_upvr_2.appliedTheme = {}
	module_upvr_2.appearance = {}
	module_upvr_2.cachedInstances = {}
	module_upvr_2.cachedNamesToInstances = {}
	module_upvr_2.cachedCollectives = {}
	module_upvr_2.bindedToggleKeys = {}
	module_upvr_2.customBehaviours = {}
	module_upvr_2.toggleItems = {}
	module_upvr_2.bindedEvents = {}
	module_upvr_2.notices = {}
	module_upvr_2.menuIcons = {}
	module_upvr_2.dropdownIcons = {}
	module_upvr_2.childIconsDict = {}
	module_upvr_2.isOldTopbar = module_upvr.isOldTopbar
	module_upvr_2.widget = any_new_result1:add(require(Elements_upvr.Widget)(module_upvr_2, module_upvr))
	module_upvr_2:setAlignment()
	module_upvr_2:setTheme(module_upvr.baseTheme)
	local any_getInstance_result1_3 = module_upvr_2:getInstance("ClickRegion")
	local function _() -- Line 241, Named "handleToggle"
		--[[ Upvalues[1]:
			[1]: module_upvr_2 (readonly)
		]]
		if module_upvr_2.locked then
		else
			if module_upvr_2.isSelected then
				module_upvr_2:deselect(module_upvr_2)
				return
			end
			module_upvr_2:select(module_upvr_2)
		end
	end
	local var57_upvw = false
	local var58_upvw = false
	any_getInstance_result1_3.MouseButton1Click:Connect(function() -- Line 253
		--[[ Upvalues[3]:
			[1]: var57_upvw (read and write)
			[2]: var58_upvw (read and write)
			[3]: module_upvr_2 (readonly)
		]]
		if var57_upvw then
		else
			var58_upvw = true
			task.delay(0.01, function() -- Line 258
				--[[ Upvalues[1]:
					[1]: var58_upvw (copied, read and write)
				]]
				var58_upvw = false
			end)
			if module_upvr_2.locked then return end
			if module_upvr_2.isSelected then
				module_upvr_2:deselect(module_upvr_2)
				return
			end
			module_upvr_2:select(module_upvr_2)
		end
	end)
	any_getInstance_result1_3.TouchTap:Connect(function() -- Line 263
		--[[ Upvalues[3]:
			[1]: var58_upvw (read and write)
			[2]: var57_upvw (read and write)
			[3]: module_upvr_2 (readonly)
		]]
		if var58_upvw then
		else
			var57_upvw = true
			task.delay(0.01, function() -- Line 270
				--[[ Upvalues[1]:
					[1]: var57_upvw (copied, read and write)
				]]
				var57_upvw = false
			end)
			if module_upvr_2.locked then return end
			if module_upvr_2.isSelected then
				module_upvr_2:deselect(module_upvr_2)
				return
			end
			module_upvr_2:select(module_upvr_2)
		end
	end)
	any_new_result1:add(UserInputService_upvr.InputBegan:Connect(function(arg1, arg2) -- Line 277
		--[[ Upvalues[1]:
			[1]: module_upvr_2 (readonly)
		]]
		if module_upvr_2.locked then
		elseif module_upvr_2.bindedToggleKeys[arg1.KeyCode] and not arg2 then
			if module_upvr_2.locked then return end
			if module_upvr_2.isSelected then
				module_upvr_2:deselect(module_upvr_2)
				return
			end
			module_upvr_2:select(module_upvr_2)
		end
	end))
	local function viewingEnded() -- Line 299
		--[[ Upvalues[1]:
			[1]: module_upvr_2 (readonly)
		]]
		if module_upvr_2.locked then
		else
			module_upvr_2.isViewing = false
			module_upvr_2.viewingEnded:Fire(true)
			module_upvr_2:setState(nil, module_upvr_2)
		end
	end
	module_upvr_2.joinedParent:Connect(function() -- Line 307
		--[[ Upvalues[1]:
			[1]: module_upvr_2 (readonly)
		]]
		if module_upvr_2.isViewing then
			if module_upvr_2.locked then return end
			module_upvr_2.isViewing = false
			module_upvr_2.viewingEnded:Fire(true)
			module_upvr_2:setState(nil, module_upvr_2)
		end
	end)
	any_getInstance_result1_3.MouseEnter:Connect(function() -- Line 312
		--[[ Upvalues[2]:
			[1]: UserInputService_upvr (copied, readonly)
			[2]: module_upvr_2 (readonly)
		]]
		if module_upvr_2.locked then
		else
			module_upvr_2.isViewing = true
			module_upvr_2.viewingStarted:Fire(true)
			if not not UserInputService_upvr.KeyboardEnabled then
				module_upvr_2:setState("Viewing", module_upvr_2)
			end
		end
	end)
	local var66_upvw = 0
	any_new_result1:add(UserInputService_upvr.TouchEnded:Connect(viewingEnded))
	any_getInstance_result1_3.MouseLeave:Connect(viewingEnded)
	any_getInstance_result1_3.SelectionGained:Connect(function(arg1) -- Line 289, Named "viewingStarted"
		--[[ Upvalues[1]:
			[1]: module_upvr_2 (readonly)
		]]
		if module_upvr_2.locked then
		else
			module_upvr_2.isViewing = true
			module_upvr_2.viewingStarted:Fire(true)
			if not arg1 then
				module_upvr_2:setState("Viewing", module_upvr_2)
			end
		end
	end)
	any_getInstance_result1_3.SelectionLost:Connect(viewingEnded)
	any_getInstance_result1_3.MouseButton1Down:Connect(function() -- Line 321
		--[[ Upvalues[3]:
			[1]: module_upvr_2 (readonly)
			[2]: UserInputService_upvr (copied, readonly)
			[3]: var66_upvw (read and write)
		]]
		if not module_upvr_2.locked and UserInputService_upvr.TouchEnabled then
			var66_upvw += 1
			task.delay(0.2, function() -- Line 325
				--[[ Upvalues[3]:
					[1]: var66_upvw (readonly)
					[2]: var66_upvw (copied, read and write)
					[3]: module_upvr_2 (copied, readonly)
				]]
				if var66_upvw == var66_upvw then
					if module_upvr_2.locked then return end
					module_upvr_2.isViewing = true
					module_upvr_2.viewingStarted:Fire(true)
					module_upvr_2:setState("Viewing", module_upvr_2)
				end
			end)
		end
	end)
	any_getInstance_result1_3.MouseButton1Up:Connect(function() -- Line 332
		--[[ Upvalues[1]:
			[1]: var66_upvw (read and write)
		]]
		var66_upvw += 1
	end)
	local any_getInstance_result1_2_upvr = module_upvr_2:getInstance("IconOverlay")
	module_upvr_2.viewingStarted:Connect(function() -- Line 338
		--[[ Upvalues[2]:
			[1]: any_getInstance_result1_2_upvr (readonly)
			[2]: module_upvr_2 (readonly)
		]]
		any_getInstance_result1_2_upvr.Visible = not module_upvr_2.overlayDisabled
	end)
	module_upvr_2.viewingEnded:Connect(function() -- Line 341
		--[[ Upvalues[1]:
			[1]: any_getInstance_result1_2_upvr (readonly)
		]]
		any_getInstance_result1_2_upvr.Visible = false
	end)
	any_new_result1:add(any_new_result1_2_upvr:Connect(function(arg1) -- Line 346
		--[[ Upvalues[1]:
			[1]: module_upvr_2 (readonly)
		]]
		if arg1 ~= module_upvr_2 and module_upvr_2.deselectWhenOtherIconSelected and arg1.deselectWhenOtherIconSelected then
			module_upvr_2:deselect()
		end
	end))
	local var77
	for var104, v_6 in pairs(string.split(debug.info(2, 's'), '.')) do
		local SOME = game:FindFirstChild(v_6)
		if not SOME then break end
		if SOME:IsA("ScreenGui") then
			var77 = SOME
		end
	end
	if SOME and var77 and var77.ResetOnSpawn == true then
		Utility_upvr.localPlayerRespawned(function() -- Line 371
			--[[ Upvalues[1]:
				[1]: module_upvr_2 (readonly)
			]]
			module_upvr_2:destroy()
		end)
	end
	function var104(arg1) -- Line 378
		--[[ Upvalues[2]:
			[1]: module_upvr_2 (readonly)
			[2]: module_upvr (copied, readonly)
		]]
		-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
		module_upvr_2.noticeChanged:Fire(module_upvr_2.totalNotices)
		for i_7, _ in pairs(module_upvr_2.childIconsDict) do
			local any_getIcon_result1 = module_upvr.getIcon(i_7)
			any_getIcon_result1.noticeChanged:Fire(any_getIcon_result1.totalNotices)
			if not arg1 and any_getIcon_result1.isSelected then
				for _, _ in pairs(any_getIcon_result1.childIconsDict) do
					any_getIcon_result1:deselect()
				end
			end
		end
	end
	module_upvr_2.toggled:Connect(var104)
	function var104() -- Line 393
		--[[ Upvalues[1]:
			[1]: module_upvr_2 (readonly)
		]]
		if module_upvr_2.activeState == "Deselected" then
			module_upvr_2.stateChanged:Fire("Deselected")
			module_upvr_2:refresh()
		end
	end
	task.delay(0.1, var104)
	return module_upvr_2
end
function module_upvr.setName(arg1, arg2) -- Line 411
	arg1.widget.Name = arg2
	arg1.name = arg2
	return arg1
end
function module_upvr.setState(arg1, arg2, arg3) -- Line 417
	--[[ Upvalues[2]:
		[1]: Utility_upvr (readonly)
		[2]: any_new_result1_2_upvr (readonly)
	]]
	if not arg2 then
		if arg1.isSelected then
		else
		end
	end
	local any_formatStateName_result1 = Utility_upvr.formatStateName("Deselected")
	if arg1.activeState == any_formatStateName_result1 then
	else
		arg1.activeState = any_formatStateName_result1
		if any_formatStateName_result1 == "Deselected" then
			arg1.isSelected = false
			if arg1.isSelected then
				arg1.toggled:Fire(false, arg3)
				arg1.deselected:Fire(arg3)
			end
			arg1:_setToggleItemsVisible(false, arg3)
		elseif any_formatStateName_result1 == "Selected" then
			arg1.isSelected = true
			-- KONSTANTERROR: Expression was reused, decompilation is incorrect
			if not arg1.isSelected then
				arg1.toggled:Fire(true, arg3)
				arg1.selected:Fire(arg3)
				any_new_result1_2_upvr:Fire(arg1)
			end
			arg1:_setToggleItemsVisible(true, arg3)
		end
		arg1.stateChanged:Fire(any_formatStateName_result1, arg3)
	end
end
function module_upvr.getInstance(arg1, arg2) -- Line 450
	--[[ Upvalues[1]:
		[1]: Themes_2_upvr (readonly)
	]]
	local var106 = arg1.cachedNamesToInstances[arg2]
	if var106 then
		return var106
	end
	local function cacheInstance_upvr(arg1_2, arg2_2) -- Line 458, Named "cacheInstance"
		--[[ Upvalues[1]:
			[1]: arg1 (readonly)
		]]
		local var107
		if not arg1.cachedInstances[arg2_2] then
			local Collective = arg2_2:GetAttribute("Collective")
			var107 = Collective
			if var107 then
				var107 = arg1.cachedCollectives[Collective]
			end
			if var107 then
				table.insert(var107, arg2_2)
			end
			arg1.cachedNamesToInstances[arg1_2] = arg2_2
			arg1.cachedInstances[arg2_2] = true
			arg2_2.Destroying:Once(function() -- Line 468
				--[[ Upvalues[3]:
					[1]: arg1 (copied, readonly)
					[2]: arg1_2 (readonly)
					[3]: arg2_2 (readonly)
				]]
				arg1.cachedNamesToInstances[arg1_2] = nil
				arg1.cachedInstances[arg2_2] = nil
			end)
		end
	end
	local widget = arg1.widget
	cacheInstance_upvr("Widget", widget)
	if arg2 == "Widget" then
		return widget
	end
	local var111_upvw
	local function scanChildren_upvr(arg1_3) -- Line 481, Named "scanChildren"
		--[[ Upvalues[6]:
			[1]: arg1 (readonly)
			[2]: Themes_2_upvr (copied, readonly)
			[3]: scanChildren_upvr (readonly)
			[4]: cacheInstance_upvr (readonly)
			[5]: arg2 (readonly)
			[6]: var111_upvw (read and write)
		]]
		for _, v_9 in pairs(arg1_3:GetChildren()) do
			local WidgetUID = v_9:GetAttribute("WidgetUID")
			if not WidgetUID or WidgetUID == arg1.UID then
				local any_getRealInstance_result1 = Themes_2_upvr.getRealInstance(v_9)
				if any_getRealInstance_result1 then
					v_9 = any_getRealInstance_result1
				end
				scanChildren_upvr(v_9)
				if v_9:IsA("GuiBase") or v_9:IsA("UIBase") or v_9:IsA("ValueBase") then
					local Name = v_9.Name
					cacheInstance_upvr(Name, v_9)
					if Name == arg2 then
						var111_upvw = v_9
					end
				end
			end
		end
	end
	scanChildren_upvr(widget)
	return var111_upvw
end
function module_upvr.getCollective(arg1, arg2) -- Line 511
	local var122 = arg1.cachedCollectives[arg2]
	if var122 then
		return var122
	end
	local module = {}
	for i_10, _ in pairs(arg1.cachedInstances) do
		if i_10:GetAttribute("Collective") == arg2 then
			table.insert(module, i_10)
		end
	end
	arg1.cachedCollectives[arg2] = module
	return module
end
function module_upvr.getInstanceOrCollective(arg1, arg2) -- Line 532
	local any_getInstance_result1 = arg1:getInstance(arg2)
	local var128
	if any_getInstance_result1 then
		table.insert(var128, any_getInstance_result1)
	end
	if #var128 == 0 then
		var128 = arg1:getCollective(arg2)
	end
	return var128
end
function module_upvr.getStateGroup(arg1, arg2) -- Line 546
	local var129 = arg2
	if not var129 then
		var129 = arg1.activeState
	end
	local var130 = arg1.appearance[var129]
	if not var130 then
		var130 = {}
		arg1.appearance[var129] = var130
	end
	return var130
end
function module_upvr.refreshAppearance(arg1, arg2, arg3) -- Line 556
	--[[ Upvalues[1]:
		[1]: Themes_2_upvr (readonly)
	]]
	Themes_2_upvr.refresh(arg1, arg2, arg3)
	return arg1
end
function module_upvr.refresh(arg1) -- Line 561
	arg1:refreshAppearance(arg1.widget)
	arg1.updateSize:Fire()
	return arg1
end
function module_upvr.updateParent(arg1) -- Line 567
	--[[ Upvalues[1]:
		[1]: module_upvr (readonly)
	]]
	local any_getIcon_result1_2 = module_upvr.getIcon(arg1.parentIconUID)
	if any_getIcon_result1_2 then
		any_getIcon_result1_2.updateSize:Fire()
	end
end
function module_upvr.setBehaviour(arg1, arg2, arg3, arg4, arg5) -- Line 574
	arg1.customBehaviours[arg2..'-'..arg3] = arg4
	if arg5 then
		for _, v_11 in pairs(arg1:getInstanceOrCollective(arg2)) do
			arg1:refreshAppearance(v_11, arg3)
		end
	end
end
function module_upvr.modifyTheme(arg1, arg2, arg3) -- Line 587
	--[[ Upvalues[1]:
		[1]: Themes_2_upvr (readonly)
	]]
	return arg1, Themes_2_upvr.modify(arg1, arg2, arg3)
end
function module_upvr.modifyChildTheme(arg1, arg2, arg3) -- Line 592
	--[[ Upvalues[1]:
		[1]: module_upvr (readonly)
	]]
	arg1.childModifications = arg2
	arg1.childModificationsUID = arg3
	for i_12, _ in pairs(arg1.childIconsDict) do
		module_upvr.getIcon(i_12):modifyTheme(arg2, arg3)
	end
	arg1.childThemeModified:Fire()
end
function module_upvr.removeModification(arg1, arg2) -- Line 604
	--[[ Upvalues[1]:
		[1]: Themes_2_upvr (readonly)
	]]
	Themes_2_upvr.remove(arg1, arg2)
	return arg1
end
function module_upvr.removeModificationWith(arg1, arg2, arg3, arg4) -- Line 609
	--[[ Upvalues[1]:
		[1]: Themes_2_upvr (readonly)
	]]
	Themes_2_upvr.removeWith(arg1, arg2, arg3, arg4)
	return arg1
end
function module_upvr.setTheme(arg1, arg2) -- Line 614
	--[[ Upvalues[1]:
		[1]: Themes_2_upvr (readonly)
	]]
	Themes_2_upvr.set(arg1, arg2)
	return arg1
end
function module_upvr.setEnabled(arg1, arg2) -- Line 619
	arg1.isEnabled = arg2
	arg1.widget.Visible = arg2
	arg1:updateParent()
	return arg1
end
function module_upvr.select(arg1, arg2) -- Line 626
	arg1:setState("Selected", arg2)
	return arg1
end
function module_upvr.deselect(arg1, arg2) -- Line 631
	arg1:setState("Deselected", arg2)
	return arg1
end
function module_upvr.notify(arg1, arg2, arg3) -- Line 636
	--[[ Upvalues[2]:
		[1]: Elements_upvr (readonly)
		[2]: module_upvr (readonly)
	]]
	if not arg1.notice then
		arg1.notice = require(Elements_upvr.Notice)(arg1, module_upvr)
	end
	arg1.noticeStarted:Fire(arg2, arg3)
	return arg1
end
function module_upvr.clearNotices(arg1) -- Line 650
	arg1.endNotices:Fire()
	return arg1
end
function module_upvr.disableOverlay(arg1, arg2) -- Line 655
	arg1.overlayDisabled = arg2
	return arg1
end
module_upvr.disableStateOverlay = module_upvr.disableOverlay
function module_upvr.setImage(arg1, arg2, arg3) -- Line 661
	local tbl_4 = {"IconImage", "Image"}
	tbl_4[3] = arg2
	tbl_4[4] = arg3
	arg1:modifyTheme(tbl_4)
	return arg1
end
function module_upvr.setLabel(arg1, arg2, arg3) -- Line 666
	local tbl_5 = {"IconLabel", "Text"}
	tbl_5[3] = arg2
	tbl_5[4] = arg3
	arg1:modifyTheme(tbl_5)
	return arg1
end
function module_upvr.setOrder(arg1, arg2, arg3) -- Line 671
	local tbl_6 = {"Widget", "LayoutOrder"}
	tbl_6[3] = arg2
	tbl_6[4] = arg3
	arg1:modifyTheme(tbl_6)
	return arg1
end
function module_upvr.setCornerRadius(arg1, arg2, arg3) -- Line 676
	local tbl_11 = {"IconCorners", "CornerRadius"}
	tbl_11[3] = arg2
	tbl_11[4] = arg3
	arg1:modifyTheme(tbl_11)
	return arg1
end
function module_upvr.align(arg1, arg2, arg3) -- Line 681
	--[[ Upvalues[1]:
		[1]: module_upvr (readonly)
	]]
	-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
	local any_lower_result1 = tostring(arg2):lower()
	if any_lower_result1 == "mid" or any_lower_result1 == "centre" then
	end
	if "center" ~= "left" then
		-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
		if "center" ~= "center" and "center" ~= "right" then
		end
	end
	if "left" ~= "center" or not module_upvr.container.TopbarCentered then
		local TopbarStandard = module_upvr.container.TopbarStandard
	end
	-- KONSTANTERROR: Expression was reused, decompilation is incorrect (x2)
	local var152 = string.upper(string.sub("left", 1, 1))..string.sub("left", 2)
	if not arg3 then
		arg1.originalAlignment = var152
	end
	local var153 = TopbarStandard.Holders[var152]
	arg1.screenGui = TopbarStandard
	arg1.alignmentHolder = var153
	arg1.widget.Parent = arg1.joinedFrame or var153
	arg1.alignment = var152
	arg1.alignmentChanged:Fire(var152)
	return arg1
end
module_upvr.setAlignment = module_upvr.align
function module_upvr.setLeft(arg1) -- Line 707
	arg1:setAlignment("Left")
	return arg1
end
function module_upvr.setMid(arg1) -- Line 712
	arg1:setAlignment("Center")
	return arg1
end
function module_upvr.setRight(arg1) -- Line 717
	arg1:setAlignment("Right")
	return arg1
end
function module_upvr.setWidth(arg1, arg2, arg3) -- Line 722
	local tbl_9 = {"Widget", "Size", UDim2.fromOffset(arg2, arg1.widget.Size.Y.Offset)}
	tbl_9[4] = arg3
	arg1:modifyTheme(tbl_9)
	local tbl_2 = {"Widget", "DesiredWidth"}
	tbl_2[3] = arg2
	tbl_2[4] = arg3
	arg1:modifyTheme(tbl_2)
	return arg1
end
function module_upvr.setImageScale(arg1, arg2, arg3) -- Line 732
	local tbl = {"IconImageScale", "Value"}
	tbl[3] = arg2
	tbl[4] = arg3
	arg1:modifyTheme(tbl)
	return arg1
end
function module_upvr.setImageRatio(arg1, arg2, arg3) -- Line 737
	local tbl_8 = {"IconImageRatio", "AspectRatio"}
	tbl_8[3] = arg2
	tbl_8[4] = arg3
	arg1:modifyTheme(tbl_8)
	return arg1
end
function module_upvr.setTextSize(arg1, arg2, arg3) -- Line 742
	local tbl_10 = {"IconLabel", "TextSize"}
	tbl_10[3] = arg2
	tbl_10[4] = arg3
	arg1:modifyTheme(tbl_10)
	return arg1
end
function module_upvr.setTextFont(arg1, arg2, arg3, arg4, arg5) -- Line 747
	local var159 = arg3
	if not var159 then
		var159 = Enum.FontWeight.Regular
	end
	var159 = arg4
	local var160 = var159
	if not var160 then
		var160 = Enum.FontStyle.Normal
	end
	local tbl_7 = {"IconLabel", "FontFace", Font.new(arg2, var159, var160)}
	tbl_7[4] = arg5
	arg1:modifyTheme(tbl_7)
	return arg1
end
function module_upvr.bindToggleItem(arg1, arg2) -- Line 755
	if not arg2:IsA("GuiObject") and not arg2:IsA("LayerCollector") then
		error("Toggle item must be a GuiObject or LayerCollector!")
	end
	arg1.toggleItems[arg2] = true
	arg1:_updateSelectionInstances()
	return arg1
end
function module_upvr.unbindToggleItem(arg1, arg2) -- Line 764
	arg1.toggleItems[arg2] = nil
	arg1:_updateSelectionInstances()
	return arg1
end
function module_upvr._updateSelectionInstances(arg1) -- Line 770
	for i_13, _ in pairs(arg1.toggleItems) do
		for _, v_14 in pairs(i_13:GetDescendants()) do
			if v_14:IsA("TextButton") or v_14:IsA("ImageButton") then
				if v_14.Active then
					table.insert({}, v_14)
				end
			end
		end
		-- KONSTANTERROR: Expression was reused, decompilation is incorrect
		arg1.toggleItems[i_13] = {}
	end
end
function module_upvr._setToggleItemsVisible(arg1, arg2, arg3) -- Line 784
	-- KONSTANTWARNING: Variable analysis failed. Output will have some incorrect variable assignments
	local _
	for i_15, _ in pairs(arg1.toggleItems) do
		if not arg3 or arg3 == arg1 or arg3.toggleItems[i_15] == nil then
			if i_15:IsA("LayerCollector") then
			end
			i_15.Enabled = arg2
		end
	end
end
function module_upvr.bindEvent(arg1, arg2, arg3) -- Line 796
	local var187 = arg1[arg2]
	local var188
	if var188 then
		var188 = false
		if typeof(var187) == "table" then
			var188 = var187.Connect
		end
	end
	assert(var188, "argument[1] must be a valid topbarplus icon event name!")
	if typeof(arg3) ~= "function" then
		var188 = false
	else
		var188 = true
	end
	assert(var188, "argument[2] must be a function!")
	var188 = var187:Connect(function(...) -- Line 800
		--[[ Upvalues[2]:
			[1]: arg3 (readonly)
			[2]: arg1 (readonly)
		]]
		arg3(arg1, ...)
	end)
	arg1.bindedEvents[arg2] = var188
	return arg1
end
function module_upvr.unbindEvent(arg1, arg2) -- Line 806
	local var190 = arg1.bindedEvents[arg2]
	if var190 then
		var190:Disconnect()
		arg1.bindedEvents[arg2] = nil
	end
	return arg1
end
function module_upvr.bindToggleKey(arg1, arg2) -- Line 815
	local var191
	if typeof(arg2) ~= "EnumItem" then
		var191 = false
	else
		var191 = true
	end
	assert(var191, "argument[1] must be a KeyCode EnumItem!")
	var191 = true
	arg1.bindedToggleKeys[arg2] = var191
	arg1.toggleKeyAdded:Fire(arg2)
	arg1:setCaption("_hotkey_")
	return arg1
end
function module_upvr.unbindToggleKey(arg1, arg2) -- Line 823
	local var192
	if typeof(arg2) ~= "EnumItem" then
		var192 = false
	else
		var192 = true
	end
	assert(var192, "argument[1] must be a KeyCode EnumItem!")
	var192 = nil
	arg1.bindedToggleKeys[arg2] = var192
	return arg1
end
function module_upvr.call(arg1, arg2, ...) -- Line 829
	local packed_upvr = table.pack(...)
	task.spawn(function() -- Line 831
		--[[ Upvalues[3]:
			[1]: arg2 (readonly)
			[2]: arg1 (readonly)
			[3]: packed_upvr (readonly)
		]]
		arg2(arg1, table.unpack(packed_upvr))
	end)
	return arg1
end
function module_upvr.addToJanitor(arg1, arg2) -- Line 837
	arg1.janitor:add(arg2)
	return arg1
end
function module_upvr.lock(arg1) -- Line 842
	arg1:getInstance("ClickRegion").Visible = false
	arg1.locked = true
	return arg1
end
function module_upvr.unlock(arg1) -- Line 850
	arg1:getInstance("ClickRegion").Visible = true
	arg1.locked = false
	return arg1
end
function module_upvr.debounce(arg1, arg2) -- Line 857
	arg1:lock()
	task.wait(arg2)
	arg1:unlock()
	return arg1
end
function module_upvr.autoDeselect(arg1, arg2) -- Line 864
	if arg2 == nil then
	end
	arg1.deselectWhenOtherIconSelected = true
	return arg1
end
function module_upvr.oneClick(arg1, arg2) -- Line 874
	local singleClickJanitor = arg1.singleClickJanitor
	singleClickJanitor:clean()
	if arg2 or arg2 == nil then
		singleClickJanitor:add(arg1.selected:Connect(function() -- Line 880
			--[[ Upvalues[1]:
				[1]: arg1 (readonly)
			]]
			arg1:deselect()
		end))
	end
	return arg1
end
function module_upvr.setCaption(arg1, arg2) -- Line 887
	--[[ Upvalues[1]:
		[1]: Elements_upvr (readonly)
	]]
	if arg2 == "_hotkey_" and arg1.captionText then
		return arg1
	end
	arg1.captionJanitor:clean()
	if not arg2 or arg2 == "" then
		arg1.caption = nil
		arg1.captionText = nil
		return arg1
	end
	local any_add_result1 = arg1.captionJanitor:add(require(Elements_upvr.Caption)(arg1))
	any_add_result1:SetAttribute("CaptionText", arg2)
	arg1.caption = any_add_result1
	arg1.captionText = arg2
	return arg1
end
function module_upvr.leave(arg1) -- Line 905
	arg1.joinJanitor:clean()
	return arg1
end
function module_upvr.joinMenu(arg1, arg2) -- Line 911
	--[[ Upvalues[1]:
		[1]: Utility_upvr (readonly)
	]]
	Utility_upvr.joinFeature(arg1, arg2, arg2.menuIcons, arg2:getInstance("Menu"))
	arg2.menuChildAdded:Fire(arg1)
	return arg1
end
function module_upvr.setMenu(arg1, arg2) -- Line 917
	arg1.menuSet:Fire(arg2)
	return arg1
end
function module_upvr.setFrozenMenu(arg1, arg2) -- Line 922
	arg1:freezeMenu(arg2)
	arg1:setMenu(arg2)
end
function module_upvr.freezeMenu(arg1) -- Line 927
	arg1:select()
	arg1:bindEvent("deselected", function(arg1_4) -- Line 931
		arg1_4:select()
	end)
	arg1:modifyTheme({"IconSpot", "Visible", false})
end
function module_upvr.joinDropdown(arg1, arg2) -- Line 937
	--[[ Upvalues[1]:
		[1]: Utility_upvr (readonly)
	]]
	arg2:getDropdown()
	Utility_upvr.joinFeature(arg1, arg2, arg2.dropdownIcons, arg2:getInstance("DropdownScroller"))
	arg2.dropdownChildAdded:Fire(arg1)
	return arg1
end
function module_upvr.getDropdown(arg1) -- Line 944
	--[[ Upvalues[1]:
		[1]: Elements_upvr (readonly)
	]]
	if not arg1.dropdown then
		local var200 = require(Elements_upvr.Dropdown)(arg1)
		arg1.dropdown = var200
		arg1:clipOutside(var200)
	end
	return var200
end
function module_upvr.setDropdown(arg1, arg2) -- Line 954
	arg1:getDropdown()
	arg1.dropdownSet:Fire(arg2)
	return arg1
end
function module_upvr.clipOutside(arg1, arg2) -- Line 960
	--[[ Upvalues[1]:
		[1]: Utility_upvr (readonly)
	]]
	arg1:refreshAppearance(arg2)
	return arg1, Utility_upvr.clipOutside(arg1, arg2)
end
function module_upvr.setIndicator(arg1, arg2) -- Line 971
	--[[ Upvalues[2]:
		[1]: Elements_upvr (readonly)
		[2]: module_upvr (readonly)
	]]
	if not arg1.indicator then
		arg1.indicator = arg1.janitor:add(require(Elements_upvr.Indicator)(arg1, module_upvr))
	end
	arg1.indicatorSet:Fire(arg2)
end
function module_upvr.destroy(arg1) -- Line 986
	if arg1.isDestroyed then
	else
		arg1:clearNotices()
		if arg1.parentIconUID then
			arg1:leave()
		end
		arg1.isDestroyed = true
		arg1.janitor:clean()
	end
end
module_upvr.Destroy = module_upvr.destroy
return module_upvr