Roblox/luau_corpus huggingface dataset:
--Required components
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local ServerStorage = game:GetService("ServerStorage")

local SavingMethods = require(script.SavingMethods)
local TableUtil = require(script.TableUtil)
local Verifier = require(script.Verifier)

local SaveInStudioObject = ServerStorage:FindFirstChild("SaveInStudio")
local SaveInStudio = SaveInStudioObject and SaveInStudioObject.Value

local function clone(value)
	if typeof(value) == "table" then
		return TableUtil.clone(value)
	else
		return value
	end
end
--[[Engine]]

	--		[TORQUE CURVE VISUAL]
	--		https://www.desmos.com/calculator/nap6stpjqf
	--		Use sliders to manipulate values
	--		Edit everything as if your car is NATURALLY aspirated, or as if it lacks a turbo.
	
	Tune.Horsepower		= 568
	Tune.IdleRPM		= 700
	Tune.PeakRPM		= 7000
	Tune.Redline		= 8000
	Tune.EqPoint		= 5252
	Tune.PeakSharpness	= 20
	Tune.CurveMult		= 0.2
	
	Tune.InclineComp	= 1.7		-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Turbo Settings
	Tune.Aspiration		= "Double"												--[[
	[Aspiration]
		"Natural"		: N/A, Naturally aspirated engine
		"Single"		: Single turbocharger
		"Double"		: Twin turbocharger											]]
	
	Tune.Boost			= 15		--Max PSI per turbo (If you have two turbos and this is 15, the PSI will be 30)
	Tune.TurboSize		= 65		--Turbo size; the bigger it is, the more lag it has.
	Tune.CompressRatio	= 9			--The compression ratio (look it up)
	
	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response, lower = more stable RPM)
---Exit function
function module.ExitSeat()
	local humanoid = getLocalHumanoid()
	if not humanoid then
		return false
	end
	local character = humanoid.Parent
	if character.Humanoid.Sit == true then
		for _, joint in ipairs(character.HumanoidRootPart:GetJoints()) do
			if joint.Name == "SeatWeld" then
				if Seats[joint.Part0] then --Dont trigger this script on unrelated seats
					for _, func in pairs(module.OnExitFunctions) do
						func(joint.Part0)
					end
					ExitSeat:FireServer()
					-- stop playing animations
					
					for name, track in pairs(AnimationTracks) do
						track:Stop()
					end
					
					return true
				end
			end
		end
	end
end

function module.GetSeats()
	return Seats
end
-- отображение текущих характеристик башни
wait(1)

me = script.Parent
plr = game.Players.LocalPlayer
gui = plr.PlayerGui.ScreenGui.Main.TowerInfo


while true do
	wait()
	
	if me.objTower.Value == nil then
		me.Visible = false
	else
		obj=me.objTower.Value
		
		me.Visible = true
		--		print(obj.Name)
		local val = obj:FindFirstChild("Owner")
		if val then 
			gui.txtOwner.Text	= val.Value
		end
		temp=obj:FindFirstChild("Config")
		if temp ~= nil then	-- не кристалл
			gui.txtDamage.Text	= obj.cfgDamage.Value
			gui.txtSpeed.Text	= obj.cfgSpeedAttack.Value
			-- вывод типа урона
			types = temp.DamageType.Value		
			if types == 1 then
				gui.txtType.Text= "Single"
				gui.txtRadius.Text	= obj.cfgRadius.Value
			elseif types == 2 then
				gui.txtType.Text= "AoE"
				gui.txtRadius.Text	= obj.cfgRadius.Value
			elseif types == 3 then
				gui.txtType.Text= "Contact"
				gui.txtRadius.Text	= " - "
			else
				gui.txtType.Text= " ??? "
			end
		else -- кристалл
			gui.txtDamage.Text	= " - "
			gui.txtRadius.Text	= " - "
			gui.txtSpeed.Text	= " - "
			gui.txtType.Text	= " - "
		end
		
	end
end
--Effects
	Hit:Play()
	wait(0.1)
	Effects.Trail.Enabled = true
	Trace.Sound:Play()
	wait(0.1)
		Effects.Trail.Enabled = false
	end
	wait(2.5)
