local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_CurrentCamera_0 = game:GetService("Workspace").CurrentCamera;
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(l_CorePackages_0.Packages.Cryo);
local v5 = require(l_CorePackages_0.Workspace.Packages.CallProtocol);
local l_Sounds_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).Sounds;
local l_SoundGroups_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundGroups;
local l_SoundManager_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundManager;
local v9 = require(l_CorePackages_0.Packages.ReactOtter);
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local l_Chrome_0 = l_RobloxGui_0.Modules.Chrome;
local v12 = require(l_RobloxGui_0.Modules.Chrome.Enabled);
local v13 = require(l_Chrome_0.Service);
local v14 = require(l_Chrome_0.Unibar.Constants);
local v15 = require(l_RobloxGui_0.Modules.TopBar.Constants);
local v16 = require(l_RobloxGui_0.Modules.ContactList.dependencies);
local l_RoduxCall_0 = v16.RoduxCall;
local l_useSelector_0 = v16.Hooks.useSelector;
local l_useDispatch_0 = v16.Hooks.useDispatch;
local l_CallAction_0 = l_RoduxCall_0.Enums.CallAction;
local v21 = require(script.Parent.CallBar);
local v22 = Vector2.new(200, 44);
local v23 = {
    callProtocol = v5.CallProtocol.default
};
local v24 = {
    On = "On",
    Off = "Off"
};
return function(v25)
    local v26 = v4.Dictionary.join(v23, v25);
    local v27 = l_useDispatch_0();
    local v28, v29 = v3.useState(false);
    local v30 = nil;
    local v31 = nil;
    local v33, v34 = v9.useAnimatedBinding({
        X = l_CurrentCamera_0.ViewportSize.X / 2 - v22.X / 2,
        Y = -v22.Y
    }, function(v32)
        if not (not (v32.Y == -v22.Y) or not v28) then
            v29(false);
        end;
    end);
    v30 = v33;
    v31 = v34;
    v33 = v3.useCallback(function(v35)
        local v36 = l_CurrentCamera_0.ViewportSize.X / 2 - v22.X / 2;
        local v37 = nil;
        v37 = if v35 == v24.On then if v12() then v15.TopBarTopMargin + v15.TopBarButtonPadding else 4 else -v22.Y;
        if v12() then
            local l_Max_0 = v13:layout():get()[v13:status():get()].Max;
            if l_CurrentCamera_0.ViewportSize.X / 2 - v22.X / 2 < l_Max_0.X + 12 then
                if l_CurrentCamera_0.ViewportSize.X < (l_Max_0.X + 24) + v22.X then
                    if v35 == v24.On then
                        v37 = v15.TopBarHeight + 10;
                    end;
                else
                    v36 = l_Max_0.X + 12;
                end;
            end;
        end;
        v31({
            X = v9.spring(v36, v14.MENU_ANIMATION_SPRING),
            Y = v9.spring(v37, v14.MENU_ANIMATION_SPRING)
        });
    end, {});
    local v40 = l_useSelector_0((v3.useCallback(function(v39)
        if v39.Call.currentCall ~= nil then
            return v39.Call.currentCall.status;
        else
            return nil;
        end;
    end, {})));
    local v43 = l_useSelector_0((v3.useCallback(function(v41)
        local v42 = 0;
        if not (not v41.Call.currentCall or not v41.Call.currentCall.activeUtc) then
            v42 = v41.Call.currentCall.activeUtc;
        end;
        return v42;
    end)));
    local v45 = l_useSelector_0((v3.useCallback(function(v44)
        if v44.Call.currentCall ~= nil then
            return v44.Call.currentCall.instanceId;
        else
            return nil;
        end;
    end)));
    v3.useEffect(function()
        local v47 = v26.callProtocol:listenToHandleConnectingCall(function(v46)
            l_SoundManager_0:PlaySound(l_Sounds_0.Ringtone.Name, {
                Volume = 0.5,
                Looped = true
            }, l_SoundGroups_0.Iris);
            v27(l_RoduxCall_0.Actions.UpdateCall(v46));
        end);
        local v49 = v26.callProtocol:listenToHandleTeleportingCall(function(v48)
            l_SoundManager_0:StopSound(l_Sounds_0.Ringtone.Name);
            l_SoundManager_0:PlaySound(l_Sounds_0.CallAccept.Name, {
                Volume = 0.5
            }, l_SoundGroups_0.Iris);
            v27(l_RoduxCall_0.Actions.UpdateCall(v48));
        end);
        local v51 = v26.callProtocol:listenToHandleActiveCall(function(v50)
            v27(l_RoduxCall_0.Actions.UpdateCall(v50));
        end);
        local v53 = v26.callProtocol:listenToHandleTransferCallTeleportJoin(function()
            v26.callProtocol:getCallState():andThen(function(v52)
                v27(l_RoduxCall_0.Actions.UpdateCall(v52));
            end);
        end);
        v26.callProtocol:getCallState():andThen(function(v54)
            v27(l_RoduxCall_0.Actions.UpdateCall(v54));
        end);
        return function()
            v47:Disconnect();
            v49:Disconnect();
            v51:Disconnect();
            v53:Disconnect();
        end;
    end, {
        v26.callProtocol
    });
    local v55, v56 = v3.useState(false);
    if v12() then
        v3.useEffect(function()
            local v57 = v13:layout():connect(function()
                v56(true);
            end);
            return function()
                v57.disconnect();
            end;
        end, {});
    end;
    v3.useEffect(function()
        local v58 = true;
        if v40 ~= l_RoduxCall_0.Enums.Status.Connecting then
            v58 = true;
            if v40 ~= l_RoduxCall_0.Enums.Status.Teleporting then
                v58 = true;
                if v40 ~= l_RoduxCall_0.Enums.Status.Active then
                    v58 = false;
                    if v40 == l_RoduxCall_0.Enums.Status.Idle then
                        v58 = game.JobId == v45;
                    end;
                end;
            end;
        end;
        if v58 then
            v29(true);
        end;
        v33(if not v58 then v24.Off else v24.On);
        local v59 = nil;
        if v12() then
            v59 = v13:status():connect(function()
                v33(if not v58 then v24.Off else v24.On);
            end);
        end;
        local v60 = l_CurrentCamera_0:GetPropertyChangedSignal("ViewportSize"):Connect(function()
            v33(if not v58 then v24.Off else v24.On);
        end);
        return function()
            if v12() then
                v59:disconnect();
            end;
            v60:Disconnect();
        end;
    end, {
        v40,
        v45,
        v55
    });
    v3.useEffect(function()
        local v62 = v26.callProtocol:listenToHandleEndCall(function(v61)
            if v61.callAction == l_CallAction_0.Cancel then
                l_SoundManager_0:StopSound(l_Sounds_0.Ringtone.Name);
                l_SoundManager_0:PlaySound(l_Sounds_0.HangUp.Name, {
                    Volume = 0.5
                }, l_SoundGroups_0.Iris);
            elseif v61.callAction == l_CallAction_0.Decline then
                l_SoundManager_0:StopSound(l_Sounds_0.Ringtone.Name);
                l_SoundManager_0:PlaySound(l_Sounds_0.CallDecline.Name, {
                    Volume = 0.5
                }, l_SoundGroups_0.Iris);
            elseif v61.callAction == l_CallAction_0.Finish then
                l_SoundManager_0:PlaySound(l_Sounds_0.HangUp.Name, {
                    Volume = 0.5
                }, l_SoundGroups_0.Iris);
            end;
            v27(l_RoduxCall_0.Actions.UpdateCall(v61));
        end);
        return function()
            v62:Disconnect();
        end;
    end, {
        v26.callProtocol
    });
    return if not v28 then nil else v3.createElement("Frame", {
        Size = UDim2.fromScale(1, 1),
        BackgroundTransparency = 1,
        BorderSizePixel = 0
    }, {
        CallBar = v3.createElement(v21, {
            size = v22,
            activeUtc = v43,
            position = v30:map(function(v63)
                return UDim2.fromOffset(math.round(v63.X), (math.round(v63.Y)));
            end)
        })
    });
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Packages.React);
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_CorePackages_0.Packages.Cryo);
local v5 = require(l_CorePackages_0.Workspace.Packages.CallProtocol);
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v7 = require(l_RobloxGui_0.Modules.RobloxTranslator);
local l_ContactList_0 = l_RobloxGui_0.Modules.ContactList;
local v9 = require(l_ContactList_0.Actions.OpenOrUpdateDialog);
local v10 = require(l_ContactList_0.dependencies);
local l_UIBlox_0 = v10.UIBlox;
local l_useSelector_0 = v10.Hooks.useSelector;
local l_useDispatch_0 = v10.Hooks.useDispatch;
local l_ButtonType_0 = l_UIBlox_0.App.Button.Enum.ButtonType;
local l_InteractiveAlert_0 = l_UIBlox_0.App.Dialog.Alert.InteractiveAlert;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local v17 = require(l_ContactList_0.Enums.ErrorType);
local v18 = require(l_ContactList_0.Actions.CloseDialog);
local v19 = require(l_ContactList_0.Analytics.useAnalytics);
local v20 = require(l_ContactList_0.Analytics.EventNamesEnum);
local v21 = {
    callProtocol = v5.CallProtocol.default
};
return function(v22)
    local v23 = v4.Dictionary.join(v21, v22);
    local l_Theme_0 = l_useStyle_0().Theme;
    local v25 = l_useDispatch_0();
    local v26 = v19();
    local v27, v28 = v2.useState(Vector2.new(0, 0));
    local v32 = l_useSelector_0(function(v29)
        return v29.Dialog.title;
    end, function(v30, v31)
        return v30 == v31;
    end);
    local v36 = l_useSelector_0(function(v33)
        return v33.Dialog.bodyText;
    end, function(v34, v35)
        return v34 == v35;
    end);
    local v40 = l_useSelector_0(function(v37)
        return v37.Dialog.dismissCallback;
    end, function(v38, v39)
        return v38 == v39;
    end);
    local v44 = l_useSelector_0(function(v41)
        return v41.Dialog.isOpen;
    end, function(v42, v43)
        return v42 == v43;
    end);
    v2.useEffect(function()
        local v46 = v23.callProtocol:listenToHandleCallMessage(function(v45)
            if v45.messageType == v5.Enums.MessageType.CallError.rawValue() then
                if v45.errorType == v17.CallerIsInAnotherCall then
                    v25(v9(v7:FormatByKey("Feature.Call.Error.Title.CouldntMakeCall"), v7:FormatByKey("Feature.Call.Error.Description.AlreadyInCall")));
                elseif v45.errorType == v17.CalleeIsInAnotherCall then
                    v25(v9(v7:FormatByKey("Feature.Call.Error.Title.FriendBusy"), v7:FormatByKey("Feature.Call.Error.Description.FriendBusy", {
                        calleeCombinedName = v45.callInfo.calleeCombinedName
                    })));
                elseif not (v45.errorType ~= v17.UniverseIsNotVoiceEnabled) or v45.errorType == v17.PlaceIsNotVoiceEnabled then
                    v25(v9(v7:FormatByKey("Feature.Call.Error.Title.ExperienceError"), v7:FormatByKey("Feature.Call.Description.ExperienceError")));
                    v26.fireEvent(v20.PhoneBookCallFriendFailed, {
                        eventTimestampMs = os.time() * 1000,
                        calleeUserId = v45.callInfo.calleeId,
                        callerUserId = v45.callInfo.callerId,
                        errorMsg = "Universe or place is not voice enabled."
                    });
                elseif v45.errorType == v17.CallerIsNotVoiceEnabled then
                    v25(v9(v7:FormatByKey("Feature.Call.Modal.EnableChatVoiceTitle"), v7:FormatByKey("Feature.Call.Modal.EnableChatVoiceBody")));
                    v26.fireEvent(v20.PhoneBookCallFriendFailed, {
                        eventTimestampMs = os.time() * 1000,
                        calleeUserId = v45.callInfo.calleeId,
                        callerUserId = v45.callInfo.callerId,
                        errorMsg = "User is not voice enabled."
                    });
                else
                    v25(v9(v7:FormatByKey("Feature.Call.Error.Label.OhNo"), v7:FormatByKey("Feature.Call.Error.Description.Generic")));
                end;
                if v45.errorType == v17.UniverseAgeIsNotValid then
                    warn("Experience must be at least one week old to place a call");
                    return ;
                elseif v45.errorType == v17.ReservedServerAccessCodeIsNotProvided then
                    warn("Reserved server access code was not provided via OnCallInviteInvoked callback");
                end;
            end;
        end);
        return function()
            v46:Disconnect();
        end;
    end, {
        v23.callProtocol
    });
    return v2.createElement(v3.Portal, {
        target = l_CoreGui_0
    }, {
        CallDialogScreen = v2.createElement("ScreenGui", {
            Enabled = v44,
            IgnoreGuiInset = true,
            ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
            AutoLocalize = false,
            DisplayOrder = 8,
            [v2.Change.AbsoluteSize] = function(v47)
                v28(v47.AbsoluteSize);
            end
        }, {
            Overlay = v2.createElement("TextButton", {
                AutoButtonColor = false,
                BackgroundColor3 = l_Theme_0.Overlay.Color,
                BackgroundTransparency = l_Theme_0.Overlay.Transparency,
                BorderSizePixel = 0,
                Size = UDim2.new(1, 0, 1, 0),
                Text = ""
            }),
            CallDialog = v2.createElement(l_InteractiveAlert_0, {
                screenSize = v27,
                title = v32,
                bodyText = v36,
                buttonStackInfo = {
                    buttons = {
                        {
                            buttonType = l_ButtonType_0.PrimarySystem,
                            props = {
                                text = v7:FormatByKey("InGame.CommonUI.Button.Ok"),
                                onActivated = function()
                                    if v40 then
                                        v40();
                                    end;
                                    v25(v18());
                                end
                            }
                        }
                    }
                }
            })
        })
    });
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_LocalizationService_0 = game:GetService("LocalizationService");
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v4 = require(l_CorePackages_0.Packages.React);
local l_Sounds_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).Sounds;
local l_SoundGroups_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundGroups;
local l_SoundManager_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundManager;
local v8 = require(l_CorePackages_0.Workspace.Packages.UserProfiles);
local l_GetFFlagIrisUseLocalizationProvider_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagIrisUseLocalizationProvider;
local l_ContactList_0 = l_RobloxGui_0.Modules.ContactList;
local v11 = require(l_ContactList_0.dependencies);
local l_useDispatch_0 = v11.Hooks.useDispatch;
local l_UIBlox_0 = v11.UIBlox;
local l_dependencyArray_0 = v11.Hooks.dependencyArray;
local l_getStandardSizeAvatarHeadShotRbxthumb_0 = v11.getStandardSizeAvatarHeadShotRbxthumb;
local v16 = nil;
local v17 = nil;
if not l_GetFFlagIrisUseLocalizationProvider_0() then
    v17 = require(l_RobloxGui_0.Modules.RobloxTranslator);
