local S={}S.__index=S S.ClassName="\083\105\103\110\097\108"function S.new()local z=setmetatable({},S)z._bindableEvent=Instance.new("\066\105\110\100\097\098\108\101\069\118\101\110\116")z._argData=nil z._argCount=nil return z end function S.Fire(S,...)S._argData={...}S._argCount=select("\035",...)S._bindableEvent:Fire()S._argData=nil S._argCount=nil end function S.Connect(S,z)if type(z)~="\102\117\110\099\116\105\111\110"then error(("\099\111\110\110\101\099\116\040\037\115\041"):format(typeof(z)),2)end return S._bindableEvent.Event:Connect(function()z(unpack(S._argData,1,S._argCount))end)end function S.Wait(S)S._bindableEvent.Event:Wait()assert(S._argData,"\077\105\115\115\105\110\103 \097\114\103 \100\097\116\097\044 \108\105\107\101\108\121 \100\117\101 \116\111 \058\084\119\101\101\110\083\105\122\101\047\080\111\115\105\116\105\111\110 \099\111\114\114\117\112\116\105\110\103 \116\104\114\101\097\100\114\101\102\115\046")return unpack(S._argData,1,S._argCount)end function S.Destroy(S)if S._bindableEvent then S._bindableEvent:Destroy()S._bindableEvent=nil end S._argData=nil S._argCount=nil end function S.Disconnect(S)S:Destroy()end return S
-- Decompiled with the Synapse X Luau decompiler.

local v1 = {}
v1.__index = v1
v1.ClassName = "Signal"
function v1.new()
	local v2 = setmetatable({}, v1)
	v2._bindableEvent = Instance.new("BindableEvent")
	v2._argData = nil
	v2._argCount = nil
	return v2
end
function v1.Fire(p1, ...)
	p1._argData = { ... }
	p1._argCount = select("#", ...)
	p1._bindableEvent:Fire()
	p1._argData = nil
	p1._argCount = nil
end
function v1.Connect(p2, p3)
	if type(p3) ~= "function" then
		error(("connect(%s)"):format(typeof(p3)), 2)
	end
	return p2._bindableEvent.Event:Connect(function()
		p3(unpack(p2._argData, 1, p2._argCount))
	end)
end
function v1.Wait(p4)
	p4._bindableEvent.Event:Wait()
	assert(p4._argData, "Missing arg data, likely due to :TweenSize/Position corrupting threadrefs.")
	return unpack(p4._argData, 1, p4._argCount)
end
function v1.Destroy(p5)
	if p5._bindableEvent then
		p5._bindableEvent:Destroy()
		p5._bindableEvent = nil
	end
	p5._argData = nil
	p5._argCount = nil
end
function v1.Disconnect(p6)
	p6:Destroy()
end
return v1