--[[
	An internal method used by the reconciler to construct a new component
	instance and attach it to the given virtualNode.
]]
function Component:__mount(reconciler, virtualNode)
	if config.internalTypeChecks then
		internalAssert(Type.of(self) == Type.StatefulComponentClass, "Invalid use of `__mount`")
		internalAssert(Type.of(virtualNode) == Type.VirtualNode, "Expected arg #2 to be of type VirtualNode")
	end

	local currentElement = virtualNode.currentElement
	local hostParent = virtualNode.hostParent

	-- Contains all the information that we want to keep from consumers of
	-- Roact, or even other parts of the codebase like the reconciler.
	local internalData = {
		reconciler = reconciler,
		virtualNode = virtualNode,
		componentClass = self,
		lifecyclePhase = ComponentLifecyclePhase.Init,
	}

	local instance = {
		[Type] = Type.StatefulComponentInstance,
		[InternalData] = internalData,
	}

	setmetatable(instance, self)

	virtualNode.instance = instance

	local props = currentElement.props

	if self.defaultProps ~= nil then
		props = assign({}, self.defaultProps, props)
	end

	instance:__validateProps(props)

	instance.props = props

	local newContext = assign({}, virtualNode.context)
	instance._context = newContext

	instance.state = assign({}, instance:__getDerivedState(instance.props, {}))

	if instance.init ~= nil then
		instance:init(instance.props)
		assign(instance.state, instance:__getDerivedState(instance.props, instance.state))
	end

	-- It's possible for init() to redefine _context!
	virtualNode.context = instance._context

	internalData.lifecyclePhase = ComponentLifecyclePhase.Render
	local renderResult = instance:render()

	internalData.lifecyclePhase = ComponentLifecyclePhase.ReconcileChildren
	reconciler.updateVirtualNodeWithRenderResult(virtualNode, hostParent, renderResult)

	if instance.didMount ~= nil then
		internalData.lifecyclePhase = ComponentLifecyclePhase.DidMount
		instance:didMount()
	end

	if internalData.pendingState ~= nil then
		-- __update will handle pendingState, so we don't pass any new element or state
		instance:__update(nil, nil)
	end

	internalData.lifecyclePhase = ComponentLifecyclePhase.Idle
end
--	local Timer = Timer.new()
	--Timer:OnFinish(function() timedOut = true end)
	--Timer:Start(self.Timeout)
	
	local queueNumber = self.QueueEnd
	self.QueueEnd = self.QueueEnd + 1
	
	while not self.Deleted and queueNumber ~= self.QueueIndex do --not timedOut
		wait(.1) 
	end
	
	--Timer:Stop()

	wait() --make sure last thread has finished
	
	--if timedOut then self:Next() print("Queue timeout") return false end
	--return true
end

function Queue:Next()
	self.QueueIndex = self.QueueIndex + 1
end





return Queue
-- // Funtions

function toggleButton()
	local function toggleOn()
		if debounce then return end

		debounce = true

		frame:SetAttribute('enabled', true)

		TweenService:Create(button, TweenInfo.new(waitTime, Enum.EasingStyle.Cubic, Enum.EasingDirection.InOut), {Position = onPosition}):Play()
		TweenService:Create(button, TweenInfo.new(waitTime, Enum.EasingStyle.Cubic, Enum.EasingDirection.InOut), {BackgroundColor3 = onColor}):Play()

		task.wait(waitTime)

		debounce = false
	end

	local function toggleOff()
		if debounce then return end

		debounce = true

		frame:SetAttribute('enabled', false)

		TweenService:Create(button, TweenInfo.new(waitTime, Enum.EasingStyle.Cubic, Enum.EasingDirection.InOut), {Position = offPosition}):Play()
		TweenService:Create(button, TweenInfo.new(waitTime, Enum.EasingStyle.Cubic, Enum.EasingDirection.InOut), {BackgroundColor3 = offColor}):Play()

		task.wait(waitTime)

		debounce = false
	end

	if frame:GetAttribute('enabled') then toggleOff() else toggleOn() end
end
--[[Brakes]]
	Tune.ABSEnabled		= true		-- Implements ABS
	Tune.ABSThreshold	= 20		-- Slip speed allowed before ABS starts working (in SPS) 

	Tune.FBrakeForce	= 3000		-- Front brake force
	Tune.RBrakeForce	= 4000		-- Rear brake force
	Tune.PBrakeForce	= 4000		-- Handbrake force
	
	Tune.FLgcyBForce	= 15000		-- Front brake force [PGS OFF]
	Tune.RLgcyBForce	= 10000		-- Rear brake force [PGS OFF]
	Tune.LgcyPBForce	= 25000		-- Handbrake force [PGS OFF]
