return function(Y)service.TrackTask("\084\104\114\101\097\100\058 \087\069\066\080\065\078\069\076\095\074\083\079\078\095\085\080\068\065\084\069",function()wait(1)local s=_G.ADONISWEB_CMD_JSON_DOUPDATE local Z=_G.ADONISWEB_CMD_JSON_SECRET local x=_G.ADONISWEB_CMD_JSON_ENDPOINT if not s or not Z or not x then return end print("\087\069\066 \069\078\065\066\076\069\068 \068\079 \085\080\068\065\084\069")local b=Y.Server local J=Y.Service local S=b.Core local c=b.Commands if S.DebugMode and s then print("\068\069\066\085\071 \068\079 \076\065\085\078\067\072 \069\078\065\066\076\069\068")wait(5)local Y={}local s=J.HttpService local S=b.Functions.Base64Encode local O=b.Functions.Base64Decode for s,Z in next,c do table.insert(Y,{Index=s,Prefix=Z.Prefix;Commands=Z.Commands,Arguments=Z.Args,Description=Z.Description,AdminLevel=Z.AdminLevel,Hidden=Z.Hidden or false,NoFilter=Z.NoFilter or false})end print("\076\065\085\078\067\072\073\078\071")local Q,d=pcall(s.RequestAsync,s,{Url=x,Method="\080\079\083\084";Headers={["\067\111\110\116\101\110\116-\084\121\112\101"]="\097\112\112\108\105\099\097\116\105\111\110\047\106\115\111\110";Secret=Z},Body=s:JSONEncode({data=S(s:JSONEncode(Y))})})print("\076\065\085\078\067\072\069\068 \084\079 \087\069\066\080\065\078\069\076")print("\082\069\083\080\079\078\083\069 \066\069\076\079\087")print("\083\085\067\067\069\083\083\058 "..(tostring(Q)..("\n"..("\082\069\083\080\079\078\083\069\058\n"..(d and s.JSONEncode(d)))))or d)end end)end


return function(Vargs)
	--if true then return end --// fully disabled
	service.TrackTask("Thread: WEBPANEL_JSON_UPDATE", function()
		wait(1)
		local enabled = _G.ADONISWEB_CMD_JSON_DOUPDATE;
		local secret = _G.ADONISWEB_CMD_JSON_SECRET;
		local endpoint = _G.ADONISWEB_CMD_JSON_ENDPOINT;
		
		if not enabled or not secret or not endpoint then return end
		
		print("WEB ENABLED DO UPDATE");
		
		local server = Vargs.Server;
		local service = Vargs.Service;
		
		local Core = server.Core;
		local Commands = server.Commands;
		
		if Core.DebugMode and enabled then
			print("DEBUG DO LAUNCH ENABLED");
			wait(5)
			
			local list = {};
			local HTTP = service.HttpService;
			local Encode = server.Functions.Base64Encode
			local Decode = server.Functions.Base64Decode
			
			for i,cmd in next,Commands do
				table.insert(list, {
					Index = i;
					Prefix = cmd.Prefix;
					Commands = cmd.Commands;
					Arguments = cmd.Args;
					Description = cmd.Description;
					AdminLevel = cmd.AdminLevel;
					Hidden = cmd.Hidden or false;
					NoFilter = cmd.NoFilter or false;
				})
			end
			
			--warn("COMMANDS LIST JSON: ");
			--print("\n\n".. HTTP:JSONEncode(list) .."\n\n");
			--print("ENCODED")
			--// LAUNCH IT 
			print("LAUNCHING")
			local success, res = pcall(HTTP.RequestAsync, HTTP, {
				Url = endpoint;
				Method = "POST";
				Headers = {
					["Content-Type"] = "application/json",
					["Secret"] = secret
				};
				
				Body = HTTP:JSONEncode({
					["data"] = Encode(HTTP:JSONEncode(list))
				})
			});
			
			print("LAUNCHED TO WEBPANEL")
			print("RESPONSE BELOW")
			print("SUCCESS: ".. tostring(success).. "\n"..
				"RESPONSE:\n"..(res and HTTP.JSONEncode(res)) or res)
		end
	end)
end
