-- Decompiled with the Synapse X Luau decompiler.


service = nil;
Routine = nil;
client = nil;
return function(p1, p2, p3)
	local v1 = Color3.new(math.random(), math.random(), math.random());
	local u1 = {
		Frame = true, 
		TextBox = true, 
		TextLabel = true, 
		TextButton = true, 
		ImageLabel = true, 
		ImageButton = true, 
		ScrollingFrame = true
	};
	local u2 = {};
	local function u3(p4)
		for v2, v3 in pairs(p4:GetChildren()) do
			if u1[v3.ClassName] then
				table.insert(u2, v3);
				u3(v3);
			end;
		end;
	end;
	if u1[p1.ClassName] then
		table.insert(u2, p1);
	end;
	u3(p1);
	if p3.Name == "List" then
		p1.Drag.Main.BackgroundTransparency = 0;
	end;
	local u4 = { Color3.fromRGB(255, 85, 88), Color3.fromRGB(78, 140, 255), Color3.fromRGB(78, 255, 149) };
	local function u5(p5, p6, p7, p8)
		local v4 = p7 and 0.1;
		for v5 = 0, 1, v4 do
			for v6, v7 in next, u2 do
				if v7.Name ~= "CapeColor" and v7.Name ~= "Color" then
					v7.BackgroundColor3 = p5:lerp(p6, v5);
					if v7:IsA("ImageLabel") or v7:IsA("ImageButton") then
						v7.ImageColor3 = p5:lerp(p6, v5);
					end;
				end;
			end;
			wait(p8 / (1 / v4));
		end;
	end;
	service.TrackTask("Thread: Colorize_" .. tostring(p3.Name), function()
		while (not (not p3.Active) and not (not wait()) or not (not wait(1))) and not p3.Destroyed do
			for v8, v9 in next, u4 do
				local v10 = u4[1];
				if v8 == #u4 then
					local v11 = u4[1];
				else
					v11 = u4[v8 + 1];
				end;
				u5(u4[v8], v11, 0.01, 2);
			end;		
		end;
	end);
end;