else
    v16 = v11.Hooks.useLocalization;
end;
local l_useSelector_0 = v11.Hooks.useSelector;
local l_ControlState_0 = l_UIBlox_0.Core.Control.Enum.ControlState;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_Interactable_0 = l_UIBlox_0.Core.Control.Interactable;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local v23 = require(l_ContactList_0.Enums.CallState);
local v24 = Random.new();
local v25 = require(l_ContactList_0.Actions.OpenOrUpdateCFM);
local v26 = require(l_ContactList_0.Analytics.useAnalytics);
local v27 = require(l_ContactList_0.Analytics.EventNamesEnum);
local v28 = require(l_ContactList_0.Enums.Pages);
local v29 = require(l_ContactList_0.Hooks.useStartCallCallback);
local v30 = Vector2.new(24, 12);
local function _(v31, v32)
    local v33 = false;
    if v31.callerId ~= v32 then
        v33 = v31.status ~= v23.Finished;
    end;
    return v33;
end;
local function _(v35, v36)
    local v37 = false;
    if v35.callerId ~= v36 then
        v37 = v35.status ~= v23.Finished;
    end;
    if not v37 then
        if v35.callerId == v36 then
            return "Feature.Call.Label.Outgoing";
        else
            return "Feature.Call.Label.Incoming";
        end;
    else
        return "Feature.Call.Label.Missed";
    end;
end;
local function _(v39, v40)
    local v41 = false;
    if v39.callerId ~= v40 then
        v41 = v39.status ~= v23.Finished;
    end;
    if not v41 then
        if v39.callerId == v40 then
            return "rbxassetid://15239341275";
        else
            return "rbxassetid://15239341959";
        end;
    else
        return "rbxassetid://15239344406";
    end;
end;
local function v53(v43, v44, v45)
    local v46 = tonumber(v43:FormatLocalTime("YYYY", v45));
    local v47 = tonumber(v44:FormatLocalTime("YYYY", v45));
    local v48 = tonumber(v43:FormatLocalTime("DDD", v45));
    local v49 = tonumber(v44:FormatLocalTime("DDD", v45));
    local v50 = 0;
    for v51 = v47, v46 - 1 do
        local v52 = 365;
        if v51 % 4 == 0 and (not (v51 % 100 == 0) or v51 % 400 == 0) then
            v52 = 366;
        end;
        v50 = v50 + v52;
    end;
    return (v50 + v48) - v49;
end;
local function v60(v54, v55)
    local v56 = DateTime.now();
    local v57 = DateTime.fromUnixTimestampMillis(v54);
    local l_RobloxLocaleId_0 = l_LocalizationService_0.RobloxLocaleId;
    local v59 = v53(v56, v57, l_RobloxLocaleId_0);
    if v59 == 0 then
        return v57:FormatLocalTime("LT", l_RobloxLocaleId_0);
    elseif v59 == 1 then
        return v55;
    elseif v59 < 7 then
        return v57:FormatLocalTime("dddd", l_RobloxLocaleId_0);
    else
        return v57:FormatLocalTime("L", l_RobloxLocaleId_0);
    end;
end;
return function(v61)
    local l_callRecord_0 = v61.callRecord;
    local l_localUserId_0 = v61.localUserId;
    assert(#l_callRecord_0.participants == 2, "Expect a local user and single other participant in call.");
    local l_userId_0 = l_callRecord_0.participants[1].userId;
    if l_userId_0 == l_localUserId_0 then
        l_userId_0 = l_callRecord_0.participants[2].userId;
    end;
    local v65 = "";
    local v66 = "";
    local v67 = nil;
    local v68 = v8.Hooks.useUserProfilesFetch({
        userIds = {
            (tostring(l_userId_0))
        },
        query = v8.Queries.userProfilesCombinedNameAndUsernameByUserIds
    });
    if v68.data then
        v65 = v8.Selectors.getCombinedNameFromId(v68.data, l_userId_0);
        v66 = v8.Selectors.getUsernameFromId(v68.data, l_userId_0);
        v67 = {
            userId = l_userId_0,
            userName = v66,
            combinedName = v65
        };
        v66 = v8.Formatters.formatUsername(v66);
    end;
    local v69 = nil;
    local v70 = nil;
    if not l_GetFFlagIrisUseLocalizationProvider_0() then
        local l_v17_0 = v17;
        local v72 = false;
        if l_callRecord_0.callerId ~= l_localUserId_0 then
            v72 = l_callRecord_0.status ~= v23.Finished;
        end;
        v69 = l_v17_0:FormatByKey(if not v72 then l_callRecord_0.callerId == l_localUserId_0 and "Feature.Call.Label.Outgoing" or "Feature.Call.Label.Incoming" else "Feature.Call.Label.Missed");
        v70 = v17:FormatByKey("Feature.Call.Label.Yesterday");
    else
        local l_v16_0 = v16;
        local v74 = {};
        local v75 = false;
        if l_callRecord_0.callerId ~= l_localUserId_0 then
            v75 = l_callRecord_0.status ~= v23.Finished;
        end;
        v74.callStatusLabel = if not v75 then l_callRecord_0.callerId == l_localUserId_0 and "Feature.Call.Label.Outgoing" or "Feature.Call.Label.Incoming" else "Feature.Call.Label.Missed";
        v74.yesterdayLabel = "Feature.Call.Label.Yesterday";
        l_v16_0 = l_v16_0(v74);
        v69 = l_v16_0.callStatusLabel;
        v70 = l_v16_0.yesterdayLabel;
    end;
    local v76 = v26();
    local v77 = l_useStyle_0();
    local l_Theme_0 = v77.Theme;
    local l_Font_0 = v77.Font;
    local v80 = l_useDispatch_0();
    local v81, v82 = v4.useState("BackgroundDefault");
    local v85 = v4.useCallback(function(_, v84)
        if v84 == l_ControlState_0.Pressed then
            v82("BackgroundOnPress");
            return ;
        elseif v84 == l_ControlState_0.Hover then
            v82("BackgroundOnHover");
            return ;
        else
            v82("BackgroundDefault");
            return ;
        end;
    end, {});
    local v88 = v29(l_useSelector_0((v4.useCallback(function(v86)
        return v86.Navigation.currentTag;
    end, {}))), l_userId_0, v65, v61.dismissCallback, {
        searchQueryString = "",
        itemListIndex = v61.layoutOrder,
        isSuggestedUser = false,
        page = l_useSelector_0((v4.useCallback(function(v87)
            return v87.Navigation.currentPage;
        end, {})))
    });
    local v91 = v4.useCallback(function(_, v90)
        if v90 and v90.UserInputType == Enum.UserInputType.MouseMovement then
            l_SoundManager_0:PlaySound(l_Sounds_0.Hover.Name, {
                Volume = 0.5 + v24:NextNumber(-0.25, 0.25),
                PlaybackSpeed = 1 + v24:NextNumber(-0.5, 0.5)
            }, l_SoundGroups_0.Iris);
        end;
    end, {});
    local v92 = v4.useCallback(function()
        v76.fireEvent(v27.PhoneBookPlayerMenuOpened, {
            eventTimestampMs = os.time() * 1000,
            friendUserId = l_userId_0,
            searchQueryString = nil,
            itemListIndex = v61.layoutOrder,
            isSuggestedUser = false,
            page = v28.CallHistory
        });
        v80(v25(v67));
    end, l_dependencyArray_0(l_userId_0, v61.layoutOrder));
    local v93 = l_getStandardSizeAvatarHeadShotRbxthumb_0((tostring(l_userId_0)));
    local v94 = false;
    if l_callRecord_0.callerId ~= l_localUserId_0 then
        v94 = l_callRecord_0.status ~= v23.Finished;
    end;
    local l_createElement_0 = v4.createElement;
    local l_l_Interactable_0_0 = l_Interactable_0;
    local v97 = {
        Position = UDim2.fromOffset(0, 0),
        Size = UDim2.new(1, 0, 0, 68 + v30.Y * 2),
        BackgroundColor3 = l_Theme_0[v81].Color,
        BackgroundTransparency = l_Theme_0[v81].Transparency,
        BorderSizePixel = 0,
        LayoutOrder = v61.layoutOrder,
        onStateChanged = v85,
        AutoButtonColor = false,
        [v4.Event.Activated] = v88,
        [v4.Event.InputBegan] = v91
    };
    local v98 = {
        UIPadding = v4.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, v30.X),
            PaddingTop = UDim.new(0, v30.Y)
        }),
        ProfileImage = v4.createElement("ImageButton", {
            Size = UDim2.fromOffset(68, 68),
            Image = v93,
            [v4.Event.MouseButton2Up] = v92,
            [v4.Event.TouchTap] = v92,
            AutoButtonColor = false
        }, {
            UICorner = v4.createElement("UICorner", {
                CornerRadius = UDim.new(1, 0)
            })
        })
    };
    local l_createElement_1 = v4.createElement;
    local v100 = "Frame";
    local v101 = {
        Position = UDim2.new(0, 80, 0, 0),
        Size = UDim2.new(1, -(104 + v30.X), 1, -v30.Y),
        BackgroundTransparency = 1,
        BorderSizePixel = 0
    };
    local v102 = {
        NameContent = v4.createElement("Frame", {
            Size = UDim2.new(1, 0, 0, 0),
            AutomaticSize = Enum.AutomaticSize.Y,
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            LayoutOrder = 1
        }, {
            UIListLayout = v4.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                Padding = UDim.new(0, 4),
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            DisplayName = v4.createElement("TextLabel", {
                Size = UDim2.new(1, 0, 0, 20),
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                Font = l_Font_0.Header2.Font,
                LayoutOrder = 1,
                Text = v65,
                TextColor3 = if not v94 then l_Theme_0.TextEmphasis.Color else l_Theme_0.Alert.Color,
                TextSize = l_Font_0.BaseSize * l_Font_0.Header2.RelativeSize,
                TextTransparency = if not v94 then l_Theme_0.TextEmphasis.Transparency else l_Theme_0.Alert.Transparency,
                TextTruncate = Enum.TextTruncate.AtEnd,
                TextXAlignment = Enum.TextXAlignment.Left
            }),
            Username = v4.createElement("TextLabel", {
                Size = UDim2.new(1, 0, 0, 14),
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                Font = l_Font_0.CaptionBody.Font,
                LayoutOrder = 2,
                Text = v66,
                TextColor3 = l_Theme_0.TextDefault.Color,
                TextSize = l_Font_0.BaseSize * l_Font_0.CaptionBody.RelativeSize,
                TextTransparency = l_Theme_0.TextDefault.Transparency,
                TextTruncate = Enum.TextTruncate.AtEnd,
                TextXAlignment = Enum.TextXAlignment.Left
            })
        })
    };
    local l_createElement_2 = v4.createElement;
    local v104 = "Frame";
    local v105 = {
        Position = UDim2.new(0, 0, 1, -16),
        Size = UDim2.new(1, 0, 0, 16),
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        LayoutOrder = 2
    };
    local v106 = {
        UIListLayout = v4.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Horizontal,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            Padding = UDim.new(0, 4)
        })
    };
    local l_createElement_3 = v4.createElement;
    local l_l_ImageSetLabel_0_0 = l_ImageSetLabel_0;
    local v109 = {
        Size = UDim2.fromOffset(16, 16),
        BackgroundTransparency = 1,
        ImageColor3 = l_Theme_0.TextDefault.Color,
        ImageTransparency = l_Theme_0.TextDefault.Transparency
    };
    local v110 = false;
    if l_callRecord_0.callerId ~= l_localUserId_0 then
        v110 = l_callRecord_0.status ~= v23.Finished;
    end;
    v109.Image = if not v110 then l_callRecord_0.callerId == l_localUserId_0 and "rbxassetid://15239341275" or "rbxassetid://15239341959" else "rbxassetid://15239344406";
    v106.CallContextImage = l_createElement_3(l_l_ImageSetLabel_0_0, v109);
    v106.DetailsText = v4.createElement("TextLabel", {
        Size = UDim2.fromOffset(0, 14),
        AutomaticSize = Enum.AutomaticSize.X,
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        Font = l_Font_0.CaptionBody.Font,
        Text = v69 .. " \226\128\162 " .. v60(l_callRecord_0.endUtc, v70),
        TextColor3 = l_Theme_0.TextDefault.Color,
        TextSize = l_Font_0.BaseSize * l_Font_0.CaptionBody.RelativeSize,
        TextTransparency = l_Theme_0.TextDefault.Transparency,
        TextTruncate = Enum.TextTruncate.AtEnd,
        TextYAlignment = Enum.TextYAlignment.Center
    });
    v102.Details = l_createElement_2(v104, v105, v106);
    v98.Content = l_createElement_1(v100, v101, v102);
    v98.CallIcon = if not game:GetEngineFeature("EnableSocialServiceIrisInvite") then nil else v4.createElement(l_ImageSetLabel_0, {
        Position = UDim2.new(1, -v30.X - 4, 0.5, -v30.Y / 2),
        Size = UDim2.fromOffset(24, 24),
        AnchorPoint = Vector2.new(1, 0.5),
        BackgroundTransparency = 1,
        Image = "rbxassetid://15239343417",
        ImageColor3 = l_Theme_0.ContextualPrimaryDefault.Color,
        ImageTransparency = l_Theme_0.ContextualPrimaryDefault.Transparency
    });
    v98.Divider = not not v61.showDivider and v4.createElement("Frame", {
        Position = UDim2.new(0, 0, 1, -1),
        Size = UDim2.new(1, 0, 0, 1),
        BackgroundColor3 = l_Theme_0.Divider.Color,
        BackgroundTransparency = l_Theme_0.Divider.Transparency,
        BorderSizePixel = 0
    }) or nil;
    return l_createElement_0(l_l_Interactable_0_0, v97, v98);
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Packages.React);
local l_SoundManager_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundManager;
local l_SoundGroups_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundGroups;
local l_ContactList_0 = l_CoreGui_0:WaitForChild("RobloxGui").Modules.ContactList;
local v6 = require(l_ContactList_0.Components.ContactListContainer);
local v7 = require(l_ContactList_0.Components.CallBarContainer);
local v8 = require(l_ContactList_0.Components.CallDialogContainer);
local v9 = require(l_ContactList_0.Components.PlayerMenuContainer);
return function()
    v2.useEffect(function()
        l_SoundManager_0:CreateSoundGroup(l_SoundGroups_0.Iris.Name);
    end, {});
    return v2.createElement("Folder", {}, {
        CallDialogContainer = v2.createElement(v8),
        ContactListContainer = v2.createElement(v6),
        PlayerMenuContainer = v2.createElement(v9),
        CallBarContainer = v2.createElement(v7)
    });
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.UIBlox);
local l_GetFFlagIrisUseLocalizationProvider_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagIrisUseLocalizationProvider;
local l_BaseMenu_0 = v3.App.Menu.BaseMenu;
local l_Images_0 = v3.App.ImageSet.Images;
local l_useStyle_0 = v3.Core.Style.useStyle;
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local l_ContactList_0 = l_RobloxGui_0.Modules.ContactList;
local v10 = require(l_ContactList_0.dependencies);
local l_useSelector_0 = v10.Hooks.useSelector;
local v12 = require(l_ContactList_0.Analytics.useAnalytics);
local v13 = require(l_ContactList_0.Analytics.EventNamesEnum);
local v14 = require(l_ContactList_0.Enums.FriendAction);
local v15 = nil;
local v16 = nil;
if not l_GetFFlagIrisUseLocalizationProvider_0() then
    v16 = require(l_RobloxGui_0.Modules.RobloxTranslator);
