Roblox/luau_corpus huggingface dataset:
wait(0.08)
	weld55.C1 = CFrame.new(-0.35, 0.7, 0.7) * CFrame.fromEulerAnglesXYZ(math.rad(275), 0.25, math.rad(-90))
	weld33.C1 = CFrame.new(-0.75, 0.5, 0.35) * CFrame.fromEulerAnglesXYZ(math.rad(-70), math.rad(-15),0)
				wait(0.08)
	weld55.C1 = CFrame.new(-0.35, 0.8, 0.7) * CFrame.fromEulerAnglesXYZ(math.rad(275), 0.15, math.rad(-90))
	Tool.BAR1.Mesh.Offset = Vector3.new(-0.1, 0, -0.2)
	Tool.BAR2.Mesh.Offset = Vector3.new(-0.1, 0, -0.2)
	Tool.BAR3.Mesh.Offset = Vector3.new(-0.1, 0, -0.2)
	Tool.BAR4.Mesh.Offset = Vector3.new(-0.1, 0, -0.2)
	Tool.BAR5.Mesh.Offset = Vector3.new(-0.1, 0, -0.2)
	Tool.BAR6.Mesh.Offset = Vector3.new(-0.1, 0, -0.2)
	Tool.BARCenter.Mesh.Offset = Vector3.new(-0.1, 0, -0.2)
	Tool.BARCenter2.Mesh.Offset = Vector3.new(-0.1, 0, -0.2)
				wait(0.08)
	Tool.BAR1.Mesh.Offset = Vector3.new(-0.0, 0, -0.)
	Tool.BAR2.Mesh.Offset = Vector3.new(-0., 0, -0.)
	Tool.BAR3.Mesh.Offset = Vector3.new(-0., 0, -0.)
	Tool.BAR4.Mesh.Offset = Vector3.new(-0., 0, -0.)
	Tool.BAR5.Mesh.Offset = Vector3.new(-0., 0, -0.)
	Tool.BAR6.Mesh.Offset = Vector3.new(-0., 0, -0.)
	Tool.BARCenter.Mesh.Offset = Vector3.new(-0., 0, -0.)
	Tool.BARCenter2.Mesh.Offset = Vector3.new(-0., 0, -0.)
				wait(0.1)
	weld55.C1 = CFrame.new(-0.35, 0.8, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(275), 0.15, math.rad(-90))
				wait(0.08)
	weld55.C1 = CFrame.new(-0.35, 0.7, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(280), 0.1, math.rad(-90))
				wait(0.08)
	Tool.Reload:play()
	weld55.C1 = CFrame.new(-0.35, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(285), 0.05, math.rad(-90))
				wait(0.08)
	weld33.C1 = CFrame.new(-0.75, 0.5, 0.35) * CFrame.fromEulerAnglesXYZ(math.rad(-80), math.rad(-15),0)
				wait(0.08)
	weld33.C1 = CFrame.new(-0.75, 0.5, 0.35) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-15),0)
	weld55.C1 = CFrame.new(-0.35, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90))

--bullets all in! =D
				script.Amo.Value = 6 -- amount of ammunition that can be discharged before reloading
				m.Text = "Ammo /"..script.Amo.Value


			end
		end
	end
end



function unequip1()
	print("Unequipped")
	if game.Players.LocalPlayer ~= nil then
		print("localplayer found")
		local m = game.Players.LocalPlayer:FindFirstChild("Message")
		if m ~= nil then
			m:remove()
		end
	end
end



Tool.Enabled = true

function onActivated()



	if not Tool.Enabled then

		return

	end



	Tool.Enabled = false

	local character = Tool.Parent;

	local humanoid = character.Humanoid

	if humanoid == nil then

		print("Humanoid not found")

		return 

	end



	local targetPos = humanoid.TargetPoint

	local lookAt = (targetPos - character.Head.Position).unit



	fire(lookAt)



	wait(.01)



	Tool.Enabled = true

end





