local R=script.Parent local p=R.Parent local E=require(p.equalObjects)local function d(R,p)if type(R)~="\116\097\098\108\101"or type(p)~="\116\097\098\108\101"then return R==p end local E=#R if E~=#p then return false end for E=1,E,1 do if not d(R[E],p[E])then return false end end return true end local function t(...)if E(...)then return true end local R=select("\035",...)local p=select(1,...)for R=2,R,1 do local E=select(R,...)if not d(p,E)then return false end end return true end return t
local Dictionary = script.Parent

local Llama = Dictionary.Parent
local equalObjects = require(Llama.equalObjects)

local function compareDeep(a, b)
	if type(a) ~= "table" or type(b) ~= "table" then
		return a == b
	end

	local aLen = #a

	if aLen ~= #b then
		return false
	end

	for i = 1, aLen do
		if not compareDeep(a[i], b[i]) then
			return false
		end
	end

	return true
end

local function equalsDeep(...)
	if equalObjects(...) then
		return true
	end

	local argCount = select('#', ...)
	local firstObject = select(1, ...)

	for i = 2, argCount do
		local object = select(i, ...)

		if not compareDeep(firstObject, object) then
			return false
		end
	end

	return true
end

return equalsDeep