function RadioButtonGroupClass.new(G,r)local t=setmetatable({},RadioButtonGroupClass)t._Maid=Lazy.Utilities.Maid.new()t._ChangedBind=Instance.new("\066\105\110\100\097\098\108\101\069\118\101\110\116")t._ActiveRadio=r[1]t.Frame=G t.RadioButtons=r t.Changed=t._ChangedBind.Event init(t)return t end function RadioButtonGroupClass.Create(G,r)local t={}local function q(G,r)local q=Lazy.Classes.RadioButtonLabel.Create(r)q.Frame.LayoutOrder=G t[G]=q return q.Frame end local y=Lazy.Constructors.List.Create(G,r or#G,Enum.FillDirection.Vertical,UDim.new(0,5),q)return RadioButtonGroupClass.new(y,t)end


function RadioButtonGroupClass.new(frame, radioButtons)
	local self = setmetatable({}, RadioButtonGroupClass)
	
	self._Maid = Lazy.Utilities.Maid.new()
	self._ChangedBind = Instance.new("BindableEvent")
	self._ActiveRadio = radioButtons[1]
	
	self.Frame = frame
	self.RadioButtons = radioButtons
	self.Changed = self._ChangedBind.Event
	
	init(self)
	
	return self
end

function RadioButtonGroupClass.Create(list, max)
	local radios = {}
	
	local function instanceFunc(index, option)
		local radio = Lazy.Classes.RadioButtonLabel.Create(option)
		radio.Frame.LayoutOrder = index
		radios[index] = radio
		return radio.Frame
	end
	
	local frame = Lazy.Constructors.List.Create(list, max or #list, Enum.FillDirection.Vertical, UDim.new(0, 5), instanceFunc)
	
	return RadioButtonGroupClass.new(frame, radios)
end