else
    v15 = v10.Hooks.useLocalization;
end;
return function(v17)
    local v18 = v12();
    local l_Theme_0 = l_useStyle_0().Theme;
    local v21 = l_useSelector_0(function(v20)
        if not v20.PlayerMenu.friend then
            return "";
        else
            return v20.PlayerMenu.friend.combinedName;
        end;
    end);
    local v23 = l_useSelector_0(function(v22)
        if not v22.PlayerMenu.friend then
            return nil;
        else
            return v22.PlayerMenu.friend.userId;
        end;
    end);
    local v24 = nil;
    if l_GetFFlagIrisUseLocalizationProvider_0() then
        v24 = v15({
            blockLabel = {
                "Feature.Call.Label.Block";
                combinedName = v21
            },
            unfriendLabel = {
                "Feature.Call.Label.Unfriend";
                combinedName = v21
            }
        });
    end;
    return v2.createElement(l_BaseMenu_0, {
        buttonProps = {
            {
                icon = l_Images_0["icons/actions/block"],
                text = if not l_GetFFlagIrisUseLocalizationProvider_0() then v16:FormatByKey("Feature.Call.Label.Block", {
                    combinedName = v21
                }) else v24.blockLabel,
                onActivated = function()
                    v18.fireEvent(v13.PhoneBookPlayerMenuBlockClicked, {
                        eventTimestampMs = os.time() * 1000,
                        friendUserId = v23
                    });
                    v17.initiateConfirmation(v14.Block);
                end
            },
            {
                icon = l_Images_0["icons/actions/friends/friendRemove"],
                text = if not l_GetFFlagIrisUseLocalizationProvider_0() then v16:FormatByKey("Feature.Call.Label.Unfriend", {
                    combinedName = v21
                }) else v24.unfriendLabel,
                onActivated = function()
                    v18.fireEvent(v13.PhoneBookPlayerMenuUnfriendClicked, {
                        eventTimestampMs = os.time() * 1000,
                        friendUserId = v23
                    });
                    v17.initiateConfirmation(v14.Unfriend);
                end
            }
        },
        background = l_Theme_0.BackgroundUIDefault,
        width = UDim.new(0, 352),
        position = UDim2.new(0.5, 0, 0.5, 0),
        anchorPoint = Vector2.new(0.5, 0.5)
    });
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Packages.React);
local l_GetFFlagIrisUseLocalizationProvider_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagIrisUseLocalizationProvider;
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v5 = require(l_RobloxGui_0.Modules.ContactList.dependencies);
local l_UIBlox_0 = v5.UIBlox;
local v7 = nil;
local v8 = nil;
if not l_GetFFlagIrisUseLocalizationProvider_0() then
    v8 = require(l_RobloxGui_0.Modules.RobloxTranslator);
else
    v7 = v5.Hooks.useLocalization;
