local y={}y.__index=y function y.new()return setmetatable({BindableEvent=Instance.new("\066\105\110\100\097\098\108\101\069\118\101\110\116")},y)end function y.Fire(y,...)local W=table.pack(...)y.BindableEvent:Fire(function()return table.unpack(W,1,W.n)end)end function y.Connect(W,y)return W.BindableEvent.Event:Connect(function(W)y(W())end)end function y.Wait(y)return(y.BindableEvent.Event:Wait())()end local W=nil function y.Destroy(y)y.BindableEvent=y.BindableEvent:Destroy()setmetatable(y,W)end return y
local Event = {}
Event.__index = Event

function Event.new()
	return setmetatable({
		BindableEvent = Instance.new("BindableEvent");
	}, Event)
end

function Event:Fire(...)
	local Arguments = table.pack(...)
	self.BindableEvent:Fire(function()
		return table.unpack(Arguments, 1, Arguments.n)
	end)
end

function Event:Connect(Function)
	return self.BindableEvent.Event:Connect(function(Arguments)
		Function(Arguments())
	end)
end

function Event:Wait()
	return self.BindableEvent.Event:Wait()()
end

local NULL = nil

function Event:Destroy()
	self.BindableEvent = self.BindableEvent:Destroy()
	setmetatable(self, NULL)
end

return Event