local B=function(...)warn("\058\058 \065\100\111\110\105\115 \058\058",...)end B("\076\111\097\100\105\110\103\046\046\046")local c=game:GetService("\083\101\114\118\101\114\083\099\114\105\112\116\083\101\114\118\105\099\101")local o=game:GetService("\082\117\110\083\101\114\118\105\099\101")local m=o:FindFirstChild("\095\095\065\100\111\110\105\115\095\077\085\084\069\088")if m then if m:IsA("\083\116\114\105\110\103\086\097\108\117\101")then B("\065\100\111\110\105\115 \105\115 \097\108\114\101\097\100\121 \114\117\110\110\105\110\103\033 \065\098\111\114\116\105\110\103\046\046\046\059 \082\117\110\110\105\110\103 \076\111\099\097\116\105\111\110\058",m.Value,"\084\104\105\115 \076\111\099\097\116\105\111\110\058",script:GetFullName())else B("\065\100\111\110\105\115 \109\117\116\101\120 \100\101\116\101\099\116\101\100 \098\117\116 \105\115 \110\111\116 \097 \083\116\114\105\110\103\086\097\108\117\101\033 \065\098\111\114\116\105\110\103 \097\110\121\119\097\121\046\046\046\059 \084\104\105\115 \076\111\099\097\116\105\111\110\058",script:GetFullName())end else m=Instance.new("\083\116\114\105\110\103\086\097\108\117\101")m.Name="\095\095\065\100\111\110\105\115\095\077\085\084\069\088"m.Value=script:GetFullName()m.Parent=o local g=script.Parent.Parent local u=g.Config local d=g.Loader local W=d.Dropper local K=d.Loader local q=script local v=u.Settings local S=u.Plugins local Y=u.Themes local a=g:Clone()local x={Settings={},Descriptions={};Messages={},ServerPlugins={};ClientPlugins={},Packages={};Themes={};ModelParent=g.Parent;Model=g,Config=u,Core=d,Loader=K;Dopper=W;Runner=q,ModuleID=7510592873,LoaderID=7510622625;DebugMode=false}script.Parent=nil g.Name=math.random()local G=x.ModuleID if x.DebugMode then G=g.Parent.MainModule end local L,f=pcall(require,v)if L then x.Messages=f.Settings.Messages else B("\083\101\116\116\105\110\103\115 \109\111\100\117\108\101 \101\114\114\111\114\101\100 \119\104\105\108\101 \108\111\097\100\105\110\103\059 \085\115\105\110\103 \100\101\102\097\117\108\116\115\059 \069\114\114\111\114 \077\101\115\115\097\103\101\058 ",f)table.insert(x.Messages,{Title="\087\097\114\110\105\110\103\033",Message="\083\101\116\116\105\110\103\115 \109\111\100\117\108\101 \101\114\114\111\114 \100\101\116\101\099\116\101\100\046 \085\115\105\110\103 \100\101\102\097\117\108\116 \115\101\116\116\105\110\103\115\046",Time=15})f={}end x.Settings=f.Settings x.Descriptions=f.Description x.Order=f.Order for c,o in ipairs(S:GetChildren())do if o:IsA("\070\111\108\100\101\114")then table.insert(x.Packages,o)elseif string.sub(string.lower(o.Name),1,7)=="\099\108\105\101\110\116\058"or string.sub(string.lower(o.Name),1,7)=="\099\108\105\101\110\116-"then table.insert(x.ClientPlugins,o)elseif string.sub(string.lower(o.Name),1,7)=="\115\101\114\118\101\114\058"or string.sub(string.lower(o.Name),1,7)=="\115\101\114\118\101\114-"then table.insert(x.ServerPlugins,o)else B("\085\110\107\110\111\119\110 \080\108\117\103\105\110 \084\121\112\101 \102\111\114 "..(tostring(o).."\059 \080\108\117\103\105\110 \110\097\109\101 \115\104\111\117\108\100 \101\105\116\104\101\114 \115\116\097\114\116 \119\105\116\104 \115\101\114\118\101\114\058\044 \115\101\114\118\101\114-\044 \099\108\105\101\110\116\058\044 \111\114 \099\108\105\101\110\116-"))end end for B,c in ipairs(Y:GetChildren())do table.insert(x.Themes,c)end if tonumber(G)then B("\082\101\113\117\105\114\105\110\103 \065\100\111\110\105\115 \077\097\105\110\077\111\100\117\108\101\046 \077\111\100\101\108 \085\082\076\058 \104\116\116\112\115\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\108\105\098\114\097\114\121\047"..G)end local M=require(G)local z=M(x)if z=="\083\085\067\067\069\083\083"then if(x.Settings and x.Settings.HideScript)and(not x.DebugMode and not o:IsStudio())then g.Parent=nil game:BindToClose(function()g.Parent=c g.Name="\065\100\111\110\105\115\095\076\111\097\100\101\114"end)end g.Name="\065\100\111\110\105\115\095\076\111\097\100\101\114"else error(" \033\033 \077\097\105\110\077\111\100\117\108\101 \102\097\105\108\101\100 \116\111 \108\111\097\100 \033\033 ")end end
----------------------------------------------------------------------------------------
--                                  Adonis Loader                                     --
----------------------------------------------------------------------------------------
--		   	  Epix Incorporated. Not Everything is so Black and White.    --
----------------------------------------------------------------------------------------
--	    Edit settings in-game or using the settings module in the Config folder   --
----------------------------------------------------------------------------------------
--	                  This is not designed to work in solo mode                   --
----------------------------------------------------------------------------------------