end;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
return function(v12)
    local v13 = l_useStyle_0();
    local l_Font_0 = v13.Font;
    local l_Theme_0 = v13.Theme;
    local v16 = nil;
    if l_GetFFlagIrisUseLocalizationProvider_0() then
        v16 = v7({
            failedLabel = "Feature.Call.Label.Retry",
            placeCallLabel = "Feature.Call.Prompt.StartCall"
        });
    end;
    return v2.createElement("Frame", {
        Size = UDim2.new(1, 0, 0, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        BackgroundTransparency = 1,
        LayoutOrder = 10000
    }, {
        UIListLayout = v2.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            Padding = UDim.new(0, 20),
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Center
        }),
        UIPadding = v2.createElement("UIPadding", {
            PaddingTop = UDim.new(0, 12),
            PaddingBottom = UDim.new(0, 12),
            PaddingLeft = UDim.new(0, 24),
            PaddingRight = UDim.new(0, 24)
        }),
        Image = if not v12.isImageEnabled then nil else v2.createElement(l_ImageSetLabel_0, {
            BackgroundTransparency = 1,
            Image = l_Images_0[v12.imageName],
            LayoutOrder = 1,
            Size = UDim2.fromOffset(96, 96)
        }),
        Message = v2.createElement("TextLabel", {
            Size = UDim2.fromScale(1, 0),
            AutomaticSize = Enum.AutomaticSize.Y,
            BackgroundTransparency = 1,
            Font = l_Font_0.Body.Font,
            LayoutOrder = 2,
            Text = v12.messageText,
            TextColor3 = l_Theme_0.TextDefault.Color,
            TextSize = l_Font_0.Body.RelativeSize * l_Font_0.BaseSize,
            TextTransparency = l_Theme_0.TextDefault.Transparency,
            TextWrapped = true
        }),
        FailedButton = if not v12.isFailedButtonEnabled then nil else v2.createElement("TextButton", {
            Size = UDim2.new(0, 0, 0, 0),
            AutomaticSize = Enum.AutomaticSize.XY,
            BackgroundColor3 = l_Theme_0.SystemPrimaryDefault.Color,
            BackgroundTransparency = l_Theme_0.SystemPrimaryDefault.Transparency,
            BorderSizePixel = 0,
            Font = l_Font_0.Header2.Font,
            LayoutOrder = 3,
            Text = if not l_GetFFlagIrisUseLocalizationProvider_0() then v8:FormatByKey("Feature.Call.Label.Retry") else v16.failedLabel,
            TextColor3 = l_Theme_0.SystemPrimaryContent.Color,
            TextSize = l_Font_0.Header2.RelativeSize * l_Font_0.BaseSize,
            TextTransparency = l_Theme_0.SystemPrimaryContent.Transparency,
            [v2.Event.Activated] = v12.onFailedButtonActivated
        }, {
            UICorner = v2.createElement("UICorner", {
                CornerRadius = UDim.new(0, 8)
            }),
            UIPadding = v2.createElement("UIPadding", {
                PaddingLeft = UDim.new(0, 8),
                PaddingRight = UDim.new(0, 8)
            }),
            UISizeConstraint = v2.createElement("UISizeConstraint", {
                MinSize = Vector2.new(108, 36)
            })
        }),
        CallButton = if not v12.isCallButtonEnabled then nil else v2.createElement("ImageButton", {
            Size = UDim2.new(1, 0, 0, 48),
            BackgroundColor3 = l_Theme_0.SystemPrimaryDefault.Color,
            BackgroundTransparency = l_Theme_0.SystemPrimaryDefault.Transparency,
            BorderSizePixel = 0,
            LayoutOrder = 3,
            [v2.Event.Activated] = v12.onCallButtonActivated
        }, {
            UICorner = v2.createElement("UICorner", {
                CornerRadius = UDim.new(0, 8)
            }),
            UIListLayout = v2.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                Padding = UDim.new(0, 4),
                SortOrder = Enum.SortOrder.LayoutOrder,
                VerticalAlignment = Enum.VerticalAlignment.Center
            }),
            StartCallIcon = v2.createElement(l_ImageSetLabel_0, {
                Size = UDim2.fromOffset(24, 24),
                BackgroundTransparency = 1,
                Image = "rbxassetid://15239343417",
                ImageColor3 = l_Theme_0.SystemPrimaryContent.Color,
                LayoutOrder = 1
            }),
            StartCallButtonText = v2.createElement("TextLabel", {
                AutomaticSize = Enum.AutomaticSize.XY,
                BackgroundTransparency = 1,
                Font = l_Font_0.Header2.Font,
                LayoutOrder = 2,
                Text = if not l_GetFFlagIrisUseLocalizationProvider_0() then v8:FormatByKey("Feature.Call.Prompt.StartCall") else v16.placeCallLabel,
                TextColor3 = l_Theme_0.SystemPrimaryContent.Color,
                TextSize = l_Font_0.Header2.RelativeSize * l_Font_0.BaseSize,
                TextTransparency = l_Theme_0.SystemPrimaryContent.Transparency
            })
        })
    });
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_SocialService_0 = game:GetService("SocialService");
local v3 = require(l_CorePackages_0.Packages.React);
local l_PeekView_0 = require(l_CorePackages_0.Workspace.Packages.PeekView).PeekView;
local l_PeekViewState_0 = require(l_CorePackages_0.Workspace.Packages.PeekView).PeekViewState;
local l_Signal_0 = require(l_CorePackages_0.Workspace.Packages.AppCommonLib).Signal;
local l_Sounds_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).Sounds;
local l_SoundGroups_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundGroups;
local l_SoundManager_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundManager;
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v11 = require(l_RobloxGui_0.Modules.RobloxTranslator);
local l_ContactList_0 = l_RobloxGui_0.Modules.ContactList;
local v13 = require(l_ContactList_0.dependencies);
local l_dependencyArray_0 = v13.Hooks.dependencyArray;
local l_useSelector_0 = v13.Hooks.useSelector;
local l_useDispatch_0 = v13.Hooks.useDispatch;
local l_useStyle_0 = v13.UIBlox.Core.Style.useStyle;
local v18 = require(l_ContactList_0.Analytics.useAnalytics);
local v19 = require(l_ContactList_0.Analytics.EventNamesEnum);
local v20 = require(l_ContactList_0.Components.ContactListHeader);
local v21 = require(l_ContactList_0.Components.CallHistory.CallHistoryContainer);
local v22 = require(l_ContactList_0.Components.FriendList.FriendListContainer);
local v23 = require(l_ContactList_0.Components.ContactListSearchBar);
local v24 = require(l_ContactList_0.Actions.SetCurrentPage);
local v25 = require(l_ContactList_0.Actions.SetCurrentTag);
local v26 = require(l_ContactList_0.Actions.OpenOrUpdateDialog);
local v27 = require(l_ContactList_0.Enums.Pages);
local v28 = require(l_ContactList_0.Parent.TopBar.Constants);
local l_LocalPlayer_0 = game:GetService("Players").LocalPlayer;
local l_CurrentCamera_0 = workspace.CurrentCamera;
local l_game_EngineFeature_0 = game:GetEngineFeature("EnableSocialServiceIrisInvite");
local l_game_EngineFeature_1 = game:GetEngineFeature("EnableSocialServiceCallingRename");
local v33 = 12 + v28.TopBarHeight;
return function()
    local v34 = v18();
    local l_Theme_0 = l_useStyle_0().Theme;
    local v36 = l_useDispatch_0();
    local v37 = v3.useRef(nil);
    local v38, v39 = v3.useState(0);
    local v40, v41 = v3.useState(l_CurrentCamera_0.ViewportSize.X < 640);
    local v42, v43 = v3.useState("");
    local v44, v45 = v3.useState(l_CurrentCamera_0.ViewportSize.Y - v33);
    local v46, v47 = v3.useState(nil);
    local v48 = v3.useRef(l_Signal_0.new());
    local v50 = l_useSelector_0((v3.useCallback(function(v49)
        return v49.Navigation.currentPage;
    end, {})));
    if l_game_EngineFeature_0 then
        v3.useEffect(function()
            local v55 = l_SocialService_0.PromptIrisInviteRequested:Connect(function(v51, v52)
                if l_LocalPlayer_0 and l_LocalPlayer_0.UserId == v51.UserId then
                    local l_UserInputService_0 = game:GetService("UserInputService");
                    local l_l_UserInputService_0_Platform_0 = l_UserInputService_0:GetPlatform();
                    if not l_UserInputService_0.VREnabled and (not (((l_l_UserInputService_0_Platform_0 ~= Enum.Platform.Windows and l_l_UserInputService_0_Platform_0 ~= Enum.Platform.UWP) and l_l_UserInputService_0_Platform_0 ~= Enum.Platform.OSX) and l_l_UserInputService_0_Platform_0 ~= Enum.Platform.IOS) or l_l_UserInputService_0_Platform_0 == Enum.Platform.Android) then
                        v36(v25(v52));
                        v34.fireEvent(v19.PhoneBookNavigate, {
                            eventTimestampMs = os.time() * 1000,
                            startingPage = v50,
                            destinationPage = v27.CallHistory
                        });
                        v36(v24(v27.CallHistory));
                        l_SoundManager_0:PlaySound(l_Sounds_0.Swipe.Name, {
                            Volume = 0.5
                        }, l_SoundGroups_0.Iris);
                        return ;
                    else
                        v36(v26(v11:FormatByKey("Feature.Call.Error.Label.OhNo"), v11:FormatByKey("Feature.Call.Error.Description.DeviceNotSupported"), function()
                            l_SocialService_0:InvokeIrisInvitePromptClosed(l_LocalPlayer_0);
                        end));
                    end;
                end;
            end);
            local _ = nil;
            local v58 = (if not l_game_EngineFeature_1 then game:GetService("SocialService").IrisInvitePromptClosed else l_SocialService_0.PhoneBookPromptClosed):Connect(function(v57)
                if l_LocalPlayer_0 and l_LocalPlayer_0.UserId == v57.UserId then
                    v34.fireEvent(v19.PhoneBookNavigate, {
                        eventTimestampMs = os.time() * 1000,
                        startingPage = tostring(v50),
                        destinationPage = nil
                    });
                    v36(v24(nil));
                    v39(v38 + 1);
                end;
            end);
            return function()
                v55:Disconnect();
                v58:Disconnect();
            end;
        end, l_dependencyArray_0(v38, v50));
    end;
    local v59 = v3.useCallback(function()
        if v40 or not v37.current then
            if not (not v48 or not v48.current) then
                v48.current:fire();
            end;
            return ;
        else
            l_SoundManager_0:PlaySound(l_Sounds_0.Swipe.Name, {
                Volume = 0.5
            }, l_SoundGroups_0.Iris);
            pcall(function()
                v37.current:TweenPosition(UDim2.new(0, -376, 0, v33), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.3, true, function()
                    l_SocialService_0:InvokeIrisInvitePromptClosed(l_LocalPlayer_0);
                end);
            end);
            return ;
        end;
    end, {
        v40
    });
    local v61 = v3.useCallback(function(v60)
        v43(v60);
    end, {});
    v3.useEffect(function()
        local v62 = l_CurrentCamera_0:GetPropertyChangedSignal("ViewportSize"):Connect(function()
            if l_CurrentCamera_0.ViewportSize.X < 640 then
                v41(true);
            else
                v41(false);
            end;
            v45(l_CurrentCamera_0.ViewportSize.Y - v33);
        end);
        return function()
            v62:Disconnect();
        end;
    end, {});
    v3.useEffect(function()
        if not ((not v50 or v40) or not v37.current) then
            pcall(function()
                v37.current:TweenPosition(UDim2.new(0, 12, 0, v33), Enum.EasingDirection.In, Enum.EasingStyle.Quad, 0.3, true);
            end);
        end;
        v43("");
    end, {
        v40,
        v50
    });
    local v65 = v3.useCallback(function(v63, _)
        if v63 == l_PeekViewState_0.Closed then
            if not (not l_LocalPlayer_0 or not l_game_EngineFeature_0) then
                l_SocialService_0:InvokeIrisInvitePromptClosed(l_LocalPlayer_0);
            end;
            l_SoundManager_0:PlaySound(l_Sounds_0.Swipe.Name, {
                Volume = 0.5
            }, l_SoundGroups_0.Iris);
        end;
        v47(v63);
    end, {});
    local v66 = v3.useCallback(function()
        v34.fireEvent(v19.PhoneBookSearchClicked, {
            eventTimestampMs = os.time() * 1000
        });
        if v50 ~= v27.FriendList then
            v34.fireEvent(v19.PhoneBookNavigate, {
                eventTimestampMs = os.time() * 1000,
                startingPage = v50,
                destinationPage = v27.FriendList
            });
        end;
        v36(v24(v27.FriendList));
        v47(l_PeekViewState_0.Full);
    end, {
        v50
    });
    local v68 = v3.useMemo(function()
        local v67 = nil;
        if v50 == v27.CallHistory then
            v67 = v3.createElement(v21, {
                dismissCallback = v59,
                isSmallScreen = v40,
                scrollingEnabled = not v40 or v46 == l_PeekViewState_0.Full,
                searchText = v42
            });
        elseif v50 == v27.FriendList then
            v67 = v3.createElement(v22, {
                dismissCallback = v59,
                isSmallScreen = v40,
                scrollingEnabled = not v40 or v46 == l_PeekViewState_0.Full,
                searchText = v42
            });
        end;
        return v3.createElement("ImageButton", {
            Size = if not v40 then UDim2.new(0, 376, 1, -v33) else UDim2.new(1, 0, 0, v44 - 25),
            Position = if not v40 then UDim2.new(0, -376, 0, v33) else UDim2.new(0, 0, 0, 0),
            AutoButtonColor = false,
            BackgroundColor3 = l_Theme_0.BackgroundDefault.Color,
            ref = v37
        }, {
            UICorner = v3.createElement("UICorner", {
                CornerRadius = UDim.new(0, 12)
            }),
            UIPadding = v3.createElement("UIPadding", {
                PaddingTop = if not v40 then UDim.new(0, 8) else UDim.new(0, 0)
            }),
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder,
                Padding = UDim.new(0, 8)
            }),
            Header = v3.createElement(v20, {
                currentPage = v50,
                headerHeight = 36,
                layoutOrder = 1,
                dismissCallback = v59
            }),
            SearchBar = v3.createElement(v23, {
                layoutOrder = 2,
                onSearchChanged = v61,
                searchBarHeight = 36,
                searchText = v42,
                onFocused = v66
            }),
            ContentContainer = v3.createElement("Frame", {
                BackgroundTransparency = 1,
                LayoutOrder = 3,
                Size = UDim2.new(1, 0, 1, -88)
            }, v67)
        });
    end, l_dependencyArray_0(v44, v50, v59, v46, v40, v42));
    local v69 = {};
    if not v40 then
        v69.Content = v68;
    else
        v69["Content" .. tostring(v38)] = v3.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, -v33),
            Position = UDim2.fromOffset(0, v33),
            BackgroundTransparency = 1
        }, {
            v3.createElement(l_PeekView_0, {
                briefViewContentHeight = UDim.new(0.6, 0),
                canDragFullViewToBrief = true,
                closeSignal = v48.current,
                elasticBehavior = Enum.ElasticBehavior.Never,
                peekViewState = v46,
                viewStateChanged = v65
            }, {
                Content = v68
            })
        });
    end;
    if not v50 then
        return nil;
    else
        return (v3.createElement("TextButton", {
            Size = UDim2.fromScale(1, 1),
            BackgroundTransparency = 1,
            Text = "",
            [v3.Event.Activated] = function()
                v59();
            end
        }, v69));
    end;
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Packages.React);
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local l_ContactList_0 = l_RobloxGui_0.Modules.ContactList;
local v5 = require(l_ContactList_0.dependencies);
local v6 = require(l_ContactList_0.Enums.Pages);
local v7 = require(l_ContactList_0.Actions.SetCurrentPage);
local v8 = require(l_ContactList_0.Analytics.useAnalytics);
local v9 = require(l_ContactList_0.Analytics.EventNamesEnum);
local l_useDispatch_0 = v5.Hooks.useDispatch;
local l_useLocalization_0 = v5.Hooks.useLocalization;
local l_UIBlox_0 = v5.UIBlox;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_ImageSetButton_0 = l_UIBlox_0.Core.ImageSet.ImageSetButton;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local l_GetFFlagIrisUseLocalizationProvider_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagIrisUseLocalizationProvider;
local v17 = nil;
if not l_GetFFlagIrisUseLocalizationProvider_0() then
    v17 = require(l_RobloxGui_0.Modules.RobloxTranslator);