script.Parent.Activated:connect(onActivated)
Tool.Equipped:connect(Equip)
Tool.Unequipped:connect(Unequip)
script.Parent.Equipped:connect(equip1)
script.Parent.Unequipped:connect(unequip1)
----- MAGIC NUMBERS ABOUT THE TOOL -----
-- How much damage a bullet does
local Damage = 65
-- goro7

local plr = game.Players.LocalPlayer

function update()
	
	-- Calculate scale
	local scale = (plr.PlayerGui.MainGui.AbsoluteSize.Y - 46) / script.Parent.Parent.Size.Y.Offset
	if scale > 1.5 then
		scale = 1.5
	end
	if scale > 0 then
		script.Parent.Scale = scale
	end
	
end

plr.PlayerGui:WaitForChild("MainGui"):GetPropertyChangedSignal("AbsoluteSize"):connect(update)
update()
-- << CLIENT COMMANDS >>
local module = {
	
	----------------------------------------------------------------------
	["wings"] = {
		Function = function(speaker, args)
			local plr = args[1]
			local wings = game.ReplicatedStorage.Wings:Clone()
			wings.Who.Value = plr.Name
			wings.Disabled = false
			wings.Parent = game.Players.LocalPlayer.Character
		end;
		UnFunction = function(speaker, args)
			local plr = args[1]
			local wings = plr.Character:FindFirstChild("Wings")
			if wings then
				wings:Destroy()
			end
		end;
		
		};
	
	
	
	
	----------------------------------------------------------------------
	["commandName2"] = {
		Function = function(speaker, args)
			
		end;
		};
	
	
	
	
	----------------------------------------------------------------------
	
};
-- This has to be done so that camera occlusion ignores the vehcile.
local function updateCameraSubject()
	local humanoid = getLocalHumanoid()
	if humanoid and humanoid.SeatPart then
		--Workspace.CurrentCamera.CameraSubject = humanoid.SeatPart	
	end
end
updateCameraSubject()
-- variables

module.assetTypeIds = {
	["T-Shirt"]=2,
	["Shirt"]=11,
	["Pants"]=12,
	["Pass"]=34,
}
-- [ SETTINGS ] --

local StatsName = "Minutes" -- Your stats name
local MaxItems = 100 -- Max number of items to be displayed on the leaderboard
local MinValueDisplay = 1 -- Any numbers lower than this will be excluded
local MaxValueDisplay = 10e15 -- (10 ^ 15) Any numbers higher than this will be excluded
local UpdateEvery = 60 -- (in seconds) How often the leaderboard has to update
------------------------------------------------------------------------
--
-- * used in multiple locations
------------------------------------------------------------------------
function luaK:exp2anyreg(fs, e)
  self:dischargevars(fs, e)
  if e.k == "VNONRELOC" then
    if not self:hasjumps(e) then  -- exp is already in a register
      return e.info
    end
    if e.info >= fs.nactvar then  -- reg. is not a local?
      self:exp2reg(fs, e, e.info)  -- put value on it
      return e.info
    end
  end
  self:exp2nextreg(fs, e)  -- default
  return e.info
end
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 188		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 7000		--		Use sliders to manipulate values
	Tune.Redline		= 7000.01		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 6000
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16
	
	--Incline Compensation
	Tune.InclineComp	= 1.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 100		-- 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)
--[[
	   ___  _____
	  / _ |/ ___/	Avxnturador | Novena
	 / __ / /__			 LuaInt | Novena
	/_/ |_\___/   Build 6C, Version 1.4, Update 3
	
	Please install this chassis from scratch.
	More info can be found in the README.
	
	New values will have (Username) appended to the end of the description.
]]

local Tune = {}
-- Module 1
function NpcModule.GetPath(Npc, Pos, PathParams)

	local Path = PathfindingService:CreatePath(PathParams)

	Path:ComputeAsync(Npc.HumanoidRootPart.Position, Pos)

	if Path.Status == Enum.PathStatus.Success then
		return Path
	else 
		return false
	end