local warn = function(...)
	warn(":: Adonis ::", ...)
end

warn("Loading...")

local ServerScriptService = game:GetService("ServerScriptService")
local RunService = game:GetService("RunService")
local mutex = RunService:FindFirstChild("__Adonis_MUTEX")
if mutex then
	if mutex:IsA("StringValue") then
		warn(
			"Adonis is already running! Aborting...; Running Location:",
			mutex.Value,
			"This Location:",
			script:GetFullName()
		)
	else
		warn("Adonis mutex detected but is not a StringValue! Aborting anyway...; This Location:", script:GetFullName())
	end
else
	mutex = Instance.new("StringValue")
	mutex.Name = "__Adonis_MUTEX"
	mutex.Value = script:GetFullName()
	mutex.Parent = RunService

	local model = script.Parent.Parent
	local config = model.Config
	local core = model.Loader

	local dropper = core.Dropper
	local loader = core.Loader
	local runner = script

	local settings = config.Settings
	local plugins = config.Plugins
	local themes = config.Themes

	local backup = model:Clone()

	local data = {
		Settings = {},
		Descriptions = {},
		Messages = {},
		ServerPlugins = {},
		ClientPlugins = {},
		Packages = {},
		Themes = {},

		ModelParent = model.Parent,
		Model = model,
		Config = config,
		Core = core,

		Loader = loader,
		Dopper = dropper,
		Runner = runner,

		ModuleID = 7510592873, --// https://www.roblox.com/library/7510592873/Adonis-MainModule
		LoaderID = 7510622625, --// https://www.roblox.com/library/7510622625/Adonis-Loader-Sceleratis-Davey-Bones-Epix

		DebugMode = false,
	}

	--// Init

	-- selene: allow(incorrect_standard_library_use)
	script.Parent = nil --script:Destroy()
	model.Name = math.random()

	local moduleId = data.ModuleID
	if data.DebugMode then
		moduleId = model.Parent.MainModule
	end
	local success, setTab = pcall(require, settings)
	if success then
		data.Messages = setTab.Settings.Messages
	else
		warn("Settings module errored while loading; Using defaults; Error Message: ", setTab)
		table.insert(data.Messages, {
			Title = "Warning!",
			Message = "Settings module error detected. Using default settings.",
			Time = 15,
		})
		setTab = {}
	end

	data.Settings = setTab.Settings
	data.Descriptions = setTab.Description
	data.Order = setTab.Order

	for _, Plugin in ipairs(plugins:GetChildren()) do
		if Plugin:IsA("Folder") then
			table.insert(data.Packages, Plugin)
		elseif
			string.sub(string.lower(Plugin.Name), 1, 7) == "client:"
			or string.sub(string.lower(Plugin.Name), 1, 7) == "client-"
		then
			table.insert(data.ClientPlugins, Plugin)
		elseif
			string.sub(string.lower(Plugin.Name), 1, 7) == "server:"
			or string.sub(string.lower(Plugin.Name), 1, 7) == "server-"
		then
			table.insert(data.ServerPlugins, Plugin)
		else
			warn(
				"Unknown Plugin Type for "
					.. tostring(Plugin)
					.. "; Plugin name should either start with server:, server-, client:, or client-"
			)
		end
	end

	for _, Theme in ipairs(themes:GetChildren()) do
		table.insert(data.Themes, Theme)
	end

	if tonumber(moduleId) then
		warn("Requiring Adonis MainModule. Model URL: https://www.roblox.com/library/" .. moduleId)
	end

	local module = require(moduleId)
	local response = module(data)

	if response == "SUCCESS" then
		if (data.Settings and data.Settings.HideScript) and not data.DebugMode and not RunService:IsStudio() then
			model.Parent = nil
			game:BindToClose(function()
				model.Parent = ServerScriptService
				model.Name = "Adonis_Loader"
			end)
		end

		model.Name = "Adonis_Loader"
	else
		error(" !! MainModule failed to load !! ")
	end
end

--[[
--___________________________________________________________________________________________--
--___________________________________________________________________________________________--
--___________________________________________________________________________________________--
--___________________________________________________________________________________________--

					___________      .__         .___
					\_   _____/_____ |__|__  ___ |   | ____   ____
					 |    __)_\____ \|  \  \/  / |   |/    \_/ ___\
					 |        \  |_> >  |>    <  |   |   |  \  \___
					/_______  /   __/|__/__/\_ \ |___|___|  /\___  > /\
					        \/|__|            \/          \/     \/  \/
				  --------------------------------------------------------
				  Epix Incorporated. Not Everything is so Black and White.
				  --------------------------------------------------------

--___________________________________________________________________________________________--
--___________________________________________________________________________________________--
--___________________________________________________________________________________________--
--___________________________________________________________________________________________--
																																																							--]]
