return function()local U=(game:GetService("\080\108\097\121\101\114\115")).LocalPlayer.PlayerGui local k=require(game.ReplicatedStorage.Roact)local z=k.Component:extend("\066\105\110\100\105\110\103\069\120\097\109\112\108\101")function z.init(U)U.binding,U.updateBinding=k.createBinding(0)end function z.render(U)return k.createElement("\070\114\097\109\101",{Size=UDim2.new(0,200,0,200),Position=U.binding:map(function(U)return UDim2.new(.5+U/200,0,.5,0)end),AnchorPoint=Vector2.new(.5,.5),BorderSizePixel=U.binding})end function z.didMount(U)U.running=true spawn(function()while U.running do U.updateBinding(U.binding:getValue()+1)wait(.1)end end)end function z.willUnmount(U)U.running=false end local d=k.createElement("\083\099\114\101\101\110\071\117\105",nil,{BindingExample=k.createElement(z)})local m=k.mount(d,U)local function a()k.unmount(m)end return a end
return function()
	local PlayerGui = game:GetService("Players").LocalPlayer.PlayerGui

	local Roact = require(game.ReplicatedStorage.Roact)

	local BindingExample = Roact.Component:extend("BindingExample")

	function BindingExample:init()
		self.binding, self.updateBinding = Roact.createBinding(0)
	end

	function BindingExample:render()
		return Roact.createElement("Frame", {
			Size = UDim2.new(0, 200, 0, 200),
			Position = self.binding:map(function(value)
				return UDim2.new(0.5 + value / 200, 0, 0.5, 0)
			end),
			AnchorPoint = Vector2.new(0.5, 0.5),
			BorderSizePixel = self.binding,
		})
	end

	function BindingExample:didMount()
		self.running = true

		spawn(function()
			while self.running do
				-- With each update, the frame's border grows and it moves to the right
				self.updateBinding(self.binding:getValue() + 1)

				wait(0.1)
			end
		end)
	end

	function BindingExample:willUnmount()
		self.running = false
	end

	local app = Roact.createElement("ScreenGui", nil, {
		BindingExample = Roact.createElement(BindingExample),
	})

	local handle = Roact.mount(app, PlayerGui)

	local function stop()
		Roact.unmount(handle)
	end

	return stop
end