end;
local function _(v18)
    if not l_GetFFlagIrisUseLocalizationProvider_0() then
        if v18 == v6.FriendList then
            return v17:FormatByKey("Feature.Call.Label.StartNewCall");
        elseif v18 == v6.CallHistory then
            return v17:FormatByKey("Feature.Call.Label.RecentCalls");
        end;
    elseif v18 == v6.FriendList then
        return "Feature.Call.Label.StartNewCall";
    elseif v18 == v6.CallHistory then
        return "Feature.Call.Label.RecentCalls";
    end;
    return "";
end;
return function(v20)
    local v21 = v8();
    local v22 = l_useStyle_0();
    local v23 = l_useDispatch_0();
    local l_Theme_0 = v22.Theme;
    local l_Font_0 = v22.Font;
    local v26 = nil;
    if l_GetFFlagIrisUseLocalizationProvider_0() then
        local l_l_useLocalization_0_0 = l_useLocalization_0;
        local v28 = {};
        local l_currentPage_0 = v20.currentPage;
        v28.titleLabel = if not l_GetFFlagIrisUseLocalizationProvider_0() then if l_currentPage_0 == v6.FriendList then v17:FormatByKey("Feature.Call.Label.StartNewCall") else if l_currentPage_0 == v6.CallHistory then v17:FormatByKey("Feature.Call.Label.RecentCalls") else "" else l_currentPage_0 == v6.FriendList and "Feature.Call.Label.StartNewCall" or (l_currentPage_0 == v6.CallHistory and "Feature.Call.Label.RecentCalls" or "");
        v26 = l_l_useLocalization_0_0(v28);
    end;
    local v30 = v2.useCallback(function()
        v21.fireEvent(v9.PhoneBookNavigate, {
            eventTimestampMs = os.time() * 1000,
            startingPage = v20.currentPage,
            destinationPage = v6.CallHistory
        });
        v23(v7(v6.CallHistory));
    end, {
        v20.currentPage
    });
    local v31 = v2.useCallback(function()
        v21.fireEvent(v9.PhoneBookNavigate, {
            eventTimestampMs = os.time() * 1000,
            startingPage = v20.currentPage,
            destinationPage = v6.FriendList
        });
        v23(v7(v6.FriendList));
    end, {
        v20.currentPage
    });
    local l_createElement_0 = v2.createElement;
    local v33 = "Frame";
    local v34 = {
        Size = UDim2.new(1, 0, 0, v20.headerHeight),
        LayoutOrder = v20.layoutOrder,
        BackgroundTransparency = 1
    };
    local v35 = {
        UIPadding = v2.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, 24),
            PaddingRight = UDim.new(0, 24)
        }),
        HeaderUIListLayout = v2.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Horizontal,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Center
        }),
        DismissButton = v2.createElement(l_ImageSetButton_0, {
            Size = UDim2.fromOffset(32, 32),
            BackgroundColor3 = l_Theme_0.BackgroundDefault.Color,
            BackgroundTransparency = l_Theme_0.BackgroundDefault.Transparency,
            Image = if v20.currentPage == v6.CallHistory then l_Images_0["icons/navigation/close"] else l_Images_0["icons/navigation/pushBack"],
            LayoutOrder = 1,
            [v2.Event.Activated] = if v20.currentPage == v6.CallHistory then v20.dismissCallback else v30
        }, {
            UICorner = v2.createElement("UICorner", {
                CornerRadius = UDim.new(0, 8)
            })
        }),
        DividerContainer = v2.createElement("Frame", {
            Size = UDim2.new(0, 0, 0, 0),
            AutomaticSize = Enum.AutomaticSize.XY,
            BackgroundTransparency = 1,
            LayoutOrder = 2
        }, {
            Divider = v2.createElement("Frame", {
                Size = UDim2.new(0, 1, 0, 16),
                BackgroundColor3 = l_Theme_0.Divider.Color,
                BackgroundTransparency = l_Theme_0.Divider.Transparency,
                BorderSizePixel = 0
            }),
            DividerContainerUIPadding = v2.createElement("UIPadding", {
                PaddingLeft = UDim.new(0, 8),
                PaddingRight = UDim.new(0, 12)
            })
        })
    };
    local l_createElement_1 = v2.createElement;
    local v37 = "TextLabel";
    local v38 = {
        Size = UDim2.new(1, -85, 0, 24),
        BackgroundTransparency = 1,
        Font = l_Font_0.Header1.Font
    };
    local v39;
    if not l_GetFFlagIrisUseLocalizationProvider_0() then
        local l_currentPage_1 = v20.currentPage;
        v39 = if not l_GetFFlagIrisUseLocalizationProvider_0() then if l_currentPage_1 == v6.FriendList then v17:FormatByKey("Feature.Call.Label.StartNewCall") else if l_currentPage_1 == v6.CallHistory then v17:FormatByKey("Feature.Call.Label.RecentCalls") else "" else l_currentPage_1 == v6.FriendList and "Feature.Call.Label.StartNewCall" or (l_currentPage_1 == v6.CallHistory and "Feature.Call.Label.RecentCalls" or "");
    else
        v39 = v26.titleLabel;
    end;
    v38.Text = v39;
    v38.TextColor3 = l_Theme_0.TextEmphasis.Color;
    v38.TextSize = l_Font_0.Header1.RelativeSize * l_Font_0.BaseSize;
    v38.TextTransparency = l_Theme_0.TextEmphasis.Transparency;
    v38.LayoutOrder = 3;
    v38.TextXAlignment = Enum.TextXAlignment.Left;
    v38.TextYAlignment = Enum.TextYAlignment.Center;
    v35.HeaderText = l_createElement_1(v37, v38);
    v35.NewCallButton = if v20.currentPage == v6.CallHistory then v2.createElement(l_ImageSetButton_0, {
        Size = UDim2.fromOffset(32, 32),
        BackgroundColor3 = l_Theme_0.BackgroundDefault.Color,
        BackgroundTransparency = l_Theme_0.BackgroundDefault.Transparency,
        Image = "rbxassetid://15239778003",
        LayoutOrder = 4,
        [v2.Event.Activated] = v31
    }, {
        UICorner = v2.createElement("UICorner", {
            CornerRadius = UDim.new(0, 8)
        })
    }) else nil;
    return l_createElement_0(v33, v34, v35);
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Packages.Cryo);
local v3 = require(l_CorePackages_0.Packages.React);
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v5 = require(l_RobloxGui_0.Modules.ContactList.dependencies);
local l_UIBlox_0 = v5.UIBlox;
local l_Colors_0 = l_UIBlox_0.App.Style.Colors;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local l_GetFFlagIrisUseLocalizationProvider_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagIrisUseLocalizationProvider;
local v12 = nil;
local v13 = nil;
if not l_GetFFlagIrisUseLocalizationProvider_0() then
    v13 = require(l_RobloxGui_0.Modules.RobloxTranslator);
else
    v12 = v5.Hooks.useLocalization;
end;
local v14 = {
    searchBarHeight = 36,
    searchText = ""
};
return function(v15)
    local v16 = v2.Dictionary.join(v14, v15);
    local v17 = l_useStyle_0();
    local l_Font_0 = v17.Font;
    local l_Theme_0 = v17.Theme;
    local v20, v21 = v3.useState(false);
    local v24 = v3.useCallback(function(v22, v23)
        if v23 == "Text" then
            v16.onSearchChanged(v22.Text);
        end;
    end, {
        v16.onSearchChanged
    });
    local _ = nil;
    return v3.createElement("Frame", {
        Size = UDim2.new(1, -48, 0, v16.searchBarHeight),
        BackgroundColor3 = l_Theme_0.UIMuted.Color,
        BackgroundTransparency = l_Theme_0.UIMuted.Transparency,
        LayoutOrder = v16.layoutOrder
    }, {
        UIListLayout = v3.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Horizontal,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            Padding = UDim.new(0, 4)
        }),
        UICorner = v3.createElement("UICorner", {
            CornerRadius = UDim.new(0, 8)
        }),
        UIPadding = v3.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, 12),
            PaddingRight = UDim.new(0, 12)
        }),
        UIStroke = v3.createElement("UIStroke", {
            Color = l_Colors_0.Pumice,
            Thickness = 1
        }),
        SearchImage = v3.createElement(l_ImageSetLabel_0, {
            LayoutOrder = 1,
            BackgroundTransparency = 1,
            Image = l_Images_0["icons/common/search_small"],
            ImageColor3 = if not v20 then Color3.fromHex("#696A6B") else l_Colors_0.White,
            Size = UDim2.fromOffset(16, 16)
        }),
        TextBox = v3.createElement("TextBox", {
            Size = UDim2.new(1, -20, 1, 0),
            BackgroundTransparency = 1,
            ClearTextOnFocus = false,
            ClipsDescendants = true,
            Font = l_Font_0.Body.Font,
            LayoutOrder = 2,
            PlaceholderColor3 = Color3.fromHex("#696A6B"),
            PlaceholderText = if not l_GetFFlagIrisUseLocalizationProvider_0() then v13:FormatByKey("Feature.Call.Prompt.SearchFriends") else v12({
                searchFriendsLabel = "Feature.Call.Prompt.SearchFriends"
            }).searchFriendsLabel,
            Text = v16.searchText,
            TextColor3 = l_Colors_0.White,
            TextSize = l_Font_0.BaseSize * l_Font_0.Body.RelativeSize,
            TextXAlignment = Enum.TextXAlignment.Left,
            [v3.Event.Changed] = v24,
            [v3.Event.Focused] = function()
                v21(true);
                v16.onFocused();
            end,
            [v3.Event.FocusLost] = function()
                v21(false);
            end
        })
    });
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v3 = require(l_CorePackages_0.Packages.React);
local l_Sounds_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).Sounds;
local l_SoundGroups_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundGroups;
local l_SoundManager_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundManager;
local v7 = require(l_CorePackages_0.Workspace.Packages.UserProfiles);
local l_GetFFlagIrisUseLocalizationProvider_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagIrisUseLocalizationProvider;
local l_ContactList_0 = l_RobloxGui_0.Modules.ContactList;
local v10 = require(l_ContactList_0.dependencies);
local l_dependencyArray_0 = v10.Hooks.dependencyArray;
local l_useDispatch_0 = v10.Hooks.useDispatch;
local l_useSelector_0 = v10.Hooks.useSelector;
local l_getStandardSizeAvatarHeadShotRbxthumb_0 = v10.getStandardSizeAvatarHeadShotRbxthumb;
local l_GetPresencesFromUserIds_0 = v10.NetworkingPresence.GetPresencesFromUserIds;
local v16 = nil;
local v17 = nil;
if not l_GetFFlagIrisUseLocalizationProvider_0() then
    v17 = require(l_RobloxGui_0.Modules.RobloxTranslator);