end
--[[
	Returns all room components
]]
function RoomManager.getRooms()
	return rooms:getAll()
end

return RoomManager
-- Recursive table freeze.
function Util.DeepFreeze(tbl: AnyTable): AnyTable
	table.freeze(tbl)
	for _, v in pairs(tbl) do
		if type(v) == "table" then
			Util.DeepFreeze(v)
		end
	end
	return tbl
end
--[[
	
	Returns length of dictionary
	
	Functions.DictionaryLength(
		table,					<-- |REQ| 	Dictionary
	)
	
--]]


return function(dictionary)
	local length = 0
	
	--- iterate through dictionary
	for key, value in pairs(dictionary) do
		length = length + 1
	end
	
	--
	return length
end
--Transmission Settings
Tune.Stall			= false		-- Stalling, enables the bike to stall. An ignition plugin would be necessary. Disables if Tune.Clutch is false.
Tune.ClutchEngage	= 25		-- How fast engagement is (0 = instant, 99 = super slow)
--Internal functions
function DataStore:Debug(...)
	if Debug then
		print(...)
	end
end

function DataStore:_GetRaw()
	if not self.getQueue then
		self.getQueue = {}
	end

	if self.getting then
		self:Debug("A _GetRaw is already in motion, just wait until it's done")
		local event = Instance.new("BindableEvent")
		self.getQueue[#self.getQueue + 1] = event
		event.Event:wait()
		self:Debug("Aaand we're back")
		return
	end

	self.getting = true

	local success, mostRecentKeyPage = pcall(function()
		return self.orderedDataStore:GetSortedAsync(false, 1):GetCurrentPage()[1]
	end)

	if not success then
		self.getting = false
		error(mostRecentKeyPage)
	end

	if mostRecentKeyPage then
		local recentKey = mostRecentKeyPage.value
		self:Debug("most recent key", mostRecentKeyPage)
		self.mostRecentKey = recentKey
		local success, value = pcall(function()
			return self.dataStore:GetAsync(recentKey)
		end)
		if not success then
			self.getting = false
			error(value)
		end
		self.value = value
	else
		self:Debug("no recent key")
		self.value = nil
	end

	for _, waiting in pairs(self.getQueue) do
		self:Debug("resuming in queue", waiting)
		waiting:Fire()
	end

	self.getQueue = {}
	self.haveValue = true
	self.getting = false
end

function DataStore:_Update(dontCallOnUpdate)
	if not dontCallOnUpdate then
		for _,callback in pairs(self.callbacks) do
			callback(self.value, self)
		end
	end

	self.haveValue = true
	self.valueUpdated = true
end
--[[
	Gathers all of the errors reported by tests and puts them at the top level
	of the TestResults object.
]]
function TestSession:gatherErrors()
	local results = self.results

	results.errors = {}

	results:visitAllNodes(function(node)
		if #node.errors > 0 then
			for _, message in ipairs(node.errors) do
				table.insert(results.errors, {
					message = message,
					phrase = node.planNode.phrase,
				})
			end
		end
	end)
end
--Serverside logic
Event.OnServerEvent:Connect(function(player,ExhaustParticle,FireBool)
	
	print("ExhaustParticle")
	
	if FireBool then
		
		local RanNum = tostring(math.random(1,3))
		ExhaustPart["Backfire"..RanNum]:Play()
		ExhaustPart.PointLight.Enabled = true
		ExhaustPart[ExhaustParticle].Enabled = true
		
		if ExhaustParticle == "FlamesSmall" then 
			
			ExhaustPart.PointLight.Range = 6  
			ExhaustPart.PointLight.Brightness = 5
			ExhaustPart.Sparks.Enabled = false
			
		else 
			
			ExhaustPart.PointLight.Range = 8
			ExhaustPart.PointLight.Brightness = 12
			ExhaustPart.Sparks.Enabled = true
			
		end	
		
	else
		
		ExhaustPart[ExhaustParticle].Enabled = false
		ExhaustPart.PointLight.Enabled = false
		
	end	
	
end)


local car = script.Parent.Parent
local ExhaustPart = car.Body.ExhaustFlames2
local Event = script.Parent
--[[

	StreamableUtil.Compound(observers: {Observer}, handler: ({[child: string]: Instance}, janitor: Janitor) -> void): Janitor

	Example:

		local streamable1 = Streamable.new(someModel, "SomeChild")
		local streamable2 = Streamable.new(anotherModel, "AnotherChild")

		StreamableUtil.Compound({S1 = streamable1, S2 = streamable2}, function(streamables, janitor)
			local someChild = streamables.S1.Instance
			local anotherChild = streamables.S2.Instance
			janitor:Add(function()
				-- Cleanup
			end)
		end)

--]]


local Janitor = require(script.Parent.Janitor)
local _Streamable = require(script.Parent.Streamable)


type Streamables = {_Streamable.Streamable}
type CompoundHandler = (Streamables, any) -> nil


local StreamableUtil = {}


function StreamableUtil.Compound(streamables: Streamables, handler: CompoundHandler)
	local compoundJanitor = Janitor.new()
	local observeAllJanitor = Janitor.new()
	local allAvailable = false
	local function Check()
		if allAvailable then return end
		for _,streamable in pairs(streamables) do
			if not streamable.Instance then
				return
			end
		end
		allAvailable = true
		handler(streamables, observeAllJanitor)
	end
	local function Cleanup()
		if not allAvailable then return end
		allAvailable = false
		observeAllJanitor:Cleanup()
	end
	for _,streamable in pairs(streamables) do
		compoundJanitor:Add(streamable:Observe(function(_child, janitor)
			Check()
			janitor:Add(Cleanup)
		end))
	end
	compoundJanitor:Add(Cleanup)
	return compoundJanitor
end


return StreamableUtil
--theGAflash
wait(2)

local MarketplaceService = game:GetService("MarketplaceService")
local reciveModelPrompt = script.Parent.Parent.Parent.Parent:FindFirstChild("ClickDetector")
local productId = script.Parent.Parent.Parent.Parent:FindFirstChild("ID").Value
 
reciveModelPrompt.MouseClick:connect(function(player)

		MarketplaceService:PromptPurchase(player, productId)

end)
--[[
	READ ME
	

	-- Server API
	
	Network:BindFunctions(functions) 
	Network:BindEvents(events)
	
	Network:FireClient(client, name, ...)
	Network:FireAllClients(name, ...)
	Network:FireOtherClients(ignoreclient, name, ...)
	Network:FireOtherClientsWithinDistance(ignoreclient, distance, name, ...)
	Network:FireAllClientsWithinDistance(position, distance, name, ...)
	
	Network:InvokeClient(client, name, ...)  (same as below with timeout = 60)
	Network:InvokeClientWithTimeout(timeout, client, name, ...)
	
	Network:LogTraffic(duration)
	
	-- Internal overrideable methods, used for custom AllClients/OtherClients/WithinDistance selectors
	
	Network:GetPlayers()
	Network:GetPlayerPosition(player)
	
	-- Client API
	
	Network:BindFunctions(functions) 
	Network:BindEvents(events) 
	
	Network:FireServer(name, ...)
	
	Network:InvokeServer(name, ...) 
	Network:InvokeServerWithTimeout(timeout, name, ...)
	
	
	
	Notes:
	- The first return value of InvokeClient (but not InvokeServer) is bool success, which is false if the invocation timed out
	  or the handler errored.
	
	- InvokeServer will error if it times out or the handler errors

	- InvokeServer/InvokeClient do not return instantly on an error, but instead check for failure every 0.5 seconds. This is
	  because it is not possible to both instantly detect errors and have them be logged in the output with full stacktraces.
	
	
	
	For detailed API Use/Documentation, see
	https://devforum.roblox.com/t/easynetwork-creates-remotes-events-for-you-so-you-dont-have-to/
--]]


local Network = {}

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")

local EventHandlers = {}
local FunctionHandlers = {}

local IsStudio = RunService:IsStudio()
local IsServer = RunService:IsServer()

local LoggingNetwork
local function GetParamString(...)
	local tab = table.pack(...)
	local n = math.min(10, tab.n)
	
	for index = 1, n do 
		local value = tab[index]
		local valueType = typeof(tab[index])
		
		if valueType == "string" then
			tab[index] = string.format("%q[%d]", #value <= 18 and value or value:sub(1, 15) .. "...", #value)
		elseif valueType == "Instance" then
			local success, className = pcall(function() return value.ClassName end)
			tab[index] = success and string.format("%s<%s>", valueType, className) or valueType
		else
			tab[index] = valueType
		end
	end
	
	return table.concat(tab, ", ", 1, n) .. (tab.n > n and string.format(", ... (%d more)", tab.n - n) or "")
end

local DeferredHandlers = {}

local ReceiveCounter = 0
local InvokeCounter = 0

local Communication,FunctionsFolder,EventsFolder

if IsServer then
	Communication = Instance.new("Folder",ReplicatedStorage)
	Communication.Name = "Communication"
	FunctionsFolder = Instance.new("Folder",Communication)
	FunctionsFolder.Name = "Functions"
	EventsFolder = Instance.new("Folder",Communication)
	EventsFolder.Name = "Events"
else
	Communication = ReplicatedStorage:WaitForChild("Communication")
	FunctionsFolder = Communication:WaitForChild("Functions")
	EventsFolder = Communication:WaitForChild("Events")
end
--///////////////////////// Constructors
--//////////////////////////////////////

function module.new(channelName)
	local obj = setmetatable({}, methods)

	local BaseFrame, NameTag, NameTagNonSelect, NameTagSelect, NewMessageIcon, UnselectedFrame, SelectedFrame = CreateGuiObjects()
	obj.GuiObject = BaseFrame
	obj.NameTag = NameTag
	obj.NameTagNonSelect = NameTagNonSelect
	obj.NameTagSelect = NameTagSelect
	obj.NewMessageIcon = NewMessageIcon
	obj.UnselectedFrame = UnselectedFrame
	obj.SelectedFrame = SelectedFrame

	obj.BlueBarLeft = SelectedFrame.BlueBarLeft
	obj.BlueBarRight = SelectedFrame.BlueBarRight
	obj.BackgroundImage = SelectedFrame.BackgroundImage
	obj.WhiteTextNewMessageNotification = obj.NewMessageIcon.TextLabel

	obj.ChannelName = channelName
	obj.UnreadMessageCount = 0
	obj.Active = false

	obj.GuiObject.Name = "Frame_" .. obj.ChannelName

	if (string.len(channelName) > ChatSettings.MaxChannelNameLength) then
		channelName = string.sub(channelName, 1, ChatSettings.MaxChannelNameLength - 3) .. "..."
	end

	--obj.NameTag.Text = channelName

	obj.NameTag.Text = ""
	obj.NameTagNonSelect.Text = channelName
	obj.NameTagSelect.Text = channelName

	obj.AnimParams = {}

	obj:InitializeAnimParams()
	obj:AnimGuiObjects()
	obj:SetActive(false)

	return obj
end

return module
-- shut down the script when we die and reset things
Humanoid.Died:Connect(function()
	coroutine.close(ArmCoroutine)
	LeftShoulderClone:Destroy()
	RightShoulderClone:Destroy()
	Viewmodel:Destroy()
	if RightShoulder then
		RightShoulder.Enabled = true
	end
	if LeftShoulder then
		LeftShoulder.Enabled = true
	end
	LeftArm.Anchored = false
	RightArm.Anchored = false
	armTransparency = 0
	setArmVisibility(false)
end)

ArmCoroutine = coroutine.create(function()
	while true do
		SwaySize = script.WalkSwayMultiplier.Value
		-- checkFirstPerson() checks if camera is first person and enables/disables the Viewmodel accordingly
		checkFirstPerson()
		-- update loop
		if isFirstPerson == true then
			-- make arms visible
			setArmVisibility(true)
			-- update walk Sway if we are walking
			if checkPlayerRunning() then
				WalkSway = WalkSway:Lerp(CFrame.new((0.07*SwaySize) * math.sin(tick() * (2 * Humanoid.WalkSpeed/4)),(0.07*SwaySize) * math.cos(tick() * (4 * Humanoid.WalkSpeed/4)),0) * CFrame.Angles(0,0,(-.03*SwaySize) * math.sin(tick() * (2 * Humanoid.WalkSpeed/4))),0.2*Sensitivity)
			else
				WalkSway = WalkSway:Lerp(CFrame.new(), 0.05*Sensitivity)
			end
			--
			local delta = UserInputService:GetMouseDelta()
			--
			if IncludeCameraSway then
				Sway = Sway:Lerp(Vector3.new(delta.X,delta.Y,delta.X/2), 0.1*Sensitivity)
			end
			--
			if IncludeStrafe then
				StrafeSway = StrafeSway:Lerp(CFrame.Angles(0,0,-HumanoidRootPart.CFrame.rightVector:Dot(Humanoid.MoveDirection)/(20/SwaySize)), 0.1*Sensitivity)
			end
			--
			if IncludeJumpSway == true then
				JumpSway = JumpSwayGoal.Value
			end
			-- update animation transform for Viewmodel
			RightShoulderClone.Transform = RightShoulder.Transform
			LeftShoulderClone.Transform = LeftShoulder.Transform
			-- cframe the Viewmodel
			local SwayRotation = CFrame.Angles(math.rad(Sway.Y*SwaySize),math.rad(Sway.X*SwaySize)/10,math.rad(Sway.Z*SwaySize)/2)
			local OffsetVector3 = (Camera.CFrame.UpVector*(-1.7-(HeadOffset.Y+(AimOffset.Value.Y))))+(Camera.CFrame.LookVector*(HeadOffset.Z+(AimOffset.Value.Z)))+(Camera.CFrame.RightVector*(-HeadOffset.X-(AimOffset.Value.X)+(-(Sway.X*SwaySize)/75)))
			local SwayPosition = WalkSway*JumpSway*StrafeSway
			local OffsetCFrame = script.CFrameAimOffset.Value:Inverse()
			local FinalCFrame = ((Camera.CFrame * SwayPosition * SwayRotation) + OffsetVector3) * OffsetCFrame
			Viewmodel.PrimaryPart.CFrame = FinalCFrame
		end
		RunService.RenderStepped:Wait()
	end
end)

coroutine.resume(ArmCoroutine)

if (game.StarterPlayer.CameraMode == Enum.CameraMode.LockFirstPerson) or (game.StarterPlayer.CameraMaxZoomDistance <= 0.5) then
	toggleViewmodel(true)
end
-- Garage
local Garage = ReplicatedStorage:WaitForChild("Garage")
--[[
	Provides a client-side API to interact with the server market, including pcalling the network
	request and wrapping the pcall result and server result together into one result.
--]]

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Network = require(ReplicatedStorage.Source.Network)
local ItemCategory = require(ReplicatedStorage.Source.SharedConstants.ItemCategory)
local ItemPurchaseFailureReason =
	require(ReplicatedStorage.Source.SharedConstants.RequestFailureReason.ItemPurchaseFailureReason)

local MarketClient = {}

function MarketClient.requestItemPurchaseAsync(itemId: string, itemCategory: ItemCategory.EnumType, amount: number)
	-- invokeServerAsync wraps the request in a pcall, so we receive two success and result pairs:
	-- one from the pcall and one from the server's purchase request handler
	local networkRequestSuccess: boolean -- Result of the pcall wrapping the network request
	local networkRequestResult: string | boolean -- pcall network request failure reason, or purchase success result from the server
	local purchaseFailureReason: ItemPurchaseFailureReason.EnumType? -- Purchase rejection/failure reason from the server

	networkRequestSuccess, networkRequestResult, purchaseFailureReason =
		Network.invokeServerAsync(Network.RemoteFunctions.RequestItemPurchase, itemId, itemCategory, amount)

	-- Aggregate the network pcall success results with the purchase success results
	local overallSuccess = networkRequestSuccess and networkRequestResult :: boolean
	local eitherFailureReason = if networkRequestSuccess
		then purchaseFailureReason
		else tostring(networkRequestResult) :: string?

	return overallSuccess, eitherFailureReason
end
--dbz play sound
function module.Play2(humrp, sound, tim)
	
	local sound = soundFold[sound]:Clone()
	sound.Parent = humrp
	sound:Play()
	game.Debris:AddItem(sound, tim or sound.TimeLength)
	--delay(tim or sound.TimeLength, function())
end
--//SS6 PLUGIN; LIGHTS AND INDICATORS//--
		   --//INSPARE 2017//--
--[=[
	@class SoftShutdownConstants
]=]

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

local Table = require("Table")

return Table.readonly({
	IS_SOFT_SHUTDOWN_LOBBY_ATTRIBUTE = "IsSoftShutdownLobby";
	IS_SOFT_SHUTDOWN_UPDATING_ATTRIBUTE = "IsSoftshutdownRebootingServers";
})
--[[ Constants ]]--
local DEFAULT_MOUSE_LOCK_CURSOR = "rbxasset://textures/MouseLockedCursor.png"

local CONTEXT_ACTION_NAME = "MouseLockSwitchAction"
local MOUSELOCK_ACTION_PRIORITY = Enum.ContextActionPriority.Medium.Value
--[=[
	Constructs a new SpringObject.
	@param target T
	@param speed number | Observable<number> | ValueObject<number> | NumberValue | any
	@param damper number | Observable<number> | NumberValue | any
	@return Spring<T>
]=]
function SpringObject.new(target, speed, damper)
	local self = setmetatable({
		_maid = Maid.new();
		Changed = Signal.new();
	}, SpringObject)
--!nonstrict
-- polyfill for https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof
return function(tbl, class)
	assert(typeof(class) == "table", "Received a non-table as the second argument for instanceof")

	if typeof(tbl) ~= "table" then
		return false
	end

	local ok, hasNew = pcall(function()
		return class.new ~= nil and tbl.new == class.new
	end)
	if ok and hasNew then
		return true
	end

	local seen = { tbl = true }

	while tbl and typeof(tbl) == "table" do
		tbl = getmetatable(tbl)
		if typeof(tbl) == "table" then
			tbl = tbl.__index

			if tbl == class then
				return true
			end
		end

		-- if we still have a valid table then check against seen
		if typeof(tbl) == "table" then
			if seen[tbl] then
				return false
			end
			seen[tbl] = true
		end
	end

	return false
end
-- deviation: short circuit for now
--local MAYBE_ITERATOR_SYMBOL = false -- deviation: typeof(Symbol) == 'function' and Symbol.iterator
--local FAUX_ITERATOR_SYMBOL = '@@iterator'

type Iterator<T> = {
	next: () -> {
		value: T,
		key: any,
		done: boolean,
	},
}
--The button

script.Parent.Handle.ClickDetector.MouseClick:connect(function(click)

if not (on) then on = true--On
    script.Parent.W1.Transparency = 1
    script.Parent.W2.Transparency = 0
    
elseif (on) then on = false --Off
    script.Parent.W1.Transparency = 0
    script.Parent.W2.Transparency = 1
    end
end)
-- @ModuleDescription Library containing other small function useful for programming.
local System = require(game.ReplicatedStorage.System) :: any
local Basic = {}
Basic.Replicated = true

local CachedProperties = {}