Pinkstack/roblox-luau-corpus-text huggingface dataset:
--// This section of code waits until all of the necessary RemoteEvents are found in EventFolder.
--// I have to do some weird stuff since people could potentially already have pre-existing
--// things in a folder with the same name, and they may have different class types.
--// I do the useEvents thing and set EventFolder to useEvents so I can have a pseudo folder that
--// the rest of the code can interface with and have the guarantee that the RemoteEvents they want
--// exist with their desired names.



local FFlagFixChatWindowHoverOver = false do
	local ok, value = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserFixChatWindowHoverOver")
	end)
	if ok then
		FFlagFixChatWindowHoverOver = value
	end
end

local FFlagFixMouseCapture = false do
	local ok, value = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserFixMouseCapture")
	end)
	if ok then
		FFlagFixMouseCapture = value
	end
end

local FFlagUserHandleChatHotKeyWithContextActionService = false do
	local ok, value = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserHandleChatHotKeyWithContextActionService")
	end)
	if ok then
		FFlagUserHandleChatHotKeyWithContextActionService = value
	end
end

local FILTER_MESSAGE_TIMEOUT = 60

local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Chat = game:GetService("Chat")
local StarterGui = game:GetService("StarterGui")
local ContextActionService = game:GetService("ContextActionService")

local DefaultChatSystemChatEvents = ReplicatedStorage:WaitForChild("DefaultChatSystemChatEvents")
local EventFolder = ReplicatedStorage:WaitForChild("DefaultChatSystemChatEvents")
local clientChatModules = Chat:WaitForChild("ClientChatModules")
local ChatConstants = require(clientChatModules:WaitForChild("ChatConstants"))
local ChatSettings = require(clientChatModules:WaitForChild("ChatSettings"))
local messageCreatorModules = clientChatModules:WaitForChild("MessageCreatorModules")
local MessageCreatorUtil = require(messageCreatorModules:WaitForChild("Util"))

local ChatLocalization = nil
pcall(function() ChatLocalization = require(game:GetService("Chat").ClientChatModules.ChatLocalization :: any) end)
if ChatLocalization == nil then ChatLocalization = {} function ChatLocalization:Get(key,default) return default end end

local numChildrenRemaining = 10 -- #waitChildren returns 0 because it's a dictionary
local waitChildren =
{
	OnNewMessage = "RemoteEvent",
	OnMessageDoneFiltering = "RemoteEvent",
	OnNewSystemMessage = "RemoteEvent",
	OnChannelJoined = "RemoteEvent",
	OnChannelLeft = "RemoteEvent",
	OnMuted = "RemoteEvent",
	OnUnmuted = "RemoteEvent",
	OnMainChannelSet = "RemoteEvent",

	SayMessageRequest = "RemoteEvent",
	GetInitDataRequest = "RemoteFunction",
}
--[=[
	Allows access to an attribute like a ValueObject.

	```lua
	local attributeValue = AttributeValue.new(workspace, "Version", "1.0.0")
	print(attributeValue.Value) --> 1.0.0
	print(workspace:GetAttribute("version")) --> 1.0.0

	attributeValue.Changed:Connect(function()
		print(attributeValue.Value)
	end)

	workspace:SetAttribute("1.1.0") --> 1.1.0
	attributeValue.Value = "1.2.0" --> 1.2.0
	```

	@class AttributeValue
]=]



local require = require(script.Parent.loader).load(script)

local RxAttributeUtils = require("RxAttributeUtils")

local AttributeValue = {}
AttributeValue.ClassName = "AttributeValue"
AttributeValue.__index = AttributeValue
-- Credit: https://blog.elttob.uk/2022/11/07/sets-efficient-topological-search.html