else
    v16 = v10.Hooks.useLocalization;
end;
local l_PresenceType_0 = v10.RoduxPresence.Enums.PresenceType;
local l_UIBlox_0 = v10.UIBlox;
local l_ControlState_0 = l_UIBlox_0.Core.Control.Enum.ControlState;
local l_PlayerContext_0 = l_UIBlox_0.App.Indicator.PlayerContext;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_Interactable_0 = l_UIBlox_0.Core.Control.Interactable;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local v26 = require(l_ContactList_0.Actions.OpenOrUpdateCFM);
local v27 = require(l_ContactList_0.Analytics.useAnalytics);
local v28 = require(l_ContactList_0.Analytics.EventNamesEnum);
local v29 = require(l_ContactList_0.Hooks.useStartCallCallback);
local v30 = require(l_ContactList_0.Enums.Pages);
local v31 = Random.new();
local v32 = Vector2.new(24, 12);
return function(v33)
    local v34 = v27();
    local v35 = l_useStyle_0();
    local l_Theme_0 = v35.Theme;
    local l_Font_0 = v35.Font;
    local v38 = l_useDispatch_0();
    local v39 = {
        userId = v33.userId,
        userName = v33.userName,
        combinedName = v33.combinedName
    };
    local v40 = nil;
    if l_GetFFlagIrisUseLocalizationProvider_0() then
        v40 = v16({
            offlineStatusLabel = "InGame.Presence.Label.Offline",
            onlineStatusLabel = "InGame.Presence.Label.Online",
            studioStatusLabel = "InGame.Presence.Label.RobloxStudio"
        });
    end;
    v3.useEffect(function()
        if v33.userPresenceType == nil then
            v38(l_GetPresencesFromUserIds_0.API({
                v33.userId
            }));
        end;
    end, l_dependencyArray_0(v33.userId, v33.userPresenceType));
    local v42 = l_useSelector_0((v3.useCallback(function(v41)
        return v41.Presence.byUserId[tostring(v33.userId)];
    end, {
        v33.userId
    })));
    local v44 = l_useSelector_0((v3.useCallback(function(v43)
        return v43.Navigation.currentTag;
    end, {})));
    local v46 = l_useSelector_0((v3.useCallback(function(v45)
        return v45.Navigation.currentPage;
    end, {})));
    local v47, v48 = v3.useState("BackgroundDefault");
    local v51 = v3.useCallback(function(_, v50)
        if v50 == l_ControlState_0.Pressed then
            v48("BackgroundOnPress");
            return ;
        elseif v50 == l_ControlState_0.Hover then
            v48("BackgroundOnHover");
            return ;
        else
            v48("BackgroundDefault");
            return ;
        end;
    end, {});
    local v52 = l_getStandardSizeAvatarHeadShotRbxthumb_0((tostring(v33.userId)));
    local v53 = v29(v44, v33.userId, v33.combinedName, v33.dismissCallback, {
        searchQueryString = v33.searchQueryString,
        itemListIndex = v33.itemListIndex,
        isSuggestedUser = v33.isSuggestedUser,
        page = v46
    });
    local v62 = v3.useMemo(function()
        local v54 = l_Images_0["component_assets/circle_26_stroke_3"];
        local l_Color_0 = v35.Theme.OfflineStatus.Color;
        local l_Transparency_0 = v35.Theme.OfflineStatus.Transparency;
        local v57 = 12;
        local v58 = if not l_GetFFlagIrisUseLocalizationProvider_0() then v17:FormatByKey("InGame.Presence.Label.Offline") else v40.offlineStatusLabel;
        local l_TextMuted_0 = v35.Theme.TextMuted;
        local v60 = nil;
        local v61 = nil;
        if not v42 then
            v60 = if not v33.userPresenceType then l_PresenceType_0.Offline else l_PresenceType_0[v33.userPresenceType];
            v61 = v33.lastLocation or "";
        else
            v60 = v42.userPresenceType;
            v61 = v42.lastLocation;
        end;
        if v60 == l_PresenceType_0.Online then
            v54 = l_Images_0["component_assets/circle_16"];
            l_Color_0 = v35.Theme.OnlineStatus.Color;
            l_Transparency_0 = v35.Theme.OnlineStatus.Transparency;
            v58 = if not l_GetFFlagIrisUseLocalizationProvider_0() then v17:FormatByKey("InGame.Presence.Label.Online") else v40.onlineStatusLabel;
            l_TextMuted_0 = v35.Theme.TextMuted;
            v57 = 12;
        elseif v60 == l_PresenceType_0.InGame then
            v54 = l_Images_0["icons/menu/games_small"];
            l_Color_0 = v35.Theme.IconEmphasis.Color;
            l_Transparency_0 = v35.Theme.IconEmphasis.Transparency;
            v58 = v61;
            l_TextMuted_0 = l_Theme_0.TextEmphasis;
            v57 = 16;
        elseif v60 == l_PresenceType_0.InStudio then
            v54 = l_Images_0["icons/logo/studiologo_small"];
            l_Color_0 = v35.Theme.TextDefault.Color;
            l_Transparency_0 = v35.Theme.TextDefault.Transparency;
            v58 = if not l_GetFFlagIrisUseLocalizationProvider_0() then v17:FormatByKey("InGame.Presence.Label.RobloxStudio") else v40.studioStatusLabel;
            l_TextMuted_0 = v35.Theme.TextMuted;
            v57 = 16;
        end;
        return v3.createElement(l_PlayerContext_0, {
            fontStyle = v35.Font.CaptionBody,
            icon = v54,
            iconColor = l_Color_0,
            iconSize = UDim2.fromOffset(v57, v57),
            iconTransparency = l_Transparency_0,
            layoutOrder = 2,
            onActivated = v53,
            text = v58,
            textColorStyle = l_TextMuted_0,
            textHeight = 24
        });
    end, {
        v42,
        v35
    });
    local v65 = v3.useCallback(function(_, v64)
        if v64 and v64.UserInputType == Enum.UserInputType.MouseMovement then
            l_SoundManager_0:PlaySound(l_Sounds_0.Hover.Name, {
                Volume = 0.5 + v31:NextNumber(-0.25, 0.25),
                PlaybackSpeed = 1 + v31:NextNumber(-0.5, 0.5)
            }, l_SoundGroups_0.Iris);
        end;
    end, {});
    local v66 = v3.useCallback(function()
        v34.fireEvent(v28.PhoneBookPlayerMenuOpened, {
            eventTimestampMs = os.time() * 1000,
            friendUserId = v39.userId,
            searchQueryString = v33.searchQueryString,
            itemListIndex = v33.itemListIndex,
            isSuggestedUser = v33.isSuggestedUser,
            page = v30.FriendList
        });
        v38(v26(v39));
    end, l_dependencyArray_0(v39.userId, v33.searchQueryString, v33.itemListIndex, v33.isSuggestedUser));
    return v3.createElement(l_Interactable_0, {
        Position = UDim2.fromOffset(0, 0),
        Size = UDim2.new(1, 0, 0, 68 + v32.Y * 2),
        BackgroundColor3 = l_Theme_0[v47].Color,
        BackgroundTransparency = l_Theme_0[v47].Transparency,
        BorderSizePixel = 0,
        LayoutOrder = v33.layoutOrder,
        onStateChanged = v51,
        AutoButtonColor = false,
        [v3.Event.Activated] = v53,
        [v3.Event.InputBegan] = v65
    }, {
        UIPadding = v3.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, v32.X),
            PaddingTop = UDim.new(0, v32.Y)
        }),
        ProfileImage = v3.createElement("ImageButton", {
            Size = UDim2.fromOffset(68, 68),
            Image = v52,
            [v3.Event.MouseButton2Up] = v66,
            [v3.Event.TouchTap] = v66,
            AutoButtonColor = false
        }, {
            UICorner = v3.createElement("UICorner", {
                CornerRadius = UDim.new(1, 0)
            })
        }),
        Content = v3.createElement("Frame", {
            Position = UDim2.new(0, 80, 0, 0),
            Size = UDim2.new(1, -(116 + v32.X), 1, -v32.Y),
            BackgroundTransparency = 1,
            BorderSizePixel = 0
        }, {
            UIListLayout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            NameContent = v3.createElement("Frame", {
                Size = UDim2.new(1, 0, 0, 0),
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                LayoutOrder = 1
            }, {
                UIListLayout = v3.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    Padding = UDim.new(0, 4),
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                UIPadding = v3.createElement("UIPadding", {
                    PaddingBottom = UDim.new(0, 6)
                }),
                CombinedName = v3.createElement("TextLabel", {
                    Size = UDim2.new(1, 0, 0, 20),
                    BackgroundTransparency = 1,
                    BorderSizePixel = 0,
                    Font = l_Font_0.Header2.Font,
                    LayoutOrder = 1,
                    Text = v33.combinedName,
                    TextColor3 = l_Theme_0.TextEmphasis.Color,
                    TextSize = l_Font_0.BaseSize * l_Font_0.Header2.RelativeSize,
                    TextTransparency = l_Theme_0.TextEmphasis.Transparency,
                    TextTruncate = Enum.TextTruncate.AtEnd,
                    TextXAlignment = Enum.TextXAlignment.Left
                }),
                Username = v3.createElement("TextLabel", {
                    Size = UDim2.new(1, 0, 0, 14),
                    BackgroundTransparency = 1,
                    BorderSizePixel = 0,
                    Font = l_Font_0.CaptionBody.Font,
                    LayoutOrder = 2,
                    Text = v7.Formatters.formatUsername(v33.userName),
                    TextColor3 = l_Theme_0.TextDefault.Color,
                    TextSize = l_Font_0.BaseSize * l_Font_0.CaptionBody.RelativeSize,
                    TextTransparency = l_Theme_0.TextDefault.Transparency,
                    TextTruncate = Enum.TextTruncate.AtEnd,
                    TextXAlignment = Enum.TextXAlignment.Left
                })
            }),
            PlayerContext = v62
        }),
        CallIcon = if not game:GetEngineFeature("EnableSocialServiceIrisInvite") then nil else v3.createElement(l_ImageSetLabel_0, {
            Position = UDim2.new(1, -v32.X - 4, 0.5, -v32.Y / 2),
            Size = UDim2.fromOffset(24, 24),
            AnchorPoint = Vector2.new(1, 0.5),
            BackgroundTransparency = 1,
            Image = "rbxassetid://15239343417",
            ImageColor3 = l_Theme_0.ContextualPrimaryDefault.Color,
            ImageTransparency = l_Theme_0.ContextualPrimaryDefault.Transparency
        }),
        Divider = not not v33.showDivider and v3.createElement("Frame", {
            Position = UDim2.new(0, 0, 1, -1),
            Size = UDim2.new(1, 0, 0, 1),
            BackgroundColor3 = l_Theme_0.Divider.Color,
            BackgroundTransparency = l_Theme_0.Divider.Transparency,
            BorderSizePixel = 0
        }) or nil
    });
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local v1 = require(game:GetService("CorePackages").Packages.React);
local l_UIBlox_0 = require(l_CoreGui_0:WaitForChild("RobloxGui").Modules.ContactList.dependencies).UIBlox;
local l_Colors_0 = l_UIBlox_0.App.Style.Colors;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local l_Interactable_0 = l_UIBlox_0.Core.Control.Interactable;
local l_TooltipOrientation_0 = l_UIBlox_0.App.Dialog.Enum.TooltipOrientation;
local l_withTooltip_0 = l_UIBlox_0.App.Dialog.TooltipV2.withTooltip;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local function v10()
end;
return function(v11)
    local v12 = l_useStyle_0();
    local l_Theme_0 = v12.Theme;
    local l_Font_0 = v12.Font;
    local v15, v16 = v1.useState(false);
    return v1.createElement("Frame", {
        Position = UDim2.fromOffset(0, 0),
        Size = UDim2.new(1, 0, 0, 24),
        BackgroundColor3 = l_Theme_0.BackgroundContrast.Color,
        LayoutOrder = v11.layoutOrder
    }, {
        UIPadding = v1.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, 24)
        }),
        HeaderText = v1.createElement("TextLabel", {
            Size = UDim2.new(1, -28, 1, 0),
            BackgroundTransparency = 1,
            Font = l_Font_0.Footer.Font,
            Text = string.upper(v11.name),
            TextColor3 = l_Theme_0.TextDefault.Color,
            TextSize = l_Font_0.Footer.RelativeSize * l_Font_0.BaseSize,
            TextTransparency = l_Theme_0.TextDefault.Transparency,
            TextXAlignment = Enum.TextXAlignment.Left,
            TextYAlignment = Enum.TextYAlignment.Center,
            AnchorPoint = Vector2.new(0, 0.5),
            Position = UDim2.new(0, 0, 0.5, 0)
        }),
        Tooltip = l_withTooltip_0({
            headerText = v11.name,
            bodyText = v11.description
        }, {
            preferredOrientation = l_TooltipOrientation_0.Right,
            guiTarget = l_CoreGui_0,
            DisplayOrder = 100,
            active = v15
        }, function(v17)
            return v1.createElement(l_Interactable_0, {
                Position = UDim2.new(1, -28, 0.5, 0),
                AnchorPoint = Vector2.new(1, 0.5),
                Size = UDim2.fromOffset(28, 28),
                BackgroundTransparency = 1,
                [v1.Change.AbsolutePosition] = v17,
                [v1.Change.AbsoluteSize] = v17,
                [v1.Event.Activated] = function(_)
                    v16(not v15);
                end,
                onStateChanged = v10
            }, {
                Label = v1.createElement(l_ImageSetLabel_0, {
                    Size = UDim2.fromScale(1, 1),
                    BackgroundTransparency = 1,
                    Image = l_Images_0["icons/actions/info"],
                    ImageColor3 = l_Colors_0.White
                })
            });
        end)
    });
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Roact);
local v2 = require(l_CorePackages_0.Rodux);
local v3 = require(l_CorePackages_0.UIBlox);
local v4 = require(l_CorePackages_0.Packages.Dash);
local v5 = require(l_CorePackages_0.Packages.RoactRodux);
local l_Localization_0 = require(l_CorePackages_0.Workspace.Packages.InExperienceLocales).Localization;
local l_LocalizationProvider_0 = require(l_CorePackages_0.Workspace.Packages.Localization).LocalizationProvider;
v3.init(require(l_CorePackages_0.Workspace.Packages.RobloxAppUIBloxConfig));
local l_AppStyleProvider_0 = v3.App.Style.AppStyleProvider;
v1.setGlobalConfig({
    elementTracing = true,
    propValidation = true
});
local v9 = {
    Default = {
        themeName = "Light",
        fontName = "Gotham"
    },
    Light = {
        themeName = "Light",
        fontName = "Gotham"
    },
    Dark = {
        themeName = "Dark",
        fontName = "Gotham"
    }
};
local v10 = {
    language = "en-us"
};
local v11 = l_Localization_0.new("en-us");
local function v13(v12)
    return v2.Store.new(function()
        return v12;
    end, {}, {
        v2.thunkMiddleware
    });