--[[Susupension]]
	Tune.SusEnabled		= true		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled
	
	--Front Suspension
	Tune.FSusDamping	= 1500		-- Spring Dampening
	Tune.FSusStiffness	= 9000		-- Spring Force
	Tune.FAntiRoll 		= 50000		-- Anti-Roll (Gyro Dampening)
	
	Tune.FSusLength		= 2.15			-- Suspension length (in studs)
	Tune.FPreCompress	= .2		-- Pre-compression adds resting length force
	Tune.FExtensionLim	= .3		-- Max Extension Travel (in studs)
	Tune.FCompressLim	= 0		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.FWsBoneLen		= 5			-- Wishbone Length
	Tune.FWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.FAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward
	
	--Rear Suspension
	Tune.RSusDamping	= 1500		-- Spring Dampening
	Tune.RSusStiffness	= 9000		-- Spring Force
	Tune.FAntiRoll 		= 50000		-- Anti-Roll (Gyro Dampening)

	Tune.RSusLength		= 2.2			-- Suspension length (in studs)
	Tune.RPreCompress	= -0.3		-- Pre-compression adds resting length force
	Tune.RExtensionLim	= .3		-- Max Extension Travel (in studs)
	Tune.RCompressLim	= 0		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.RWsBoneLen		= 5			-- Wishbone Length
	Tune.RWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics	
	Tune.SusVisible		= true			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Bright red"	-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 6				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness
--[[
	Creates an association with specified room
]]
function Window:associateRoom(room)
	self._associatedRoom = room
end
----- MAGIC NUMBERS ABOUT THE TOOL -----
-- How much damage a bullet does
local Damage = 7
--Game which use Donor
local gamesWithDonor = {
	-- Its currently too time consuming and unfair to maintain donor games
	-- A new automated discover will be introduced with the successor of HD Admin, Nanoblox
	--[[{574407221, "Super Hero Tycoon"};
	{2921400152, "4PLR Tycoon"};
	{1828225164, "Guest World"};
	{591993002, "OHD Roleplay World"};
	{4823091615 , "Paradise Life"};
	{49254942, "2 Player House Tycoon"};
	{3169584572, "Meme Music"};
	{2764548803, "Island Hotel"};
	{3093229294, "Animations: Mocap"};
	{3411100258, "evry bordr gam evr"};
	{3108078982, "HD Admin House"};
	{12996397, "Mega Fun Obby 🌟"};
	{184558572, "Survive the Disasters"};
	{4522347649, "[FREE ADMIN]"};
	{4913581664, "Cart Ride Into Rdite!"};--]]
	
	--{0, ""};
	}
local coreFunctions
repeat wait() coreFunctions = main:GetModule("cf") until coreFunctions.RandomiseTable
local gamesWithDonorSorted = coreFunctions:RandomiseTable(gamesWithDonor, 86400)
for i, gameData in pairs(gamesWithDonorSorted) do
	local gameId = gameData[1]
	local gameName = gameData[2]
	local row = math.ceil(i/2)
	local column = i % 2 
	local gamePage
	if column == 1 then
		gamePage = templateGame:Clone()
		gamePage.Name = "AI Game".. row
		gamePage.Visible = true
		gamePage.Parent = pages.donor
	else
		gamePage = pages.donor["AI Game".. row]
	end
	local gameThumbnail = gamePage["GameImage"..column]
	local gameLabel = gamePage["GameName"..column]
	local image = "https://assetgame.roblox.com/Game/Tools/ThumbnailAsset.ashx?aid=".. gameId .."&fmt=png&wd=420&ht=420"
	gameThumbnail.Image = image
	gameLabel.Text = gameName
	gameThumbnail.Visible = true
	gameLabel.Visible = true
	--Teleport to game
	local selectButton = gameThumbnail.Select
	local clickFrame = gameThumbnail.ClickFrame
	selectButton.MouseButton1Click:Connect(function()
		teleportFrame.ImageLabel.Image = image
		teleportFrame.TeleportTo.TextLabel.Text = gameName.."?"
		teleportFrame.MainButton.PlaceId.Value = gameId
		main:GetModule("cf"):ShowWarning("Teleport")
	end)
	selectButton.MouseEnter:Connect(function()
		if not main.warnings.Visible then
			clickFrame.Visible = true
		end
	end)
	selectButton.MouseLeave:Connect(function()
		clickFrame.Visible = false
	end)
	teleportFrame.Visible = true