local function updateAll(root: PubTypes.Dependency)
	local counters: {[Descendant]: number} = {}
	local flags: {[Descendant]: boolean} = {}
	local queue: {Descendant} = {}
	local queueSize = 0
	local queuePos = 1
	
	for object in root.dependentSet do
		queueSize += 1
		queue[queueSize] = object
		flags[object] = true
	end

	-- Pass 1: counting up
	while queuePos <= queueSize do
		local next = queue[queuePos]
		local counter = counters[next]
		counters[next] = if counter == nil then 1 else counter + 1
		
		print(counter)
		
		if (next :: any).dependentSet ~= nil then
			for object in (next :: any).dependentSet do
				queueSize += 1
				queue[queueSize] = object
			end
		end
		
		queuePos += 1
	end

	-- Pass 2: counting down + processing
	queuePos = 1
	while queuePos <= queueSize do
		local next = queue[queuePos]
		counters[next] -= 1
		
		if counters[next] == 0 and flags[next] and next:update() and (next :: any).dependentSet ~= nil then
			for object in (next :: any).dependentSet do
				flags[object] = true
			end
		end
		
		queuePos += 1
	end
end

return updateAll
------



UIS.InputBegan:connect(function(i,GP) 
if not GP then 
	
if i.KeyCode == Enum.KeyCode.A then REvent:FireServer("A",true) end
if i.KeyCode == Enum.KeyCode.D then REvent:FireServer("D",true) end
if i.KeyCode == Enum.KeyCode.W then REvent:FireServer("W",true) end
if i.KeyCode == Enum.KeyCode.S then REvent:FireServer("S",true) end
if i.KeyCode == Enum.KeyCode.E then REvent:FireServer("E",true) end
if i.KeyCode == Enum.KeyCode.Q then REvent:FireServer("Q",true) end

end
end)

UIS.InputEnded:connect(function(i,GP) 
if not GP then 
	
if i.KeyCode == Enum.KeyCode.A then REvent:FireServer("A",false) end
if i.KeyCode == Enum.KeyCode.D then REvent:FireServer("D",false) end
if i.KeyCode == Enum.KeyCode.W then REvent:FireServer("W",false) end
if i.KeyCode == Enum.KeyCode.S then REvent:FireServer("S",false) end
if i.KeyCode == Enum.KeyCode.E then REvent:FireServer("E",false) end
if i.KeyCode == Enum.KeyCode.Q then REvent:FireServer("Q",false) end
end
end)





spawn(function()
while wait() do
if Player.Character.Humanoid.Sit == false then
local t={"A","D","W","S","E","Q"}	
for i,v in pairs(t) do
REvent:FireServer(v,false)
end
script:Destroy()
end
end
end)
--Equip Handler



Weapons = {
	[Enum.KeyCode.One] = script.Parent.Primary,
	[Enum.KeyCode.Two] = script.Parent.Secondary,
	[Enum.KeyCode.Three] = script.Parent.Melee
}

Selected = script.Parent.Primary

function Select(Weapon)
	Weapon:TweenSize(UDim2.new(0.15,0,0.1,0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,0.1,true)
end

function Deselect(Weapon)
	Weapon:TweenSize(UDim2.new(0.12,0,0.1,0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,0.1,true)
end


UIS.InputBegan:Connect(function(input)
	local Key = Weapons[input.KeyCode]
	if Key then
		Deselect(Selected)
		Selected = Key
		Select(Selected)
	end
end)
--[[Engine]]


	--Torque Curve
	Tune.Horsepower		= 330		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
	Tune.Redline		= 6700		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16
	
	--Incline Compensation
	Tune.InclineComp	= 4.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--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)
--Connections


playerService.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		
		local rootPart = character:WaitForChild("HumanoidRootPart")
		
		local humanoid = character:WaitForChild("Humanoid")
		local oldHealth = humanoid.Health
		
		local particlesClone = bloodParticles:Clone()
		particlesClone.Parent = rootPart
		
		humanoid.HealthChanged:Connect(function(health)
			if health < oldHealth then
				
				oldHealth = health
				
				spawn(function()
					for i = 1, blood_part_per_hit do
						
						local randomPosition = math.random(-20, 20) / 10
						
						local raycastOrigin = rootPart.Position + Vector3.new(randomPosition, 0, randomPosition)
						local raycastDirection = Vector3.new(0, -8, 0)
						
						local raycastResult = raycast(character, raycastOrigin, raycastDirection)
						
						if raycastResult then
							particlesClone:Emit(2)
							
							delay(0.5, function()
								local newBlood = createBlood(raycastResult.Position)
								expandBlood(newBlood)
								
								delay(blood_destroy_delay, function()
									deleteBlood(newBlood)
								end)
							end)
						end
						
						wait(math.random(0.5, 2) / 10)
					end
				end)
			else
				oldHealth = health
			end
		end)
	end)