end;
return {
    roact = v1,
    mapDefinition = function(v14)
        return v4.join(v14, {
            controls = v4.join(v10, v14.controls or {})
        });
    end,
    mapStory = function(v15)
        return function(v16)
            v11:SetLocale(v16.controls.language);
            return v1.createElement(v5.StoreProvider, {
                store = v13(v16.definition.state or {})
            }, {
                v1.createElement(l_AppStyleProvider_0, {
                    style = not not v16 and v9[v16.theme] or v9.Default
                }, {
                    v1.createElement(l_LocalizationProvider_0, {
                        localization = v11
                    }, {
                        Child = v1.createElement(v15, v16)
                    })
                })
            });
        end;
    end
};


local l_CorePackages_0 = game:GetService("CorePackages");
return require(l_CorePackages_0.Packages.React).createContext({
    fireAnalyticsEvent = require(l_CorePackages_0.Packages.Dash).noop
});


return {
    Finished = "CallFinished",
    Declined = "CallDeclined",
    Missed = "CallMissed"
};


return {
    CallerIsInAnotherCall = "CallerIsInAnotherCall",
    CalleeIsInAnotherCall = "CalleeIsInAnotherCall",
    PlaceIsNotVoiceEnabled = "PlaceIsNotVoiceEnabled",
    UniverseIsNotVoiceEnabled = "UniverseIsNotVoiceEnabled",
    CallerIsNotVoiceEnabled = "CallerIsNotVoiceEnabled",
    UniverseAgeIsNotValid = "UniverseAgeIsNotValid",
    ReservedServerAccessCodeIsNotProvided = "ReservedServerAccessCodeIsNotProvided"
};


return {
    NoAction = "",
    Block = "Block",
    Unfriend = "Unfriend"
};


return {
    CallHistory = "CallHistory",
    FriendList = "FriendList"
};


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_RobloxReplicatedStorage_0 = game:GetService("RobloxReplicatedStorage");
local l_FaceAnimatorService_0 = game:GetService("FaceAnimatorService");
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v5 = nil;
local v6 = require(l_CorePackages_0.Packages.React);
local l_Sounds_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).Sounds;
local l_SoundGroups_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundGroups;
local l_SoundManager_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundManager;
local l_ContactList_0 = l_RobloxGui_0.Modules.ContactList;
local l_dependencyArray_0 = require(l_ContactList_0.dependencies).Hooks.dependencyArray;
local v12 = require(l_ContactList_0.Analytics.useAnalytics);
local v13 = require(l_ContactList_0.Analytics.EventNamesEnum);
local _ = require(l_ContactList_0.Enums.Pages);
return function(v15, v16, v17, v18, v19)
    local v20 = v12();
    return v6.useCallback(function()
        l_SoundManager_0:PlaySound(l_Sounds_0.Select.Name, {
            Volume = 0.5
        }, l_SoundGroups_0.Iris);
        if v5 == nil then
            v5 = require(l_RobloxGui_0.Modules.VoiceChat.VoiceChatServiceManager).default;
        end;
        local v21 = not (v5.localMuted ~= nil) or v5.localMuted;
        local v22 = not not l_FaceAnimatorService_0:IsStarted() and l_FaceAnimatorService_0.VideoAnimationEnabled;
        v20.fireEvent(v13.PhoneBookCallFriendClicked, {
            eventTimestampMs = os.time() * 1000,
            friendUserId = tonumber(v16),
            searchQueryString = v19.searchQueryString,
            itemListIndex = v19.itemListIndex,
            isSuggestedUser = v19.isSuggestedUser,
            page = tostring(v19.page)
        });
        coroutine.wrap(function()
            l_RobloxReplicatedStorage_0:WaitForChild("ContactListInvokeIrisInvite", math.huge):FireServer(v15, tonumber(v16), v17, v21, v22);
        end)();
        v18();
    end, l_dependencyArray_0(v15, v16, v17, v18, v19));
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
return require(l_CorePackages_0.Rodux).createReducer({
    isOpen = false,
    title = "",
    bodyText = "",
    dismissCallback = nil
}, {
    [require(script.Parent.Parent.Actions.OpenOrUpdateDialog).name] = function(v2, v3)
        return v1.Dictionary.join(v2, {
            isOpen = true,
            title = v3.title,
            bodyText = v3.bodyText,
            dismissCallback = v3.dismissCallback
        });
    end,
    [require(script.Parent.Parent.Actions.CloseDialog).name] = function(v4, _)
        return v1.Dictionary.join(v4, {
            isOpen = false,
            title = "",
            bodyText = "",
            dismissCallback = v1.None
        });
    end
});


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
return require(l_CorePackages_0.Rodux).createReducer({
    lastRemovedFriendId = ""
}, {
    [require(script.Parent.Parent.Actions.UpdateLastFriend).name] = function(v2, v3)
        return v1.Dictionary.join(v2, {
            lastRemovedFriendId = tostring(v3.lastRemovedFriendId) .. tostring(DateTime.now())
        });
    end
});


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
local v2 = require(l_CorePackages_0.Rodux);
local _ = require(script.Parent.Parent.Enums.Pages);
return v2.createReducer({
    currentPage = nil,
    currentTag = ""
}, {
    [require(script.Parent.Parent.Actions.SetCurrentPage).name] = function(v4, v5)
        return v1.Dictionary.join(v4, {
            currentPage = if v5.page == nil then v1.None else v5.page
        });
    end,
    [require(script.Parent.Parent.Actions.SetCurrentTag).name] = function(v6, v7)
        return v1.Dictionary.join(v6, {
            currentTag = v7.tag
        });
    end
});


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
return require(l_CorePackages_0.Rodux).createReducer({
    isOpen = false,
    friend = {
        userId = nil,
        combinedName = "",
        userName = ""
    }
}, {
    [require(script.Parent.Parent.Actions.OpenOrUpdateCFM).name] = function(v2, v3)
        if not v3.friend or not v3.friend.combinedName then
            return {
                isOpen = false,
                friend = {
                    userId = nil,
                    combinedName = "",
                    userName = ""
                }
            };
        else
            return v1.Dictionary.join(v2, {
                isOpen = true,
                friend = v3.friend
            });
        end;
    end,
    [require(script.Parent.Parent.Actions.CloseCFM).name] = function(_, _)
        return {
            isOpen = false,
            friend = {
                userId = nil,
                combinedName = "",
                userName = ""
            }
        };
    end
});


local l_CoreGui_0 = game:GetService("CoreGui");
local v1 = require(game:GetService("CorePackages").Rodux);
local v2 = require(l_CoreGui_0:WaitForChild("RobloxGui").Modules.ContactList.dependencies);
return (v1.combineReducers({
    Navigation = require(script.Navigation),
    Dialog = require(script.Dialog),
    PlayerMenu = require(script.PlayerMenu),
    LastRemovedFriend = require(script.LastRemovedFriend),
    Call = v2.RoduxCall.installReducer(),
    Friends = v2.RoduxFriends.installReducer(),
    Presence = v2.RoduxPresence.installReducer(),
    Users = v2.RoduxUsers.installReducer(),
    NetworkStatus = v2.RoduxNetworking.installReducer()
}));


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_LocalizationService_0 = game:GetService("LocalizationService");
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local l_GetFFlagIrisUseLocalizationProvider_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagIrisUseLocalizationProvider;
local v5 = require(script.Parent.Common.renderWithCoreScriptsStyleProvider);
local v6 = require(l_CorePackages_0.Packages.React);
local v7 = require(l_CorePackages_0.Packages.Rodux);
local v8 = require(l_CorePackages_0.Roact);
local v9 = require(l_CorePackages_0.RoactRodux);
local v10 = require(l_CorePackages_0.Workspace.Packages.CallProtocol);
local v11 = nil;
local v12 = nil;
if l_GetFFlagIrisUseLocalizationProvider_0() then
    v11 = require(l_CorePackages_0.Workspace.Packages.InExperienceLocales).Localization;
    v12 = require(l_CorePackages_0.Workspace.Packages.Localization).LocalizationProvider;
end;
local l_ApolloProvider_0 = require(l_CorePackages_0.Packages.ApolloClient).ApolloProvider;
local v14 = require(l_RobloxGui_0.Modules.ApolloClient);
local v15 = require(script.initCall);
local v16 = require(script.Reducer);
local v17 = require(script.Components.ContactListApp);
local v18 = require(script.Context);
local v19 = require(script.Analytics);
local v20 = {};
v20.__index = v20;
v20.new = function()
    local v21 = setmetatable({}, v20);
    local v22 = {
        fireAnalyticsEvent = v19.Analytics().fireAnalyticsEvent
    };
    v15(v10.CallProtocol.default);
    local function v24(v23)
        if not l_GetFFlagIrisUseLocalizationProvider_0() then
            return v23;
        else
            return v6.createElement(v12, {
                localization = v11.new(l_LocalizationService_0.RobloxLocaleId)
            }, {
                v23
            });
        end;
    end;
    v21.store = v7.Store.new(v16, nil, {
        v7.thunkMiddleware
    });
    v21.root = v6.createElement("ScreenGui", {
        AutoLocalize = false,
        DisplayOrder = -1,
        IgnoreGuiInset = true,
        ZIndexBehavior = Enum.ZIndexBehavior.Sibling
    }, {
        Content = v6.createElement(v9.StoreProvider, {
            store = v21.store
        }, {
            ThemeProvider = v5({
                ApolloProvider = v6.createElement(l_ApolloProvider_0, {
                    client = v14
                }, {
                    ContextProvider = v8.createElement(v18.Provider, {
                        value = v22
                    }, {
                        ContactListApp = v24(v6.createElement(v17))
                    })
                })
            })
        })
    });
    v21.element = v8.mount(v21.root, l_CoreGui_0, "ContactList");
    return v21;