end
------------------------------------------------------------
local TwinService = game:GetService("TweenService")
local AnimationHighLight = TweenInfo.new(3, Enum.EasingStyle.Sine ,Enum.EasingDirection.InOut)
local Info1 = {Position = Vector3.new(pos1,Positionn,pos3)}
local Info2 = {Position = Vector3.new(pos1,Positionn2,pos3)}
local AnimkaUp = TwinService:Create(Danger, AnimationHighLight, Info1 )
local AnimkaDown = TwinService:Create(Danger, AnimationHighLight, Info2 )
while true do
	AnimkaDown:Play()
	wait(2)
	AnimkaUp:Play()
	wait(2)
end
--- Calls the transform function on this argument.
-- The return value(s) from this function are passed to all of the other argument methods.
-- Called automatically at instantiation
function Argument:Transform()
	if #self.TransformedValues ~= 0 then
		return
	end

	if self.Type.Listable and #self.RawValue > 0 then
		local rawSegments = Util.SplitStringSimple(self.RawValue, ",")

		if self.RawValue:sub(#self.RawValue, #self.RawValue) == "," then
			rawSegments[#rawSegments + 1] = "" -- makes auto complete tick over right after pressing ,
		end

		for i, rawSegment in ipairs(rawSegments) do
			self.RawSegments[i] = rawSegment
			self.TransformedValues[i] = { self:TransformSegment(rawSegment) }
		end
	else
		self.RawSegments[1] = self.RawValue
		self.TransformedValues[1] = { self:TransformSegment(self.RawValue) }
	end
end

function Argument:TransformSegment(rawSegment)
	if self.Type.Transform then
		return self.Type.Transform(rawSegment, self.Executor)
	else
		return rawSegment
	end
end
--((current - target) / 2) + target + (((current - target) / 2) * math.cos((currenttime * math.pi) / lengthoftime))

function CloudVisiblity(TargetSmall, TargetLarge, Small, Large, Time)
	for i = 1, Time * 10 do
		local TransSmall = ((Small[1].Transparency - TargetSmall) / 2) + TargetSmall + (((Small[1].Transparency - TargetSmall) / 2) * math.cos((i * math.pi) / (Time * 10)))
		local TransLarge = ((Large[1].Transparency - TargetLarge) / 2) + TargetLarge + (((Large[1].Transparency - TargetLarge) / 2) * math.cos((i * math.pi) / (Time * 10)))
		for _, Child in pairs(Small) do Child.Transparency = TransSmall end
		for _, Child in pairs(Large) do Child.Transparency = TransLarge end
		wait(.1)
	end
	for _, Child in pairs(Small) do Child.Transparency = TargetSmall end
	for _, Child in pairs(Large) do Child.Transparency = TargetLarge end
end

return CloudVisiblity
-- Walking --
local function Walk(input)
	if input.KeyCode == Enum.KeyCode.LeftShift then
		Running = false
		humanoid.WalkSpeed = 16

		while not Running and Stamina2.MinValue < 550 do
			Stamina2.MinValue += 2	
			StamBar.Size = UDim2.new(0, Stamina2.MinValue, 0, 15)		
			wait(.1)
		end

	end
end
UIS.InputEnded:Connect(Walk)

while true do
	wait(.01)
	StamBar.Size = UDim2.new(0, Stamina2.MinValue, 0, 15)	

	if Stamina2.MinValue >= 180 then

		local Goal = {BackgroundColor3 = Color3.new(0.258824, 0.756863, 0.0470588)}
		--Set the tween:
		local Tween = TweenService:Create(StamBar, TweenInfo.new(2), Goal)
		Tween:Play()
	end

	-- if stamina is below 150 then color is yellow
	if Stamina2.MinValue <= 150 then

		local Goal = {BackgroundColor3 = Color3.new(0.772549, 0.772549, 0)}
		--Set the tween:
		local Tween = TweenService:Create(StamBar, TweenInfo.new(2), Goal)
		Tween:Play()
	end

	-- if stamina is below 50 then color is red
	if Stamina2.MinValue <= 70 then

		local Goal = {BackgroundColor3 = Color3.new(0.772549, 0, 0.0117647)}
		--Set the tween:
		local Tween = TweenService:Create(StamBar, TweenInfo.new(2), Goal)
		Tween:Play()
	end
end
--end
--if SignalValues.Signal2a.Value == 2 then
	SignalValues.Signal2a.Value = 3
--// Ammo Settings			
	Ammo = 50;
	StoredAmmo = 20;
	MagCount = math.huge; --  If you want infinate ammo, set to math.huge EX. MagCount = math.huge;
	ExplosiveAmmo = 3;
-- Functions 

function module.create(self, mass, force, damping, speed)

	local spring	= {
		Target		= Vector3.new();
		Position	= Vector3.new();
		Velocity	= Vector3.new();

		Mass		= mass or 5;
		Force		= force or 50;
		Damping		= damping or 4;
		Speed		= speed  or 4;
	}
	
	function spring.SetBaseValue(self, V)
		self.Target = V
		self.Position = V
		self.Velocity = V
	end
	
	function spring.Shove(self, force)
		local x, y, z	= force.X, force.Y, force.Z
		if x ~= x or x == math.huge or x == -math.huge then
			x	= 0
		end
		if y ~= y or y == math.huge or y == -math.huge then
			y	= 0
		end
		if z ~= z or z == math.huge or z == -math.huge then
			z	= 0
		end
		self.Velocity	= self.Velocity + Vector3.new(x, y, z)
	end

	function spring.Update(self, dt)
		local scaledDeltaTime = math.min(dt,1) * self.Speed / ITERATIONS

		for i = 1, ITERATIONS do
			local iterationForce= self.Target - self.Position
			local acceleration	= (iterationForce * self.Force) / self.Mass

			acceleration		= acceleration - self.Velocity * self.Damping

			self.Velocity	= self.Velocity + acceleration * scaledDeltaTime
			self.Position	= self.Position + self.Velocity * scaledDeltaTime
		end

		return self.Position
	end

	return spring
end
-- 100 == 1  0 == 0  1/0.5

function JamCalculation()
	local L_181_
	if (math.random(1, 100) <= L_24_.JamChance) then	
		L_181_ = true
		L_74_ = true
	else
		L_181_ = false
	end
	return L_181_
end

function TracerCalculation()
	local L_182_
	if (math.random(1, 100) <= L_24_.TracerChance) then	
		L_182_ = true
	else
		L_182_ = false
	end
	return L_182_
end

function ScreamCalculation()
	local L_183_
	if (math.random(1, 100) <= L_24_.SuppressCalloutChance) then	
		L_183_ = true
	else
		L_183_ = false
	end
	return L_183_
end

function SearchResupply(L_184_arg1)
	local L_185_ = false
	local L_186_ = nil
	
	if L_184_arg1:FindFirstChild('ResupplyVal') or L_184_arg1.Parent:FindFirstChild('ResupplyVal') then
		L_185_ = true
		if L_184_arg1:FindFirstChild('ResupplyVal') then
			L_186_ = L_184_arg1.ResupplyVal
		elseif L_184_arg1.Parent:FindFirstChild('ResupplyVal') then
			L_186_ = L_184_arg1.Parent.ResupplyVal
		end
	end
	return L_185_, L_186_
end

function CheckReverb()
	local L_187_, L_188_ = workspace:FindPartOnRayWithIgnoreList(Ray.new(L_6_.CFrame.p, (L_6_.CFrame.upVector).unit * 30), IgnoreList);
		
	if L_187_ then
		local L_189_ = L_58_:WaitForChild('Fire'):FindFirstChild('ReverbSoundEffect') or Instance.new("ReverbSoundEffect", L_58_:WaitForChild('Fire'))
	elseif not L_187_ then
		if L_58_:WaitForChild('Fire'):FindFirstChild('ReverbSoundEffect') then
			L_58_.Fire.ReverbSoundEffect:Destroy()
		end
	end
end

function UpdateAmmo()
	L_29_.Text = L_102_
	L_30_.Text = L_29_.Text
	
	L_31_.Text = '| ' .. math.ceil(L_103_ / L_24_.StoredAmmo)
	L_32_.Text = L_31_.Text
	
	if L_92_ == 0 then
		L_40_.Image = 'rbxassetid://' .. 1868007495
	elseif L_92_ == 1 then
		L_40_.Image = 'rbxassetid://' .. 1868007947
	elseif L_92_ == 2 then
		L_40_.Image = 'rbxassetid://' .. 1868008584
	end
	
	if L_91_ == 1 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0.7
		L_37_.BackgroundTransparency = 0.7
		L_38_.BackgroundTransparency = 0.7
		L_39_.BackgroundTransparency = 0.7
	elseif L_91_ == 2 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0
		L_39_.BackgroundTransparency = 0
	elseif L_91_ == 3 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0.7
		L_39_.BackgroundTransparency = 0.7
	elseif L_91_ == 4 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0
		L_39_.BackgroundTransparency = 0.7
	elseif L_91_ == 5 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0.7
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0.7
		L_39_.BackgroundTransparency = 0.7
	elseif L_91_ == 6 then
		L_35_.BackgroundTransparency = 0
		L_36_.BackgroundTransparency = 0.7
		L_37_.BackgroundTransparency = 0
		L_38_.BackgroundTransparency = 0
		L_39_.BackgroundTransparency = 0.7
	end
	
end
--[[
	Updates all Tween objects.
]]
local function updateAllTweens()
	local now = os.clock()
	-- FIXME: Typed Luau doesn't understand this loop yet
	for tween: Tween in pairs(allTweens :: any) do
		local currentTime = now - tween._currentTweenStartTime

		if currentTime > tween._currentTweenDuration then
			if tween._currentTweenInfo.Reverses then
				tween._currentValue = tween._prevValue
			else
				tween._currentValue = tween._nextValue
			end
			updateAll(tween)
			TweenScheduler.remove(tween)
		else
			local ratio = getTweenRatio(tween._currentTweenInfo, currentTime)
			local currentValue = lerpType(tween._prevValue, tween._nextValue, ratio)
			tween._currentValue = currentValue
			updateAll(tween)
		end
	end
end

RunService:BindToRenderStep(
	"__FusionTweenScheduler",
	Enum.RenderPriority.First.Value,
	updateAllTweens
)

return TweenScheduler
--[[
	Packages up the internals of Roact and exposes a public API for it.
]]

local GlobalConfig = require(script.GlobalConfig)
local createReconciler = require(script.createReconciler)
local createReconcilerCompat = require(script.createReconcilerCompat)
local RobloxRenderer = require(script.RobloxRenderer)
local strict = require(script.strict)
local Binding = require(script.Binding)

local robloxReconciler = createReconciler(RobloxRenderer)
local reconcilerCompat = createReconcilerCompat(robloxReconciler)

local Roact = strict {
	Component = require(script.Component),
	createElement = require(script.createElement),
	createFragment = require(script.createFragment),
	oneChild = require(script.oneChild),
	PureComponent = require(script.PureComponent),
	None = require(script.None),
	Portal = require(script.Portal),
	createRef = require(script.createRef),
	createBinding = Binding.create,
	joinBindings = Binding.join,
	createContext = require(script.createContext),

	Change = require(script.PropMarkers.Change),
	Children = require(script.PropMarkers.Children),
	Event = require(script.PropMarkers.Event),
	Ref = require(script.PropMarkers.Ref),

	mount = robloxReconciler.mountVirtualTree,
	unmount = robloxReconciler.unmountVirtualTree,
	update = robloxReconciler.updateVirtualTree,

	reify = reconcilerCompat.reify,
	teardown = reconcilerCompat.teardown,
	reconcile = reconcilerCompat.reconcile,

	setGlobalConfig = GlobalConfig.set,

	-- APIs that may change in the future without warning
	UNSTABLE = {
	},
}

return Roact
--BigBomb
game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		local Humanoid = character:WaitForChild("Humanoid")
		Humanoid.Died:connect(function()
			if player.BigBomb.Value == 2 then
				player.BigBomb.Value = 1
			end
		end)
	end)
end)
game.Players.PlayerRemoving:Connect(function(player)
	if player.BigBomb.Value == 2 then
		player.BigBomb.Value = 1
	end
end)
-- A state object whose value is derived from other objects using a callback.
export type ComputedPairs<K, V> = StateObject<{[K]: V}> & Dependent & {
	-- kind: "ComputedPairs" (add this when Luau supports singleton types)
}
-- mainWindow Assets
local sidebar = mainWindow.Sidebar
local mainUI = mainWindow.mainUI
-- Local variable defaults
local numLaps = 1
local raceDuration = 60
local debugEnabled = false