local w,y,Y,K local N=setmetatable({},{__index=function(w,y)return{__ROOT_PROXY=true;Path="\083\101\116\116\105\110\103\115",Index=y}end})local E=false local x=warn local function M(...)if w and w.Warn then w.Warn(...)else x("\058\058 "..(script.Name.." \058\058"),...)end end local function F(...)if E then M("\068\101\098\117\103 \058\058",...)end end local t={SplitDefinitionExample={ClientSide=function(...)M("\083\112\108\105\116 \068\101\102\105\110\105\116\105\111\110\033",...)return"\087\069 \071\079\084 \084\072\073\083 \070\082\079\077 \084\072\069 \067\076\073\069\078\084\033"end}}return{Init=function(N,E)w=N K=E y=w.Utilities Y=w.Utilities.Services for y,Y in pairs(t)do w.Commands:DeclareCommand(y,Y)end end;AfterInit=function(w,y) end}
--[[

	Description: Command declaration.
	Author: Sceleratis
	Date: 12/25/2021

--]]


local Root, Utilities, Service, Package;
local Settings = setmetatable({}, {
	__index = function(self, ind)
		return { __ROOT_PROXY = true, Path = "Settings", Index = ind }
	end
})

--// Output
local Verbose = false
local oWarn = warn;

local function warn(...)
	if Root and Root.Warn then
		Root.Warn(...)
	else
		oWarn(":: ".. script.Name .." ::", ...)
	end
end

local function DebugWarn(...)
	if Verbose then
		warn("Debug ::", ...)
	end
end


local DeclareCommands = {
	--// ClientSide for SplitDefinitionExample
	SplitDefinitionExample = {
		ClientSide = function(...)
			warn("Split Definition!", ...)

			return "WE GOT THIS FROM THE CLIENT!"
		end
	};
}

return {
	Init = function(cRoot, cPackage)
		Root = cRoot
		Package = cPackage
		Utilities = Root.Utilities
		Service = Root.Utilities.Services

		for ind, data in pairs(DeclareCommands) do
			Root.Commands:DeclareCommand(ind, data)
		end
	end;

	AfterInit = function(Root, Package)
		--// Do after-init
	end;
}