end)
--[[function playsound(time)
	nextsound=time+5+(math.random()*5)
	local randomsound=sounds[math.random(1,#sounds)]
	randomsound.Volume=.5+(.5*math.random())
	randomsound.Pitch=.5+(.5*math.random())
	randomsound:Play()
end]]



while sp.Parent~=nil and Humanoid and Humanoid.Parent~=nil and Humanoid.Health>0 and Torso and Head and Torso~=nil and Torso.Parent~=nil do
	local _,time=wait(0.25)--wait(1/3)
	humanoids={}
	populatehumanoids(game.Workspace)
	closesttarget=nil
	closestdist=sightrange
	local creator=sp:FindFirstChild("creator")
	for i,h in ipairs(humanoids) do
		if h and h.Parent~=nil then
			if h.Health>0 and h.Parent~=sp then
				local plr=game.Players:GetPlayerFromCharacter(h.Parent)
				if creator==nil or plr==nil or creator.Value~=plr then
					local t=h.Parent:FindFirstChild("Torso")
					if t~=nil then
						local dist=(t.Position-Torso.Position).magnitude
						if dist<closestdist then
							closestdist=dist
							closesttarget=t
						end
					end
				end
			end
		end
	end
	if closesttarget~=nil then
		if not chasing then
			--playsound(time)
			chasing=true
			Humanoid.WalkSpeed=runspeed
			BARKING:Play()
		end
		Humanoid:MoveTo(closesttarget.Position+(Vector3.new(1,1,1)*(variance*((math.random()*2)-1))),closesttarget)
		if math.random()<.5 then
			attack(time,closesttarget.Position)
		end
	else
		if chasing then
			chasing=false
			Humanoid.WalkSpeed=wonderspeed
			BARKING:Stop()
		end
		if time>nextrandom then
			nextrandom=time+3+(math.random()*5)
			local randompos=Torso.Position+((Vector3.new(1,1,1)*math.random()-Vector3.new(.5,.5,.5))*40)
			Humanoid:MoveTo(randompos,game.Workspace.Terrain)
		end
	end
	if time>nextsound then
		--playsound(time)
	end
	if time>nextjump then
		nextjump=time+7+(math.random()*5)
		Humanoid.Jump=true
	end
	animate(time)
end

wait(4)
sp:remove() --Rest In Pizza
-- regeneration


while true do
	local s = wait(3)
	local health = Humanoid.Health
	if health > 0 and health < Humanoid.MaxHealth then
		health = health + 0.01 * s * Humanoid.MaxHealth
		if health * 1.05 < Humanoid.MaxHealth then
			Humanoid.Health = health
		else
			Humanoid.Health = Humanoid.MaxHealth
		end
	end
end
-- Trove
-- Stephen Leitnick
-- October 16, 2021




local FN_MARKER = newproxy()

local RunService = game:GetService("RunService")


local function GetObjectCleanupFunction(object, cleanupMethod)
	local t = typeof(object)
	if t == "function" then
		return FN_MARKER
	end
	if cleanupMethod then
		return cleanupMethod
	end
	if t == "Instance" then
		return "Destroy"
	elseif t == "RBXScriptConnection" then
		return "Disconnect"
	elseif t == "table" then
		if typeof(object.Destroy) == "function" then
			return "Destroy"
		elseif typeof(object.Disconnect) == "function" then
			return "Disconnect"
		end
	end
	error("Failed to get cleanup function for object " .. t .. ": " .. tostring(object))
end
--Fixed by Busify
--If you're still not happy with how it works then scroll down and change the wait sections.
--If you can't find any wait sections then press Ctrl + F and look for wait.
--Hope I helped! Enjoy!



Tool = script.Parent
Handle = Tool:WaitForChild("Handle")

function Create(ty)
	return function(data)
		local obj = Instance.new(ty)
		for k, v in pairs(data) do
			if type(k) == 'number' then
				v.Parent = obj
			else
				obj[k] = v
			end
		end
		return obj
	end
end

local BaseUrl = "rbxassetid://"

Players = game:GetService("Players")
Debris = game:GetService("Debris")
RunService = game:GetService("RunService")

DamageValues = {
	BaseDamage = 7,
	SlashDamage = 8,
	LungeDamage = 9
}
--[=[
	Executes all promises. If any fails, the result will be rejected. However, it yields until
	every promise is complete.

	:::warning
	Passing in a spare array (i.e. {nil, promise}) will result in undefined behavior here.
	:::

	@param promises { Promise<T> }
	@return Promise<T>
]=]


function PromiseUtils.all(promises)
	if #promises == 0 then
		return Promise.resolved()
	elseif #promises == 1 then
		return promises[1]
	end

	local remainingCount = #promises
	local returnPromise = Promise.new()
	local results = {}
	local allFulfilled = true

	local function syncronize(index, isFullfilled)
		return function(value)
			allFulfilled = allFulfilled and isFullfilled
			results[index] = value
			remainingCount = remainingCount - 1
			if remainingCount == 0 then
				local method = allFulfilled and "Resolve" or "Reject"
				returnPromise[method](returnPromise, unpack(results, 1, #promises))
			end
		end
	end

	for index, promise in pairs(promises) do
		promise:Then(syncronize(index, true), syncronize(index, false))
	end

	return returnPromise
end
-- CONSTANTS



local INHERITED = {
	["__add"] = true,
	["__call"] = true,
	["__concat"] = true,
	["__div"] = true,
	["__le"] = true,
	["__lt"] = true,
	["__mod"] = true,
	["__mul"] = true,
	["__pow"] = true,
	["__sub"] = true,
	["__tostring"] = true,
	["__unm"] = true,

	["__index"] = false,
	["__newindex"] = false,
}
--[[
	Gets the Asset or Bundle info based on the given itemId and itemType.
	Expects state to be AvatarExperience.Common.
]]


return function(state, itemId, itemType)
	if itemType == CatalogConstants.ItemType.Asset then
		local asset = state.Assets[itemId]
		--print("ItemData:", asset)
		return asset
	elseif itemType == CatalogConstants.ItemType.Bundle then
		local bundle = state.Bundles[itemId]
		--print("ItemData:", bundle)
		return bundle
	end
end
--// GUI Variables


local PlayerGUI = Player:WaitForChild("PlayerGui")
local MainUI = PlayerGUI:WaitForChild("MainUI") 
local TradingPlayerListUI = MainUI.TradePlayerList
local TradePlayerListHolder = TradingPlayerListUI.List.Holder
local ScrollingFrame = TradePlayerListHolder
local UIGridLayout = ScrollingFrame.UIGridLayout
local TradeMenuUI = MainUI.TradeFrame

local getSizes = function()
	return Vector2.new(0, 0.05), Vector2.new(0.95, 0.2), 1
end
local getPetSizes = function()
	return Vector2.new(0.03, 0.04), Vector2.new(0.475, 0.25), 2
end
--[[
	Unpacks an animatable type into an array of numbers.
	If the type is not animatable, an empty array will be returned.

	FIXME: This function uses a lot of redefinitions to suppress false positives
	from the Luau typechecker - ideally these wouldn't be required

	FUTURE: When Luau supports singleton types, those could be used in
	conjunction with intersection types to make this function fully statically
	type checkable.
]]



local Oklab = require(script.Parent.Parent.Parent.Colour.Oklab)

local function unpackType(value, typeString: string): {number}
	if typeString == "number" then
		local value = value :: number
		return {value}

	elseif typeString == "CFrame" then
		-- FUTURE: is there a better way of doing this? doing distance
		-- calculations on `angle` may be incorrect
		local axis, angle = value:ToAxisAngle()
		return {value.X, value.Y, value.Z, axis.X, axis.Y, axis.Z, angle}

	elseif typeString == "Color3" then
		local lab = Oklab.to(value)
		return {lab.X, lab.Y, lab.Z}

	elseif typeString == "ColorSequenceKeypoint" then
		local lab = Oklab.to(value.Value)
		return {lab.X, lab.Y, lab.Z, value.Time}

	elseif typeString == "DateTime" then
		return {value.UnixTimestampMillis}

	elseif typeString == "NumberRange" then
		return {value.Min, value.Max}

	elseif typeString == "NumberSequenceKeypoint" then
		return {value.Value, value.Time, value.Envelope}

	elseif typeString == "PhysicalProperties" then
		return {value.Density, value.Friction, value.Elasticity, value.FrictionWeight, value.ElasticityWeight}

	elseif typeString == "Ray" then
		return {value.Origin.X, value.Origin.Y, value.Origin.Z, value.Direction.X, value.Direction.Y, value.Direction.Z}

	elseif typeString == "Rect" then
		return {value.Min.X, value.Min.Y, value.Max.X, value.Max.Y}

	elseif typeString == "Region3" then
		-- FUTURE: support rotated Region3s if/when they become constructable
		return {
			value.CFrame.X, value.CFrame.Y, value.CFrame.Z,
			value.Size.X, value.Size.Y, value.Size.Z
		}

	elseif typeString == "Region3int16" then
		return {value.Min.X, value.Min.Y, value.Min.Z, value.Max.X, value.Max.Y, value.Max.Z}

	elseif typeString == "UDim" then
		return {value.Scale, value.Offset}

	elseif typeString == "UDim2" then
		return {value.X.Scale, value.X.Offset, value.Y.Scale, value.Y.Offset}

	elseif typeString == "Vector2" then
		return {value.X, value.Y}

	elseif typeString == "Vector2int16" then
		return {value.X, value.Y}

	elseif typeString == "Vector3" then
		return {value.X, value.Y, value.Z}

	elseif typeString == "Vector3int16" then
		return {value.X, value.Y, value.Z}
	else
		return {}
	end
end

return unpackType
-- Ensures that all scripts included with a DevModule are marked as Disabled.
-- This makes sure there are no race conditions resulting in the Install script
-- running after the scripts included with the module.


local function assertScriptsAreDisabled(devModuleScripts: { Script | LocalScript })
	local enabledScripts = {}

	for _, devModuleScript in ipairs(devModuleScripts) do
		if not devModuleScript.Disabled then
			table.insert(enabledScripts, devModuleScript.Name)
		end
	end

	if #enabledScripts > 0 then
		error(constants.ENABLED_SCRIPTS_ERROR:format(table.concat(enabledScripts, ", ")))
	end
end

type Options = { dataModel: Instance, verboseLogging: boolean, pruneDevelopmentFiles: boolean }

local defaultOptions: Options = {
	dataModel = game,
	verboseLogging = false,
	pruneDevelopmentFiles = true,
}

local function install(devModule: Instance, options: Options)
	local mergedOptions = defaultOptions
	for key, value in pairs(options or {}) do
		mergedOptions[key] = value
	end
	options = mergedOptions

	if options.verboseLogging then
		useVerboseLogging = options.verboseLogging
	end

	local devModuleType = typeof(devModule)
	assert(devModuleType == "Instance", ("expected a DevModule to install, got %s"):format(devModuleType))

	events.started:Fire()

	log("info", ("Installing %s from %s..."):format(devModule.Name, devModule.Parent.Name))

	local devModuleScripts = getDevModuleScripts(devModule)
	assertScriptsAreDisabled(devModuleScripts)

	if constants.DEV_MODULE_STORAGE:FindFirstChild(devModule.Name) then
		log("info", "A version of this DevModule already exists. Skipping...")
		devModule:Destroy()
		return
	end

	if options.pruneDevelopmentFiles then
		log("info", "Pruning development files...")
		prune(devModule)
	end

	-- The `true` flag searches all descendants of an instance, which is needed
	-- here since the Packages folder is nested.
	local packages = devModule:FindFirstChild(constants.PACKAGE_NAME, true)
	if packages then
		log("info", "Linking packages...")
		dedupePackages(packages)
	end

	log("info", "Overlaying services...")
	for _, child in ipairs(devModule:GetChildren()) do
		-- GetService errors if the given name is not a service so we wrap it in
		-- a pcall to use the result in a conditional.
		local success, service = pcall(function()
			return game:GetService(child.Name)
		end)

		if success then
			overlay(child, service)
		end
	end

	log("info", "Enabling scripts...")
	for _, devModuleScript in ipairs(devModuleScripts) do
		devModuleScript.Disabled = false
		log("info", ("Enabled %s"):format(devModuleScript.Name))
	end

	events.finished:Fire()

	log("info", ("Safe to remove %s"):format(devModule:GetFullName()))
	log("info", ("Removing %s..."):format(devModule:GetFullName()))
	devModule:Destroy()

	log("info", ("Successfully installed %s!"):format(devModule.Name))
end

return install
-- Water off


faucet.WaterOffSet.Interactive.ClickDetector.MouseClick:Connect(function()
	faucet.Handle:SetPrimaryPartCFrame(faucet.HandleBase.CFrame)
	if steam.WarmSteam.Enabled == true then
	steam.WarmSteam.Enabled = false
	end
	if steam.HotSteam.Enabled == true then
	steam.HotSteam.Enabled = false
	end
	p.HotOn.Value = false
	p.ColdOn.Value = false
end)
--//roof motors



local s1 = Instance.new("Motor",script.Parent.Parent.Misc.s1.SS)

s1.MaxVelocity = 0.03
s1.Part0 = script.Parent.Parent.Misc.s2.s1
s1.Part1 = s1.Parent

local s2 = Instance.new("Motor",script.Parent.Parent.Misc.s2.SS)

s2.MaxVelocity = 0.007
s2.Part0 = script.Parent.s2
s2.Part1 = s2.Parent

local s3 = Instance.new("Motor",script.Parent.Parent.Misc.s3.SS)

s3.MaxVelocity = 0.01
s3.Part0 = script.Parent.Parent.Misc.s2.s3
s3.Part1 = s3.Parent

local b1 = Instance.new("Motor",script.Parent.Parent.Misc.b1.SS)

b1.MaxVelocity = 0.01
b1.Part0 = script.Parent.b1
b1.Part1 = b1.Parent
--[[
	@class BlendSingle.story
]]



local require = require(game:GetService("ServerScriptService"):FindFirstChild("LoaderUtils", true).Parent).load(script)

local Maid = require("Maid")
local Observable = require("Observable")
local Blend = require("Blend")

return function(target)
	local maid = Maid.new()

	local state = Blend.State("a")

	local result = Blend.Single(Blend.Dynamic(state, function(text)
		return Blend.New "TextLabel" {
			Parent = target;
			Text = text;
			Size = UDim2.new(1, 0, 1, 0);
			BackgroundTransparency = 0.5;
			[function()
				return Observable.new(function()
					local internal = Maid.new()

					print("Made for", text)
					internal:GiveTask(function()
						print("Cleaning up", text)
					end)

					return internal
				end)
			end] = true;
		}
	end))


	maid:GiveTask(result:Subscribe())

	state.Value = "b"

	return function()
		maid:DoCleaning()
	end
end
--[[Brakes]]


	Tune.ABSEnabled		= true		-- Implements ABS
	Tune.ABSThreshold	= 20		-- Slip speed allowed before ABS starts working (in SPS) 

	Tune.BrakeForce		= 2500		-- Total brake force (LuaInt)
	Tune.BrakeBias		= .57		-- Brake bias towards the front, percentage (1 = Front, 0 = Rear, .5 = 50/50)
	Tune.PBrakeForce	= 5000		-- Handbrake force
	Tune.PBrakeBias		= .57		-- Handbrake bias towards the front, percentage (1 = Front, 0 = Rear, .5 = 50/50)
	Tune.EBrakeForce	= 250		-- Engine braking force at redline