local A=Vector3.new(0,0,0)local W="\114\098\120\097\115\115\101\116\058\047\047\116\101\120\116\117\114\101\115\047\117\105\047\073\110\112\117\116\047\084\111\117\099\104\067\111\110\116\114\111\108\115\083\104\101\101\116\086\050\046\112\110\103"local X="\068\121\110\097\109\105\099\084\104\117\109\098\115\116\105\099\107\065\099\116\105\111\110"local Z=Enum.ContextActionPriority.High.Value local p={.11;.3;.4,.5;.6,.7;.75}local u=#p local L=true local x=.35 local R=100 local e=.3 local r=.5 local c=TweenInfo.new(.15,Enum.EasingStyle.Quad,Enum.EasingDirection.InOut)local d=game:GetService("\080\108\097\121\101\114\115")local j=game:GetService("\071\117\105\083\101\114\118\105\099\101")local f=game:GetService("\085\115\101\114\073\110\112\117\116\083\101\114\118\105\099\101")local K=game:GetService("\067\111\110\116\101\120\116\065\099\116\105\111\110\083\101\114\118\105\099\101")local n=game:GetService("\082\117\110\083\101\114\118\105\099\101")local s=game:GetService("\084\119\101\101\110\083\101\114\118\105\099\101")local t do local A,W=pcall(function()return(UserSettings()):IsUserFeatureEnabled("\085\115\101\114\068\121\110\097\109\105\099\084\104\117\109\098\115\116\105\099\107\077\111\118\101\079\118\101\114\066\117\116\116\111\110\115\050")end)t=A and W end local l do local A,W=pcall(function()return(UserSettings()):IsUserFeatureEnabled("\085\115\101\114\068\121\110\097\109\105\099\084\104\117\109\098\115\116\105\099\107\083\097\102\101\065\114\101\097\085\112\100\097\116\101")end)l=A and W end local g=d.LocalPlayer if not g then(d:GetPropertyChangedSignal("\076\111\099\097\108\080\108\097\121\101\114")):Wait()g=d.LocalPlayer end
--
local ZERO_VECTOR3 = Vector3.new(0,0,0)
local TOUCH_CONTROLS_SHEET = "rbxasset://textures/ui/Input/TouchControlsSheetV2.png"

local DYNAMIC_THUMBSTICK_ACTION_NAME = "DynamicThumbstickAction"
local DYNAMIC_THUMBSTICK_ACTION_PRIORITY = Enum.ContextActionPriority.High.Value

local MIDDLE_TRANSPARENCIES = {
	1 - 0.89,
	1 - 0.70,
	1 - 0.60,
	1 - 0.50,
	1 - 0.40,
	1 - 0.30,
	1 - 0.25
}
local NUM_MIDDLE_IMAGES = #MIDDLE_TRANSPARENCIES

local FADE_IN_OUT_BACKGROUND = true
local FADE_IN_OUT_MAX_ALPHA = 0.35

local SAFE_AREA_INSET_MAX = 100

local FADE_IN_OUT_HALF_DURATION_DEFAULT = 0.3
local FADE_IN_OUT_BALANCE_DEFAULT = 0.5
local ThumbstickFadeTweenInfo = TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)

local Players = game:GetService("Players")
local GuiService = game:GetService("GuiService")
local UserInputService = game:GetService("UserInputService")
local ContextActionService = game:GetService("ContextActionService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")

local FFlagUserDynamicThumbstickMoveOverButtons do
	local success, result = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserDynamicThumbstickMoveOverButtons2")
	end)
	FFlagUserDynamicThumbstickMoveOverButtons = success and result
end

local FFlagUserDynamicThumbstickSafeAreaUpdate do
	local success, result = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserDynamicThumbstickSafeAreaUpdate")
	end)
	FFlagUserDynamicThumbstickSafeAreaUpdate = success and result
end

local LocalPlayer = Players.LocalPlayer
if not LocalPlayer then
	Players:GetPropertyChangedSignal("LocalPlayer"):Wait()
	LocalPlayer = Players.LocalPlayer
end
