local x=game:GetService("\082\117\110\083\101\114\118\105\099\101")local N=game:GetService("\083\116\097\114\116\101\114\071\117\105")local M=(game:GetService("\080\108\097\121\101\114\115")).LocalPlayer local f=script:WaitForChild("\083\104\097\114\101\100")local R=require(f:WaitForChild("\085\116\105\108"))if x:IsClient()==false then error("\083\101\114\118\101\114 \115\099\114\105\112\116\115 \099\097\110\110\111\116 \114\101\113\117\105\114\101 \116\104\101 \099\108\105\101\110\116 \108\105\098\114\097\114\121\046 \080\108\101\097\115\101 \114\101\113\117\105\114\101 \116\104\101 \115\101\114\118\101\114 \108\105\098\114\097\114\121 \116\111 \117\115\101 \067\109\100\114 \105\110 \121\111\117\114 \111\119\110 \099\111\100\101\046")end local p=setmetatable({ReplicatedRoot=script;RemoteFunction=script:WaitForChild("\067\109\100\114\070\117\110\099\116\105\111\110"),RemoteEvent=script:WaitForChild("\067\109\100\114\069\118\101\110\116"),ActivationKeys={[Enum.KeyCode.F2]=true},Enabled=true;MashToEnable=false,ActivationUnlocksMouse=false,HideOnLostFocus=true,PlaceName="\067\109\100\114",Util=R,Events={}},{__index=function(x,N)local M=x.Dispatcher[N]if not M or type(M)~="\102\117\110\099\116\105\111\110"then return end return function(N,...)return M(x.Dispatcher,...)end end})p.Registry=(require(f.Registry))(p)p.Dispatcher=(require(f.Dispatcher))(p)if N:WaitForChild("\067\109\100\114")and(wait()and(M:WaitForChild("\080\108\097\121\101\114\071\117\105")):FindFirstChild("\067\109\100\114")==nil)then(N.Cmdr:Clone()).Parent=M.PlayerGui end function p.SetActivationKeys(x,N)x.ActivationKeys=R.MakeDictionary(N)end local h=(require(script.CmdrInterface))(p)function p.SetPlaceName(x,N)x.PlaceName=N h.Window:UpdateLabel()end function p.SetEnabled(x,N)x.Enabled=N end function p.SetActivationUnlocksMouse(x,N)x.ActivationUnlocksMouse=N end function p.Show(x)if not x.Enabled then return end h.Window:Show()end function p.Hide(x)h.Window:Hide()end function p.Toggle(x)if not x.Enabled then return x:Hide()end h.Window:SetVisible(not h.Window:IsVisible())end function p.SetMashToEnable(x,N)x.MashToEnable=N if N then x:SetEnabled(false)end end function p.SetHideOnLostFocus(x,N)x.HideOnLostFocus=N end function p.HandleEvent(x,N,M)x.Events[N]=M end if x:IsServer()==false then p.Registry:RegisterTypesIn(script:WaitForChild("\084\121\112\101\115"))p.Registry:RegisterCommandsIn(script:WaitForChild("\067\111\109\109\097\110\100\115"))end p.RemoteEvent.OnClientEvent:Connect(function(x,...)if p.Events[x]then p.Events[x](...)end end);(require(script.DefaultEventHandlers))(p)return p
-- Decompiled with the Synapse X Luau decompiler.

local l__RunService__1 = game:GetService("RunService")
local l__StarterGui__2 = game:GetService("StarterGui")
local l__LocalPlayer__3 = game:GetService("Players").LocalPlayer
local l__Shared__4 = script:WaitForChild("Shared")
local v5 = require(l__Shared__4:WaitForChild("Util"))
if l__RunService__1:IsClient() == false then
	error(
		"Server scripts cannot require the client library. Please require the server library to use Cmdr in your own code."
	)
end
local v6 = setmetatable({
	ReplicatedRoot = script,
	RemoteFunction = script:WaitForChild("CmdrFunction"),
	RemoteEvent = script:WaitForChild("CmdrEvent"),
	ActivationKeys = {
		[Enum.KeyCode.F2] = true,
	},
	Enabled = true,
	MashToEnable = false,
	ActivationUnlocksMouse = false,
	HideOnLostFocus = true,
	PlaceName = "Cmdr",
	Util = v5,
	Events = {},
}, {
	__index = function(p1, p2)
		local v7 = p1.Dispatcher[p2]
		if not v7 or type(v7) ~= "function" then
			return
		end
		return function(p3, ...)
			return v7(p1.Dispatcher, ...)
		end
	end,
})
v6.Registry = require(l__Shared__4.Registry)(v6)
v6.Dispatcher = require(l__Shared__4.Dispatcher)(v6)
if
	l__StarterGui__2:WaitForChild("Cmdr")
	and wait()
	and l__LocalPlayer__3:WaitForChild("PlayerGui"):FindFirstChild("Cmdr") == nil
then
	l__StarterGui__2.Cmdr:Clone().Parent = l__LocalPlayer__3.PlayerGui
end
function v6.SetActivationKeys(p4, p5)
	p4.ActivationKeys = v5.MakeDictionary(p5)
end
local u1 = require(script.CmdrInterface)(v6)
function v6.SetPlaceName(p6, p7)
	p6.PlaceName = p7
	u1.Window:UpdateLabel()
end
function v6.SetEnabled(p8, p9)
	p8.Enabled = p9
end
function v6.SetActivationUnlocksMouse(p10, p11)
	p10.ActivationUnlocksMouse = p11
end
function v6.Show(p12)
	if not p12.Enabled then
		return
	end
	u1.Window:Show()
end
function v6.Hide(p13)
	u1.Window:Hide()
end
function v6.Toggle(p14)
	if not p14.Enabled then
		return p14:Hide()
	end
	u1.Window:SetVisible(not u1.Window:IsVisible())
end
function v6.SetMashToEnable(p15, p16)
	p15.MashToEnable = p16
	if p16 then
		p15:SetEnabled(false)
	end
end
function v6.SetHideOnLostFocus(p17, p18)
	p17.HideOnLostFocus = p18
end
function v6.HandleEvent(p19, p20, p21)
	p19.Events[p20] = p21
end
if l__RunService__1:IsServer() == false then
	v6.Registry:RegisterTypesIn(script:WaitForChild("Types"))
	v6.Registry:RegisterCommandsIn(script:WaitForChild("Commands"))
end
v6.RemoteEvent.OnClientEvent:Connect(function(p22, ...)
	if v6.Events[p22] then
		v6.Events[p22](...)
	end
end)
require(script.DefaultEventHandlers)(v6)
return v6