end;
return v20.new();


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_FaceAnimatorService_0 = game:GetService("FaceAnimatorService");
local l_Players_0 = game:GetService("Players");
local l_RobloxReplicatedStorage_0 = game:GetService("RobloxReplicatedStorage");
local l_default_0 = require(l_CoreGui_0.RobloxGui.Modules.VoiceChat.VoiceChatServiceManager).default;
local _ = require(l_CorePackages_0.Workspace.Packages.CallProtocol);
local v7 = require(script.Parent.dependencies);
local l_RoduxCall_0 = v7.RoduxCall;
local l_CallAction_0 = l_RoduxCall_0.Enums.CallAction;
local l_teleportToRootPlace_0 = v7.teleportToRootPlace;
local v11 = nil;
local v12 = nil;
local v13 = nil;
local v14 = nil;
local v15 = nil;
local v16 = nil;
return function(v17)
    local function _(v18)
        coroutine.wrap(function()
            l_RobloxReplicatedStorage_0:WaitForChild("UpdateCurrentCall", math.huge):FireServer(v18);
        end)();
    end;
    v17:getCallState():andThen(function(v20)
        if not (not (not (v20.status == l_RoduxCall_0.Enums.Status.Teleporting) or not l_Players_0.LocalPlayer) and v20.callerId == l_Players_0.LocalPlayer.UserId) or not v20.callId then
            if not (not (not (not (v20.status == l_RoduxCall_0.Enums.Status.Accepting) or not l_Players_0.LocalPlayer) and v20.calleeId == l_Players_0.LocalPlayer.UserId) or not v20.callId) then
                if v20.instanceId == game.JobId then
                    v17:answerSuccessCall(v20.callId);
                    return ;
                else
                    v17:rejectCall(v20.callId);
                end;
            end;
            return ;
        elseif v20.instanceId == game.JobId then
            v17:teleportSuccessCall(v20.callId);
            return ;
        else
            v17:finishCall(v20.callId);
            return ;
        end;
    end);
    l_FaceAnimatorService_0:GetPropertyChangedSignal("VideoAnimationEnabled"):Connect(function()
        v17:updateMicAndCamState(nil, l_FaceAnimatorService_0.VideoAnimationEnabled);
    end);
    l_default_0.muteChanged.Event:Connect(function(v21)
        local v22 = l_default_0:getService();
        if (v22 and v22.VoiceChatState ~= Enum.VoiceChatState.Leaving) and v22.VoiceChatState ~= Enum.VoiceChatState.Ended then
            v17:updateMicAndCamState(v21, nil);
        end;
    end);
    v11 = v17:listenToHandleMicAndCamChanged(function(v23)
        local v24 = l_default_0:getService();
        if (((v24 and v24.VoiceChatState == Enum.VoiceChatState.Joined) and l_default_0.localMuted ~= nil) and v23.muted ~= nil) and v23.muted ~= l_default_0.localMuted then
            l_default_0:ToggleMic("CallAPI");
        end;
        if (l_FaceAnimatorService_0:IsStarted() and l_FaceAnimatorService_0.VideoAnimationEnabled ~= v23.camEnabled) and v23.camEnabled ~= nil then
            l_FaceAnimatorService_0.VideoAnimationEnabled = v23.camEnabled;
        end;
    end);
    v12 = v17:listenToHandleTeleportingCall(function(v25)
        if not ((not (v25.status == l_RoduxCall_0.Enums.Status.Teleporting) or not l_Players_0.LocalPlayer) or not v25.callId) and v25.callerId == l_Players_0.LocalPlayer.UserId then
            coroutine.wrap(function()
                if v25.instanceId == game.JobId then
                    v17:teleportSuccessCall(v25.callId);
                    return ;
                else
                    l_RobloxReplicatedStorage_0:WaitForChild("ContactListIrisInviteTeleport", math.huge):FireServer(v25.placeId, v25.instanceId, v25.reservedServerAccessCode);
                    return ;
                end;
            end)();
        end;
    end);
    v13 = v17:listenToHandleTransferCallTeleportJoin(function(v26)
        local v27 = {
            callId = v26.callId,
            participants = {
                tostring(v26.callerId),
                (tostring(v26.calleeId))
            }
        };
        coroutine.wrap(function()
            l_RobloxReplicatedStorage_0:WaitForChild("UpdateCurrentCall", math.huge):FireServer(v27);
        end)();
    end);
    v14 = v17:listenToHandleTransferCallTeleportLeave(function(_)
        local l_wrap_0 = coroutine.wrap;
        local v30 = nil;
        l_wrap_0(function()
            l_RobloxReplicatedStorage_0:WaitForChild("UpdateCurrentCall", math.huge):FireServer(v30);
        end)();
    end);
    v15 = v17:listenToHandleActiveCall(function(v31)
        local v32 = {
            callId = v31.callId,
            participants = {
                tostring(v31.callerId),
                (tostring(v31.calleeId))
            }
        };
        coroutine.wrap(function()
            l_RobloxReplicatedStorage_0:WaitForChild("UpdateCurrentCall", math.huge):FireServer(v32);
        end)();
    end);
    v16 = v17:listenToHandleEndCall(function(v33)
        local l_wrap_1 = coroutine.wrap;
        local v35 = nil;
        l_wrap_1(function()
            l_RobloxReplicatedStorage_0:WaitForChild("UpdateCurrentCall", math.huge):FireServer(v35);
        end)();
        if v33.callAction == l_CallAction_0.Finish and game.JobId == v33.instanceId then
            l_teleportToRootPlace_0();
        end;
    end);
end;


return function(v0, v1)
    local v2 = game:SetFastFlagForTesting(v0, true);
    local l_status_0, l_result_0 = pcall(v1);
    game:SetFastFlagForTesting(v0, v2);
    assert(l_status_0, (tostring(l_result_0)));
end;


local l_HttpService_0 = game:GetService("HttpService");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local _ = l_CoreGui_0.RobloxGui.Modules;
local v4 = require(l_CorePackages_0.Roact);
local v5 = require(l_CorePackages_0.Rodux);
local v6 = require(l_CorePackages_0.RoactRodux);
local v7 = require(l_CorePackages_0.Packages.UIBlox);
local l_AppStyleProvider_0 = v7.App.Style.AppStyleProvider;
local l_Constants_0 = v7.App.Style.Constants;
local function v10(v11, v12)
    v12 = v12 or "";
    if v11 == nil then
        print(v12 .. "[nil Instance]");
        return ;
    else
        print(v12 .. v11.Name);
        v12 = v12 .. "  ";
        for _, v14 in ipairs(v11:GetChildren()) do
            v10(v14, v12);
        end;
        return ;
    end;
end;
return function(v15, v16, v17, v18, v19)
    local v20 = v4.createElement("ScreenGui", {
        ZIndexBehavior = Enum.ZIndexBehavior.Sibling
    }, {
        [tostring(v16)] = v4.createElement(v6.StoreProvider, {
            store = v5.Store.new(v17, v18 or {}, {
                v5.thunkMiddleware
            })
        }, {
            AppStyleProvider = v4.createElement(l_AppStyleProvider_0, {
                style = {
                    themeName = l_Constants_0.ThemeName.Dark,
                    fontName = l_Constants_0.FontName.Gotham
                }
            }, {
                Root = v4.createElement(v16, v19 or {})
            })
        })
    });
    local v21 = "Test-" .. l_HttpService_0:GenerateGUID(false);
    local v22 = v4.mount(v20, l_CoreGui_0, v21);
    local v23 = ("game.CoreGui.%s.*"):format(v21);
    local l_status_0, l_result_0 = pcall(function()
        v15(v23);
    end);
    if not l_status_0 then
        print("Test instance tree:\n");
        v10(l_CoreGui_0:FindFirstChild(v21));
        print();
    end;
    v4.unmount(v22);
    if not l_status_0 then
        error(l_result_0);
    end;
end;


return {
    PageAnimationDuration = 0.5,
    OpenMoreMenuAnimationDuration = 0.5,
    CloseMoreMenuAnimationDuration = 1
};


local v0 = {};
local v1 = game:DefineFastInt("WaitForChildOfClassTimeout", 0);
if v1 > 0 then
    v0.waitForChildOfClass = function(v2, v3)
        local l_v2_FirstChildOfClass_0 = v2:FindFirstChildOfClass(v3);
        local v5 = tick() + v1;
        while not l_v2_FirstChildOfClass_0 and tick() < v5 do
            task.wait();
            l_v2_FirstChildOfClass_0 = v2:FindFirstChildOfClass(v3);
        end;
        return l_v2_FirstChildOfClass_0;
    end;
else
    v0.waitForChildOfClass = function(v6, v7)
        local l_v6_FirstChildOfClass_0 = v6:FindFirstChildOfClass(v7);
        while not l_v6_FirstChildOfClass_0 or l_v6_FirstChildOfClass_0.ClassName ~= v7 do
            l_v6_FirstChildOfClass_0 = v6.ChildAdded:Wait();
        end;
        return l_v6_FirstChildOfClass_0;
    end;
end;
v0.waitForChildWhichIsA = function(v9, v10)
    local l_v9_FirstChildWhichIsA_0 = v9:FindFirstChildWhichIsA(v10);
    while not (l_v9_FirstChildWhichIsA_0 and l_v9_FirstChildWhichIsA_0:IsA(v10)) do
        l_v9_FirstChildWhichIsA_0 = v9.ChildAdded:Wait();
    end;
    return l_v9_FirstChildWhichIsA_0;
end;
return v0;


return require(script.Parent.Parent.Action)("ActionBindingsUpdateSearchFilter", function(v0)
    return {
        searchTerm = v0
    };
end);


return require(script.Parent.Parent.Action)("ChangeDevConsoleSize", function(v0)
    return {
        newSize = v0
    };
end);


return require(script.Parent.Parent.Action)("ClientLogUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("ClientMemoryUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("ClientNetworkUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("ClientScriptsUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("DataStoresUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("DebugVisualizationsUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("ServerJobsUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("ServerLogUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("ServerMemoryUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("ServerNetworkUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("ServerScriptsUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("ServerStatsUpdateSearchFilter", function(v0, v1)
    return {
        searchTerm = v0,
        filterTypes = v1
    };
end);


return require(script.Parent.Parent.Action)("SetActiveTab", function(v0, v1)
    return {
        newTabIndex = v0,
        isClientView = v1
    };
end);


return require(script.Parent.Parent.Action)("SetDevConsoleMinimized", function(v0)
    return {
        isMinimized = v0
    };
end);


return require(script.Parent.Parent.Action)("SetDevConsolePosition", function(v0)
    return {
        position = v0
    };
end);


return require(script.Parent.Parent.Action)("SetDevConsoleVisibility", function(v0)
    return {
        isVisible = v0
    };
end);


return require(script.Parent.Parent.Action)(script.Name, function(v0)
    return {
        active = v0
    };
end);


return require(script.Parent.Parent.Action)(script.Name, function(v0)
    return {
        compare = v0
    };
end);


return require(script.Parent.Parent.Action)(script.Name, function(v0)
    return {
        isClientView = v0
    };
end);


local v0 = require(script.Parent.Parent.Action);
local _ = require(script.Parent.Parent.Components.LuauHeap.LuauHeapTypes);
return v0(script.Name, function(v2, v3)
    return {
        isClientState = v2,
        sessionState = v3
    };
end);


return require(script.Parent.Parent.Action)(script.Name, function(v0, v1)
    return {
        waitingForRecording = v0,
        lastFileOutputLocation = v1 or ""
    };
end);


return require(script.Parent.Parent.Action)(script.Name, function(v0, v1, v2)
    return {
        rootNode = v0,
        rootFunc = v1,
        rootNodeName = v2
    };
end);