local P="\066\097\115\101\070\114\097\109\101"local T="\066\097\115\101\077\101\115\115\097\103\101"local D="\085\112\100\097\116\101\084\101\120\116\070\117\110\099\116\105\111\110"local c="\071\101\116\072\101\105\103\104\116\070\117\110\099\116\105\111\110"local N="\070\097\100\101\073\110\070\117\110\099\116\105\111\110"local s="\070\097\100\101\079\117\116\070\117\110\099\116\105\111\110"local z="\085\112\100\097\116\101\065\110\105\109\070\117\110\099\116\105\111\110"local x=game:GetService("\084\101\120\116\083\101\114\118\105\099\101")local E=game:GetService("\080\108\097\121\101\114\115")local I=E.LocalPlayer while not I do E.ChildAdded:wait()I=E.LocalPlayer end local M=script.Parent.Parent local O=require(M:WaitForChild("\067\104\097\116\083\101\116\116\105\110\103\115"))local r=require(M:WaitForChild("\067\104\097\116\067\111\110\115\116\097\110\116\115"))local n={}local p={}p.__index=p function p.GetStringTextBounds(N,P,T,D,c)c=c or Vector2.new(10000,10000)return x:GetTextSize(P,D,T,c)end

local KEY_BASE_FRAME = "BaseFrame"
local KEY_BASE_MESSAGE = "BaseMessage"
local KEY_UPDATE_TEXT_FUNC = "UpdateTextFunction"
local KEY_GET_HEIGHT = "GetHeightFunction"
local KEY_FADE_IN = "FadeInFunction"
local KEY_FADE_OUT = "FadeOutFunction"
local KEY_UPDATE_ANIMATION = "UpdateAnimFunction"

local TextService = game:GetService("TextService")

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
while not LocalPlayer do
	Players.ChildAdded:wait()
	LocalPlayer = Players.LocalPlayer
end

local clientChatModules = script.Parent.Parent
local ChatSettings = require(clientChatModules:WaitForChild("ChatSettings"))
local ChatConstants = require(clientChatModules:WaitForChild("ChatConstants"))

local module = {}
local methods = {}
methods.__index = methods

function methods:GetStringTextBounds(text, font, textSize, sizeBounds)
	sizeBounds = sizeBounds or Vector2.new(10000, 10000)
	return TextService:GetTextSize(text, textSize, font, sizeBounds)
end