local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_withLocalization_0 = v1.withLocalization;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local l_t_0 = v1.t;
local v7 = require(l_Parent_0.Components.ProfileSocialCircleItem);
local v8 = require(l_Parent_0.Common.ProfileScreens);
local v9 = require(l_Parent_0.Common.ContextPropsTypes);
local v10 = require(l_Parent_0.Common.TextKeys);
local v11 = require(l_Parent_0.Analytics.ButtonClickEvents);
local l_IsVRAppBuild_0 = v1.IsVRAppBuild;
local v13 = l_Roact_0.PureComponent:extend("ProfileSocialCircle");
v13.validateProps = l_t_0.strictInterface({
    profileUserId = l_t_0.string,
    localUserId = l_t_0.string,
    friendsCount = l_t_0.number,
    followersCount = l_t_0.number,
    followingsCount = l_t_0.number,
    layoutOrder = l_t_0.optional(l_t_0.number),
    analytics = l_t_0.table,
    navigateToLuaAppPages = v9.validateNavigateToLuaAppPages
});
v13.init = function(v14)
    local l_props_0 = v14.props;
    v14.openViewUserFriends = function()
        l_props_0.analytics:buttonClick(v11.Friends);
        l_props_0.navigateToLuaAppPages[v8.ViewUserFriends](l_props_0.profileUserId, {
            localUserId = l_props_0.localUserId,
            startTime = os.clock()
        });
    end;
    v14.openViewUserFollowing = function()
        l_props_0.analytics:buttonClick(v11.Following);
        l_props_0.navigateToLuaAppPages[v8.ViewUserFollowing](l_props_0.profileUserId);
    end;
    v14.openViewUserFollowers = function()
        l_props_0.analytics:buttonClick(v11.Followers);
        l_props_0.navigateToLuaAppPages[v8.ViewUserFollowers](l_props_0.profileUserId);
    end;
end;
v13.render = function(v16)
    local l_props_1 = v16.props;
    return l_withStyle_0(function(_)
        return l_withLocalization_0({
            friendText = v10.Friend,
            friendsText = v10.Friends,
            followingsText = v10.Following,
            followerText = v10.Follower,
            followersText = v10.Followers
        })(function(v19)
            return l_Roact_0.createElement("Frame", {
                Position = UDim2.new(0, 0, 0, 0),
                Size = UDim2.new(1, 0, 0, 0),
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                LayoutOrder = l_props_1.layoutOrder
            }, {
                ListLayout = l_Roact_0.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    HorizontalAlignment = Enum.HorizontalAlignment.Left,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    VerticalAlignment = Enum.VerticalAlignment.Center
                }),
                FriendCountItem = l_Roact_0.createElement(v7, {
                    count = l_props_1.friendsCount,
                    text = l_props_1.friendsCount == 1 and v19.friendText or v19.friendsText,
                    layoutOrder = 1,
                    onActivated = if not l_IsVRAppBuild_0() then v16.openViewUserFriends else nil
                }),
                FollowersCountItem = l_Roact_0.createElement(v7, {
                    count = l_props_1.followersCount,
                    text = l_props_1.followersCount == 1 and v19.followerText or v19.followersText,
                    layoutOrder = 2,
                    onActivated = if not l_IsVRAppBuild_0() then v16.openViewUserFollowers else nil
                }),
                FollowingCountItem = l_Roact_0.createElement(v7, {
                    count = l_props_1.followingsCount,
                    text = v19.followingsText,
                    layoutOrder = 3,
                    onActivated = if not l_IsVRAppBuild_0() then v16.openViewUserFollowing else nil
                })
            });
        end);
    end);
end;
return v13;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_t_0 = v1.t;
local v4 = require(script.Parent.ProfileSocialCircle);
local v5 = require(l_Parent_0.ProfileContext);
local v6 = require(l_Parent_0.Common.ContextPropsTypes);
local l_RoactRodux_0 = v1.RoactRodux;
local l_SocialLibraries_0 = v1.SocialLibraries;
local l_compose_0 = l_SocialLibraries_0.RoduxTools.compose;
local l_getDeepValue_0 = l_SocialLibraries_0.Dictionary.getDeepValue;
local v11 = require(l_Parent_0.Analytics);
local v12 = l_Roact_0.PureComponent:extend("ProfileSocialCircleContainer");
local function v16(v13, v14)
    local v15 = v14.profileUserId or "";
    return {
        friendsCount = l_getDeepValue_0(v13, string.format("Profile.FriendsCount.%s", v15)) or 0,
        followersCount = l_getDeepValue_0(v13, string.format("Profile.FollowersCount.%s", v15)) or 0,
        followingsCount = l_getDeepValue_0(v13, string.format("Profile.FollowingsCount.%s", v15)) or 0
    };
end;
v12.validateProps = l_t_0.strictInterface({
    profileUserId = l_t_0.string,
    localUserId = l_t_0.string,
    friendsCount = l_t_0.number,
    followersCount = l_t_0.number,
    followingsCount = l_t_0.number,
    analytics = l_t_0.table,
    layoutOrder = l_t_0.optional(l_t_0.number),
    navigateToLuaAppPages = v6.validateNavigateToLuaAppPages
});
v12.render = function(v17)
    local l_props_0 = v17.props;
    return l_Roact_0.createElement(v4, {
        friendsCount = l_props_0.friendsCount,
        followersCount = l_props_0.followersCount,
        followingsCount = l_props_0.followingsCount,
        navigateToLuaAppPages = l_props_0.navigateToLuaAppPages,
        localUserId = l_props_0.localUserId,
        profileUserId = l_props_0.profileUserId,
        layoutOrder = l_props_0.layoutOrder,
        analytics = l_props_0.analytics
    });
end;
return {
    Container = l_compose_0(l_RoactRodux_0.connect(v16, nil), v5.connect(function(v19)
        return {
            navigateToLuaAppPages = v19.navigateToLuaAppPages,
            localUserId = v19.localUserId
        };
    end), v11.connect(function(v20)
        return {
            analytics = v20
        };
    end))(v12),
    mapStateToProps = v16
};


local v0 = require(script.Parent.Parent.Parent.dependencies);
local l_Roact_0 = v0.Roact;
local l_withStyle_0 = v0.UIBlox.Style.withStyle;
local l_t_0 = v0.t;
local l_abbreviateCount_0 = v0.abbreviateCount;
local v5 = l_Roact_0.PureComponent:extend("ProfileSocialCircleItem");
v5.validateProps = l_t_0.strictInterface({
    count = l_t_0.number,
    text = l_t_0.string,
    layoutOrder = l_t_0.number,
    onActivated = l_t_0.optional(l_t_0.callback)
});
v5.render = function(v6)
    return l_withStyle_0(function(v7)
        local l_Theme_0 = v7.Theme;
        local l_Font_0 = v7.Font;
        local l_text_0 = v6.props.text;
        local v11 = l_Font_0.BaseSize * l_Font_0.Header1.RelativeSize;
        local v12 = l_Font_0.BaseSize * l_Font_0.CaptionHeader.RelativeSize;
        local l_count_0 = v6.props.count;
        local v14 = l_count_0 ~= 0;
        local v15 = not not v14 and l_Theme_0.TextEmphasis.Color or l_Theme_0.TextMuted.Color;
        local v16 = not not v14 and l_Theme_0.TextEmphasis.Transparency or l_Theme_0.TextMuted.Transparency;
        return l_Roact_0.createElement("ImageButton", {
            Size = UDim2.new(0.3333333333333333, 0, 0, 44),
            BackgroundTransparency = 1,
            AutomaticSize = Enum.AutomaticSize.Y,
            Image = "",
            [l_Roact_0.Event.Activated] = v6.props.onActivated,
            LayoutOrder = v6.props.layoutOrder,
            Active = v14
        }, {
            VerticalLayout = l_Roact_0.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                FillDirection = Enum.FillDirection.Vertical,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                Padding = UDim.new(0, 4)
            }),
            Count = l_Roact_0.createElement("TextLabel", {
                Size = UDim2.new(1, 0, 0, 0),
                BackgroundTransparency = 1,
                Font = l_Font_0.Header1.Font,
                Text = l_abbreviateCount_0(l_count_0),
                TextSize = v11,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextColor3 = v15,
                TextTransparency = v16,
                AutomaticSize = Enum.AutomaticSize.Y,
                TextWrapped = true,
                LayoutOrder = 1
            }),
            Label = l_Roact_0.createElement("TextLabel", {
                Size = UDim2.new(1, 0, 0, 0),
                BackgroundTransparency = 1,
                Font = l_Font_0.CaptionHeader.Font,
                Text = l_text_0,
                TextSize = v12,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextColor3 = v15,
                TextTransparency = v16,
                AutomaticSize = Enum.AutomaticSize.Y,
                TextWrapped = true,
                LayoutOrder = 2
            })
        });
    end);
end;
return v5;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_RoactRodux_0 = v1.RoactRodux;
local l_UIBlox_0 = v1.UIBlox;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local l_t_0 = v1.t;
local v9 = require(l_Parent_0.Common.Constants);
local v10 = l_Images_0["icons/navigation/close"];
local v11 = l_Images_0["icons/navigation/pushBack"];
local v12 = l_Roact_0.PureComponent:extend("ProfileTopBar");
v12.validateProps = l_t_0.strictInterface({
    navigateBack = l_t_0.callback,
    statusBarHeight = l_t_0.number,
    showCloseIcon = l_t_0.boolean
});
v12.init = function(v13)
    local l_props_0 = v13.props;
    v13.onNavigationButtonActivated = function()
        if v13.isMounted then
            l_props_0.navigateBack();
        end;
    end;
end;
v12.didMount = function(v15)
    v15.isMounted = true;
end;
v12.willUnmount = function(v16)
    v16.isMounted = false;
end;
v12.render = function(v17)
    return l_withStyle_0(function(v18)
        return v17:renderWithProviders(v18);
    end);
end;
v12.renderWithProviders = function(v19, v20)
    local l_props_1 = v19.props;
    local l_statusBarHeight_0 = l_props_1.statusBarHeight;
    return l_Roact_0.createElement("Frame", {
        Position = UDim2.new(0, 0, 0, 0),
        Size = UDim2.new(1, 0, 0, l_statusBarHeight_0 + v9.NavBarHeight),
        BackgroundTransparency = 0,
        Active = true,
        BackgroundColor3 = v20.Theme.BackgroundDefault.Color,
        BorderSizePixel = 0
    }, {
        LeftNavigationButton = l_Roact_0.createElement("TextButton", {
            Position = UDim2.new(0, 15, 0, l_statusBarHeight_0),
            Size = UDim2.new(0, 36, 0, 36),
            BackgroundTransparency = 1,
            Text = "",
            [l_Roact_0.Event.Activated] = v19.onNavigationButtonActivated
        }, {
            CloseButtonImage = l_Roact_0.createElement(l_ImageSetLabel_0, {
                Size = UDim2.new(0, 36, 0, 36),
                Position = UDim2.new(0.5, 0, 0.5, 0),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Image = not not l_props_1.showCloseIcon and v10 or v11,
                ImageColor3 = v20.Theme.SystemPrimaryDefault.Color,
                ImageTransparency = v20.Theme.SystemPrimaryDefault.Transparency,
                BackgroundTransparency = 1
            })
        })
    });
end;
return (l_RoactRodux_0.connect(function(v23, _)
    return {
        statusBarHeight = v23.TopBar.statusBarHeight
    };
end, nil)(v12));


local l_TextService_0 = game:GetService("TextService");
local l_Parent_0 = script.Parent.Parent.Parent;
local v2 = require(l_Parent_0.dependencies);
local l_Roact_0 = v2.Roact;
local l_SocialCommon_0 = v2.SocialCommon;
local l_VerifiedBadges_0 = v2.VerifiedBadges;
local l_InvisibleMode_0 = v2.InvisibleMode;
local l_ContextualInfoTypes_0 = l_SocialCommon_0.Enums.ContextualInfoTypes;
local l_UIBlox_0 = v2.UIBlox;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_Interactable_0 = l_UIBlox_0.Core.Control.Interactable;
local _ = require(l_Parent_0.Common.ContextPropsTypes);
local v14 = require(l_Parent_0.Components.ProfileNonFriendContextualInfo);
local v15 = require(l_Parent_0.Components.ProfileFriendContextualInfo);
local v16 = require(l_Parent_0.Components.ProfileUserDetailsNames);
local v17 = require(l_Parent_0.Components.MutualFriendsList);
local l_SelfPresenceStatusIndicatorContainer_0 = l_InvisibleMode_0.Components.SelfPresenceStatusIndicatorContainer;
local l_FFlagInvisibleModeEnabledForAll_0 = l_InvisibleMode_0.Flags.FFlagInvisibleModeEnabledForAll;
local v20 = l_Roact_0.PureComponent:extend("ProfileUserDetails");
v20.defaultProps = {
    padding = 24
};
v20.render = function(v21)
    return l_withStyle_0(function(v22)
        return v21:renderWithProviders(v22);
    end);
end;
v20.renderWithProviders = function(v23, v24)
    local l_props_0 = v23.props;
    local l_Theme_0 = v24.Theme;
    local l_Font_0 = v24.Font;
    local v28 = l_Font_0.BaseSize * l_Font_0.Header1.RelativeSize;
    local l_Font_1 = l_Font_0.Header1.Font;
    local l_Font_2 = l_Font_0.CaptionBody.Font;
    local v31 = l_Font_0.BaseSize * l_Font_0.CaptionBody.RelativeSize;
    local v32 = l_Font_0.BaseSize * l_Font_0.CaptionHeader.RelativeSize;
    local l_Font_3 = l_Font_0.CaptionHeader.Font;
    local v34 = not not l_props_0.alias and l_TextService_0:GetTextSize(l_props_0.alias, v31, l_Font_2, Vector2.new(10000, 10000)).X or 0;
    local l_invisibleModeEnabled_0 = l_props_0.invisibleModeEnabled;
    if l_FFlagInvisibleModeEnabledForAll_0 then
        l_invisibleModeEnabled_0 = true;
    end;
    local v36 = l_props_0.isLocalUser and l_invisibleModeEnabled_0;
    local v37 = "@" .. l_props_0.username;
    local l_displayName_0 = l_props_0.displayName;
    local l_alias_0 = l_props_0.alias;
    if not l_props_0.hasVerifiedBadge then
        if l_props_0.hasPremiumMembership then
            l_displayName_0 = l_displayName_0 .. l_VerifiedBadges_0.emoji.premium;
        end;
    else
        l_displayName_0 = l_displayName_0 .. l_VerifiedBadges_0.emoji.verified;
    end;
    return l_Roact_0.createElement("Frame", {
        Position = UDim2.new(0, 0, 0.9, 0),
        Size = UDim2.new(1, 0, 0, 0),
        AnchorPoint = Vector2.new(0, 1),
        AutomaticSize = Enum.AutomaticSize.Y,
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        LayoutOrder = l_props_0.layoutOrder,
        ZIndex = l_props_0.zIndex
    }, {
        PagePadding = l_Roact_0.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, l_props_0.padding),
            PaddingRight = UDim.new(0, l_props_0.padding),
            PaddingTop = UDim.new(0, 0),
            PaddingBottom = UDim.new(0, 12)
        }),
        ListLayout = l_Roact_0.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            SortOrder = Enum.SortOrder.LayoutOrder,
            Padding = UDim.new(0, 4)
        }),
        UserNameContainer = l_Roact_0.createElement("Frame", {
            Size = UDim2.new(1, 0, 0, 0),
            BackgroundTransparency = 1,
            LayoutOrder = 1,
            AutomaticSize = Enum.AutomaticSize.Y
        }, {
            ListLayout = l_Roact_0.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder,
                Padding = UDim.new(0, 0)
            }),
            UsernameFrame = if not l_props_0.uplevelAliasEnabled then l_Roact_0.createElement("TextLabel", {
                Size = UDim2.new(1, 0, 0, 0),
                BackgroundTransparency = 1,
                Font = l_Font_1,
                Text = l_displayName_0,
                TextSize = v28,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextColor3 = l_Theme_0.TextEmphasis.Color,
                AutomaticSize = Enum.AutomaticSize.Y,
                TextTruncate = Enum.TextTruncate.AtEnd,
                TextWrapped = true,
                LayoutOrder = 2
            }, {
                l_Roact_0.createElement("UISizeConstraint", {
                    MaxSize = Vector2.new(math.huge, v28 * 2)
                })
            }) else l_Roact_0.createElement(v16, {
                profileUserId = l_props_0.profileUserId,
                primaryNameActivated = l_props_0.aliasActivated,
                isLocalUser = l_props_0.isLocalUser
            }),
            UserName = if not l_props_0.uplevelAliasEnabled then l_Roact_0.createElement("TextLabel", {
                Size = UDim2.new(1, 0, 0, 0),
                BackgroundTransparency = 1,
                Font = l_Font_3,
                Text = v37,
                TextSize = v32,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextColor3 = l_Theme_0.TextDefault.Color,
                AutomaticSize = Enum.AutomaticSize.Y,
                LayoutOrder = 3
            }) else nil
        }),
        AliasFrame = if not l_props_0.uplevelAliasEnabled and l_alias_0 then l_Roact_0.createElement("Frame", {
            Size = UDim2.new(1, 0, 0, 0),
            BackgroundTransparency = 1,
            LayoutOrder = 4,
            AutomaticSize = Enum.AutomaticSize.Y
        }, {
            l_Roact_0.createElement(l_Interactable_0, {
                Size = UDim2.new(0, 20 + v34, 0, 0),
                BackgroundTransparency = 1,
                AutomaticSize = Enum.AutomaticSize.Y,
                onStateChanged = function()
                end,
                [l_Roact_0.Event.Activated] = l_props_0.aliasActivated
            }, {
                PagePadding = l_Roact_0.createElement("UIPadding", {
                    PaddingTop = UDim.new(0, 6)
                }),
                HorizontalLayout = l_Roact_0.createElement("UIListLayout", {
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    FillDirection = Enum.FillDirection.Horizontal,
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    Padding = UDim.new(0, 4)
                }),
                AliasIcon = l_Roact_0.createElement(l_ImageSetLabel_0, {
                    Size = UDim2.new(0, 16, 0, 16),
                    Image = l_Images_0["icons/actions/edit/edit_small"],
                    ImageColor3 = v24.Theme.IconDefault.Color,
                    ImageTransparency = v24.Theme.IconDefault.Transparency,
                    BackgroundTransparency = 1,
                    BorderSizePixel = 0,
                    LayoutOrder = 1
                }),
                Alias = l_Roact_0.createElement("TextLabel", {
                    Size = UDim2.new(1, 0, 0, 0),
                    BackgroundTransparency = 1,
                    Font = l_Font_2,
                    Text = l_alias_0,
                    TextSize = v31,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextColor3 = l_Theme_0.TextDefault.Color,
                    AutomaticSize = Enum.AutomaticSize.Y,
                    TextTruncate = Enum.TextTruncate.AtEnd,
                    TextWrapped = true,
                    LayoutOrder = 2
                }, {
                    l_Roact_0.createElement("UISizeConstraint", {
                        MaxSize = Vector2.new(math.huge, v31 * 2)
                    })
                })
            })
        }) else nil,
        ContextualInfo = if l_props_0.contextualInfoType == l_ContextualInfoTypes_0.MutualFriends and l_props_0.mutualFriendsListEnabled then nil else l_Roact_0.createElement(l_props_0.friendshipStatus == Enum.FriendStatus.Friend and v15 or v14, {
            layoutOrder = 5,
            profileUserId = l_props_0.profileUserId
        }),
        MutualFriendsList = if l_props_0.contextualInfoType == l_ContextualInfoTypes_0.MutualFriends and l_props_0.mutualFriendsListEnabled then l_Roact_0.createElement(v17, {
            layoutOrder = 5,
            profileUserId = l_props_0.profileUserId
        }) else nil,
        SelfPresenceStatusIndicator = if not v36 then nil else l_Roact_0.createElement(l_SelfPresenceStatusIndicatorContainer_0, {
            isInteractable = l_invisibleModeEnabled_0,
            layoutOrder = 6,
            showText = true,
            showToast = l_props_0.showToast,
            surface = l_InvisibleMode_0.Analytics.Surface.ProfileCard,
            width = UDim.new(1, 0),
            ZIndex = 5
        })
    });
end;
return v20;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_SocialLibraries_0 = v1.SocialLibraries;
local l_RoactRodux_0 = v1.RoactRodux;
local l_RoactAppExperiment_0 = v1.RoactAppExperiment;
local l_AppUserLayers_0 = v1.AppUserLayers;
local l_SetAlias_0 = v1.SetAlias;
local l_getDeepValue_0 = l_SocialLibraries_0.Dictionary.getDeepValue;
local l_InvisibleMode_0 = v1.InvisibleMode;
local v10 = require(l_Parent_0.Common.ProfileScreens);
local _ = require(l_Parent_0.Common.ContextPropsTypes);
local v12 = require(l_Parent_0.ProfileContext);
local v13 = require(l_Parent_0.Utils.isLocalUser);
local v14 = require(script.Parent.ProfileUserDetails);
local l_InvisibleModeIXP_0 = l_InvisibleMode_0.Flags.InvisibleModeIXP;
local l_UplevelAliasIXP_0 = v1.UserProfiles.Flags.UplevelAliasIXP;
local l_FFlagInvisibleModeSetupEnabled_0 = l_InvisibleMode_0.Flags.FFlagInvisibleModeSetupEnabled;
local l_FFlagInvisibleModeExperimentEnabled_0 = l_InvisibleMode_0.Flags.FFlagInvisibleModeExperimentEnabled;
local v19 = require(l_Parent_0.Flags.FFlagShowDisplayNameTooltip);
local v20 = require(l_Parent_0.Flags.FFlagDisplayNameTooltipIXPEnabled);
local v21 = l_Roact_0.PureComponent:extend("ProfileUserDetailsContainer");
local function v32(v22, v23)
    local v24 = v23.profileUserId or "";
    local v25 = l_getDeepValue_0(v22, string.format("Profile.Users.byUserId.%s.displayName", v24));
    local v26 = l_getDeepValue_0(v22, string.format("Profile.Users.byUserId.%s.username", v24));
    local v27 = l_getDeepValue_0(v22, string.format("Profile.AdditionalUserFields.%s.isDeleted", v24));
    local v28 = l_getDeepValue_0(v22, string.format("Profile.PremiumMembershipStatus.%s", v24));
    local v29 = l_getDeepValue_0(v22, string.format("Profile.FriendshipStatus.%s", v24));
    local v30 = l_getDeepValue_0(v22, string.format("SetAlias.Aliases.byUserId.%s", v24));
    local _ = false;
    return {
        friendshipStatus = v29 or Enum.FriendStatus.Unknown,
        displayName = v25 or "",
        username = v26 or "",
        hasPremiumMembership = v28 or false,
        isUserDeleted = v27 or false,
        hasVerifiedBadge = l_getDeepValue_0(v22, string.format("Profile.AdditionalUserFields.%s.hasVerifiedBadge", v24)) or false,
        alias = if not not v30 and string.len(v30) ~= 0 then v30 else nil
    };
end;
v21.init = function(v33)
    local l_props_0 = v33.props;
    v33.aliasActivated = function()
        l_props_0.navigation.navigate(v10.SetAliasModal, {
            profileUserId = l_props_0.profileUserId,
            origin = l_SetAlias_0.Analytics.EntryPoints.ProfileCardName
        });
    end;
    v33.showToast = function(v35, v36, v37)
        l_props_0.navigation.navigate(v10.GenericToast, {
            toastProps = {
                toastContent = {
                    toastTitle = v35,
                    toastSubtitle = v36,
                    hideIcon = v37
                }
            }
        });
    end;
end;
v21.render = function(v38)
    local l_props_1 = v38.props;
    return l_Roact_0.createElement(v14, {
        isLocalUser = l_props_1.isLocalUser,
        displayName = l_props_1.displayName,
        alias = l_props_1.alias,
        hasPremiumMembership = l_props_1.hasPremiumMembership,
        hasVerifiedBadge = l_props_1.hasVerifiedBadge,
        layoutOrder = l_props_1.layoutOrder,
        zIndex = l_props_1.zIndex,
        username = l_props_1.username,
        friendshipStatus = l_props_1.friendshipStatus,
        profileUserId = l_props_1.profileUserId,
        isUserDeleted = l_props_1.isUserDeleted,
        padding = l_props_1.padding,
        aliasActivated = v38.aliasActivated,
        showToast = v38.showToast,
        contextualInfoType = l_props_1.contextualInfoType,
        uplevelAliasEnabled = l_props_1.uplevelAliasEnabled,
        invisibleModeEnabled = l_props_1.invisibleModeEnabled,
        mutualFriendsListEnabled = l_props_1.mutualFriendsListEnabled
    });
end;
return {
    Container = l_RoactAppExperiment_0.connectUserLayer({
        l_AppUserLayers_0.SocialProfilePeekViewLayer,
        l_AppUserLayers_0.SocialFriendsLayer,
        l_InvisibleModeIXP_0.ExperimentLayer
    }, function(v40, _)
        return {
            uplevelAliasEnabled = if not l_UplevelAliasIXP_0.isSetupEnabled() then nil else l_UplevelAliasIXP_0.isExperimentEnabled(v40),
            invisibleModeEnabled = if not l_FFlagInvisibleModeExperimentEnabled_0 then nil else l_InvisibleModeIXP_0.isExperimentEnabled(v40),
            mutualFriendsListEnabled = (v40[l_AppUserLayers_0.SocialProfilePeekViewLayer] or {}).mutualFriendsListEnabled
        };
    end)((v12.connect(function(v42)
        return {
            contextualInfoType = v42.navigationParams and v42.navigationParams.contextualInfoType,
            isLocalUser = if (l_FFlagInvisibleModeSetupEnabled_0 or v19) or v20 then v13(v42) else nil
        };
    end)((l_RoactRodux_0.connect(v32, nil)(v21))))),
    mapStateToProps = v32
};


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_React_0 = v1.React;
local l_Cryo_0 = v1.Cryo;
local l_SocialLibraries_0 = v1.SocialLibraries;
local l_UserProfiles_0 = v1.UserProfiles;
local l_useSelector_0 = v1.useSelector;
local l_useDispatch_0 = v1.useDispatch;
local l_useNavigation_0 = v1.useNavigation;
local l_NetworkingUsers_0 = v1.NetworkingUsers;
local l_getDeepValue_0 = l_SocialLibraries_0.Dictionary.getDeepValue;
local l_useUserProfilesFetch_0 = l_UserProfiles_0.Hooks.useUserProfilesFetch;
local l_userProfilesAllNamesByUserIds_0 = l_UserProfiles_0.Queries.userProfilesAllNamesByUserIds;
local v14 = require(l_Parent_0.Common.ProfileScreens);
local l_useUserExperiment_0 = v1.useUserExperiment;
local l_AppUserLayers_0 = v1.AppUserLayers;
local v17 = require(script.Parent.ProfileUserDetailsNames);
local v18 = require(script.Parent.ProfileUserDetailsNamesLoading);
local v19 = require(l_Parent_0.Flags.FFlagShowDisplayNameTooltip);
local v20 = require(l_Parent_0.Flags.FFlagDisplayNameTooltipIXPEnabled);
local function v21()
end;
return function(v22)
    local l_profileUserId_0 = v22.profileUserId;
    local v24 = l_React_0.useRef(false);
    local function v26(v25)
        v24.current = v25;
    end;
    local v27 = l_useNavigation_0();
    local v28 = l_useUserProfilesFetch_0({
        userIds = {
            l_profileUserId_0
        },
        query = l_userProfilesAllNamesByUserIds_0
    });
    local v29 = nil;
    if v20 then
        v29 = l_useUserExperiment_0({
            l_AppUserLayers_0.SocialSelfProfileViewLayer
        }, function(v30)
            return (v30[l_AppUserLayers_0.SocialSelfProfileViewLayer] or {}).dn_tooltip_enabled;
        end);
    end;
    if not (not v19 and not v20) then
        local v31 = l_useDispatch_0();
        local l_v31_0 = v31 --[[ copy: 7 -> 17 ]];
        local function _(v33)
            return l_v31_0(l_NetworkingUsers_0.GetDisplayNameValidation.API(l_profileUserId_0, v33));
        end;
        l_React_0.useEffect(function()
            if not (not v19 and not v29 or not v22.isLocalUser) then
                l_v31_0(l_NetworkingUsers_0.GetDisplayNameValidation.API(l_profileUserId_0, "sampleName")):andThen(function(_)
                    v24.current = true;
                end):catch(function(_)
                    v24.current = false;
                end);
            end;
        end, {
            v22.isLocalUser
        });
    end;
    local v38 = l_useSelector_0(function(v37)
        return {
            hasVerifiedBadge = l_getDeepValue_0(v37, string.format("Profile.AdditionalUserFields.%s.hasVerifiedBadge", l_profileUserId_0)) or false,
            hasPremiumMembership = l_getDeepValue_0(v37, string.format("Profile.PremiumMembershipStatus.%s", l_profileUserId_0)) or false,
            friendshipStatus = l_getDeepValue_0(v37, string.format("Profile.FriendshipStatus.%s", l_profileUserId_0)) or Enum.FriendStatus.Unknown
        };
    end);
    if not v28.loading and not v28.error then
        local v39 = l_UserProfiles_0.Selectors.getUsernameFromId(v28.data, v22.profileUserId);
        local v40 = l_UserProfiles_0.Selectors.getCombinedNameFromId(v28.data, v22.profileUserId);
        local v41 = if v19 or v29 then l_UserProfiles_0.Selectors.getDisplayNameFromId(v28.data, v22.profileUserId) else nil;
        local l_names_0 = l_UserProfiles_0.Selectors.getUserProfileFromId(v28.data, v22.profileUserId).names;
        local l_alias_0 = l_names_0.alias;
        local l_contactName_0 = l_names_0.contactName;
        local function v45()
            if not v24.current then
                v27.navigate(v14.EditDisplayNameErrorModal);
                return ;
            else
                v27.navigate(v14.EditDisplayNameModal, {
                    showToast = v21,
                    setDisplayNameAvailable = v26,
                    displayName = v41
                });
                return ;
            end;
        end;
        local v46 = nil;
        if not v19 and (not v20 or not v29) then
            local v47 = true;
            if l_alias_0 == "" then
                v47 = l_contactName_0 ~= "";
            end;
            v46 = v47;
        elseif not v22.isLocalUser then
            local v48 = true;
            if l_alias_0 == "" then
                v48 = l_contactName_0 ~= "";
            end;
            v46 = v48;
        else
            local v49 = false;
            if v41 ~= "" then
                v49 = v41 ~= v39;
            end;
            v46 = v49;
        end;
        return l_Roact_0.createElement(v17, l_Cryo_0.Dictionary.join(v22, v38, {
            primaryName = v40,
            username = v39,
            isLocalUser = v22.isLocalUser,
            isOverwrittenName = v46,
            navigateToEditDisplayNameModal = if v19 or v29 then v45 else nil
        }));
    else
        return l_Roact_0.createElement(v18);
    end;
end;


local v0 = require(script.Parent.Parent.Parent.dependencies);
local l_Roact_0 = v0.Roact;
local l_LoadingSkeleton_0 = v0.LoadingSkeleton;
local l_useStyle_0 = v0.UIBlox.Core.Style.useStyle;
return function()
    local l_Font_0 = l_useStyle_0().Font;
    return l_Roact_0.createElement("Frame", {
        Size = UDim2.new(1, 0, 0, 0),
        BackgroundTransparency = 1,
        LayoutOrder = 1,
        AutomaticSize = Enum.AutomaticSize.Y
    }, {
        Skeleton = l_Roact_0.createElement(l_LoadingSkeleton_0, {
            Size = UDim2.new(1, 0, 0, 0),
            createLayout = function()
                return l_Roact_0.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Left,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    Padding = UDim.new(0, 1)
                });
            end,
            panels = {
                {
                    Size = UDim2.new(0.4, 0, 0, l_Font_0.BaseSize * l_Font_0.Header1.RelativeSize)
                },
                {
                    Size = UDim2.new(0.3, 0, 0, l_Font_0.BaseSize * l_Font_0.CaptionHeader.RelativeSize)
                }
            }
        })
    });
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_RoactRodux_0 = v1.RoactRodux;
local l_SocialLibraries_0 = v1.SocialLibraries;
local l_Dash_0 = v1.Dash;
local l_compose_0 = l_SocialLibraries_0.RoduxTools.compose;
local v7 = require(l_Parent_0.ProfileContext);
local _ = require(l_Parent_0.Common.ContextPropsTypes);
local v9 = require(l_Parent_0.Common.Constants);
local v10 = require(script.Parent.PurchaseExperienceModal);
local v11 = require(script.Parent.purchaseExperienceMapStateToProps);
local v12 = require(l_Parent_0.Networking.PurchaseProductById);
local v13 = require(l_Parent_0.Common.ProfileScreens);
local v14 = require(l_Parent_0.Analytics);
local v15 = l_Roact_0.Component:extend("PurchaseExperienceModalContainer");
v15.init = function(v16)
    v16.closeModal = function()
        v16.props.navigation.pop();
    end;
    v16.purchaseGame = function()
        local l_props_0 = v16.props;
        l_props_0.analytics:buttonClick(v14.Enums.ButtonClickEvents.PurchaseGame);
        local l_productInfo_0 = l_props_0.productInfo;
        return l_props_0.purchaseProductById(l_productInfo_0.productId, {
            expectedCurrency = v9.RobuxCurrency,
            expectedPrice = l_productInfo_0.price,
            expectedSellerId = l_productInfo_0.sellerId
        });
    end;
    v16.showToast = function(v19, v20, v21)
        v16.props.navigation.navigate(v13.GenericToast, {
            toastProps = {
                toastContent = {
                    toastTitle = v19,
                    toastSubtitle = v20,
                    hideIcon = v21
                }
            }
        });
    end;
    v16.showPurchaseErrorToast = function(v22)
        v16.props.navigateToLuaAppPages[v13.PurchaseErrorToast](v22);
    end;
    v16.showNetworkingErrorToast = function(v23)
        v16.props.navigateToLuaAppPages[v13.NetworkingErrorToast](v23);
    end;
end;
v15.render = function(v24)
    return l_Roact_0.createElement(v10, l_Dash_0.join(v24.props, {
        closeModal = v24.closeModal,
        purchaseGame = v24.purchaseGame,
        showToast = v24.showToast,
        showPurchaseErrorToast = v24.showPurchaseErrorToast,
        showNetworkingErrorToast = v24.showNetworkingErrorToast,
        analytics = l_Dash_0.None
    }));
end;
return l_compose_0(v7.connect(function(v25)
    return {
        navigateToLuaAppPages = v25.navigateToLuaAppPages
    };
end), l_RoactRodux_0.connect(v11, function(v26)
    return {
        purchaseProductById = function(v27, v28)
            return v26(v12.API(v27, v28));
        end
    };
end), v14.connect(function(v29)
    return {
        analytics = v29
    };
end))(v15);


local l_getDeepValue_0 = require(script.Parent.Parent.Parent.dependencies).SocialLibraries.Dictionary.getDeepValue;
return function(v1, v2)
    local v3 = v2.navigation.getParam("universeId");
    return {
        screenSize = v1.ScreenSize,
        gameDetails = l_getDeepValue_0(v1, string.format("Profile.Games.byGameId.%s", v3)),
        productInfo = l_getDeepValue_0(v1, string.format("Profile.Games.productInfoByGameId.%s", v3))
    };
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_withLocalization_0 = v1.withLocalization;
local l_InteractiveAlert_0 = l_UIBlox_0.App.Dialog.Alert.InteractiveAlert;
local l_ButtonType_0 = l_UIBlox_0.App.Button.Enum.ButtonType;
local v7 = require(l_Parent_0.Common.TextKeys);
local _ = require(script.Parent.unableToJoinExperienceMapStateToProps);
local v9 = l_Roact_0.Component:extend("UnableToJoinExperienceModal");
v9.init = function(v10)
    v10.openGameDetailsPeekView = function()
        local l_props_0 = v10.props;
        l_props_0.closeModal();
        l_props_0.openGameDetailsPeekView();
    end;
end;
v9.render = function(v12)
    local l_props_1 = v12.props;
    return l_withLocalization_0({
        titleText = v7.UnableToJoin,
        bodyText = v7.NoAccessToExperience,
        confirmButtonText = v7.ViewDetails,
        cancelButtonText = v7.Cancel
    })(function(v14)
        return l_Roact_0.createElement(l_InteractiveAlert_0, {
            screenSize = l_props_1.screenSize,
            title = v14.titleText,
            bodyText = string.format(v14.bodyText, l_props_1.userDialogName),
            buttonStackInfo = {
                buttons = {
                    {
                        buttonType = nil,
                        props = {
                            text = v14.cancelButtonText,
                            onActivated = l_props_1.closeModal
                        }
                    },
                    {
                        buttonType = l_ButtonType_0.PrimarySystem,
                        props = {
                            text = v14.confirmButtonText,
                            onActivated = v12.openGameDetailsPeekView
                        }
                    }
                }
            }
        });
    end);
end;
return v9;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_RoactRodux_0 = v1.RoactRodux;
local l_SocialLibraries_0 = v1.SocialLibraries;
local l_Dash_0 = v1.Dash;
local l_compose_0 = l_SocialLibraries_0.RoduxTools.compose;
local v7 = require(l_Parent_0.ProfileContext);
local _ = require(l_Parent_0.Common.ContextPropsTypes);
local v9 = require(l_Parent_0.Common.ProfileScreens);
local v10 = require(script.Parent.UnableToJoinExperienceModal);
local v11 = require(script.Parent.unableToJoinExperienceMapStateToProps);
local v12 = l_Roact_0.Component:extend("UnableToJoinExperienceModalContainer");
v12.init = function(v13)
    v13.closeModal = function()
        v13.props.navigation.pop();
    end;
    v13.openGameDetailsPeekView = function()
        local l_props_0 = v13.props;
        l_props_0.navigateToLuaAppPages[v9.GameDetailsPeekView](l_props_0.navigation.getParam("universeId"), {
            mountAsFullView = true,
            showBackButton = true,
            onPeekViewClosed = l_props_0.peekViewProps.onPeekViewClosed
        });
    end;
end;
v12.render = function(v15)
    return l_Roact_0.createElement(v10, l_Dash_0.join(v15.props, {
        closeModal = v15.closeModal,
        openGameDetailsPeekView = v15.openGameDetailsPeekView
    }));
end;
return l_compose_0(v7.connect(function(v16)
    return {
        profileUserId = v16.profileUserId,
        navigateToLuaAppPages = v16.navigateToLuaAppPages,
        peekViewProps = v16.peekViewProps
    };
end), l_RoactRodux_0.connect(v11, nil))(v12);


local l_getDeepValue_0 = require(script.Parent.Parent.Parent.dependencies).SocialLibraries.Dictionary.getDeepValue;
return function(v1, v2)
    local v3 = l_getDeepValue_0(v1, string.format("Profile.Users.byUserId.%s", v2.profileUserId or ""));
    return {
        screenSize = v1.ScreenSize,
        userDialogName = ((not not v3.displayName and #v3.displayName > 0) and v3.displayName or v3.username) or ""
    };
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_withLocalization_0 = v1.withLocalization;
local l_t_0 = v1.t;
local l_UIBlox_0 = v1.UIBlox;
local l_Button_0 = l_UIBlox_0.App.Button.Button;
local l_ButtonType_0 = l_UIBlox_0.App.Button.Enum.ButtonType;
local v8 = l_Roact_0.PureComponent:extend("ViewUserProfile");
local v9 = require(l_Parent_0.Common.TextKeys);
v8.validateProps = l_t_0.strictInterface({
    layoutOrder = l_t_0.optional(l_t_0.integer),
    onActivated = l_t_0.callback
});
v8.render = function(v10)
    local l_props_0 = v10.props;
    return l_withLocalization_0({
        viewProfile = v9.ViewProfile
    })(function(v12)
        return l_Roact_0.createElement(l_Button_0, {
            buttonType = l_ButtonType_0.Secondary,
            layoutOrder = l_props_0.layoutOrder,
            size = UDim2.new(1, 0, 0, 48),
            onActivated = l_props_0.onActivated,
            text = v12.viewProfile
        });
    end);
end;
return v8;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_t_0 = v1.t;
local v4 = require(l_Parent_0.ProfileContext);
local v5 = require(l_Parent_0.Common.ProfileScreens);
local v6 = require(l_Parent_0.Common.ContextPropsTypes);
local v7 = require(script.Parent.ViewUserProfile);
local l_compose_0 = v1.SocialLibraries.RoduxTools.compose;
local v9 = require(l_Parent_0.Analytics);
local v10 = l_Roact_0.PureComponent:extend("ViewUserProfileContainer");
v10.validateProps = l_t_0.strictInterface({
    layoutOrder = l_t_0.optional(l_t_0.integer),
    navigateToLuaAppPages = v6.validateNavigateToLuaAppPages,
    profileUserId = l_t_0.string,
    analytics = l_t_0.table,
    navigationParams = l_t_0.optional(l_t_0.table)
});
v10.init = function(v11)
    v11.onActivated = function()
        local l_props_0 = v11.props;
        l_props_0.analytics:buttonClick(v9.Enums.ButtonClickEvents.ViewPlayerProfile, {
            recommendationSessionId = l_props_0.navigationParams.recommendationSessionId,
            absolutePosition = l_props_0.navigationParams.absolutePosition,
            isHomePageCarousel = l_props_0.navigationParams.isHomePageCarousel,
            isRecommendation = l_props_0.navigationParams.isRecommendation,
            recommendationContextType = l_props_0.navigationParams.recommendationContextType,
            recommendationRank = l_props_0.navigationParams.recommendationRank,
            source = l_props_0.navigationParams.source
        });
        l_props_0.navigateToLuaAppPages[v5.ViewUserProfile](l_props_0.profileUserId);
    end;
end;
v10.render = function(v13)
    return l_Roact_0.createElement(v7, {
        onActivated = v13.onActivated,
        layoutOrder = v13.props.layoutOrder
    });
end;
return l_compose_0(v4.connect(function(v14)
    return {
        navigateToLuaAppPages = v14.navigateToLuaAppPages,
        profileUserId = v14.profileUserId,
        navigationParams = v14.navigationParams
    };
end), v9.connect(function(v15)
    return {
        analytics = v15
    };
end))(v10);


return {
    ProfilePeekViewEntryPoint = require(script.ProfilePeekViewEntryPoint)
};


return game:DefineFastFlag("DisplayNameTooltipIXPEnabled_v1", false) and game:GetEngineFeature("NamesDisplayNameTooltipStorageKeys");


return game:DefineFastFlag("ShowDisplayNameTooltip_v1", false) and game:GetEngineFeature("NamesDisplayNameTooltipStorageKeys");


local v0 = game:DefineFastFlag("InternationalNamesJapaneseLocaleSupported", true);
local v1 = game:DefineFastFlag("InternationalNamesKoreanLocaleSupported", false);
local v2 = game:DefineFastFlag("InternationalNamesChineseLocaleSupported", false);
local v3 = {
    ["ja-jp"] = v0,
    ["ko-kr"] = v1,
    ["zh-cjv"] = v2,
    ["zh-cn"] = v2,
    ["zh-tw"] = v2
};
return {
    isSupportedLocale = function(v4)
        return v3[v4] == true;
    end
};


local l_GuiService_0 = game:GetService("GuiService");
return {
    experimentOrRolloutEnabled = function(_)
        if not l_GuiService_0:IsTenFootInterface() then
            return true;
        else
            return false;
        end;
    end,
    isProfileEnabled = function()
        if not l_GuiService_0:IsTenFootInterface() then
            return true;
        else
            return false;
        end;
    end
};


game:DefineFastFlag("SortCurrentlyWearingItemsIXPSetupEnabled", false);
game:DefineFastFlag("SortCurrentlyWearingItemsIXPEnabled", false);
local l_AppUserLayers_0 = require(script:FindFirstAncestor("Profile").dependencies).AppUserLayers;
local v1 = {
    Default = "default",
    FavoriteCount = "favoriteCount",
    PriceDecreasing = "priceDecreasing",
    PriceIncreasing = "priceIncreasing"
};
local function v2()
    return game:GetFastFlag("SortCurrentlyWearingItemsIXPSetupEnabled");
end;
local function _()
    return game:GetFastFlag("SortCurrentlyWearingItemsIXPEnabled");
end;
return {
    FFlagIsSetupEnabled = v2,
    getExperimentVariant = function(v4)
        if game:GetFastFlag("SortCurrentlyWearingItemsIXPEnabled") then
            return ((v4 or {})[l_AppUserLayers_0.SocialProfilePeekViewLayer] or {}).sortCurrentlyWearingVariant or v1.Default;
        else
            return nil;
        end;
    end,
    Variants = v1
};


game:DefineFastInt("ProfileMutualFriendsListMaxNameLength", 13);
return function()
    return game:GetFastInt("ProfileMutualFriendsListMaxNameLength");
end;


game:DefineFastString("ProfileQRCodeExperimentKey", "profile_qr_code");
return function()
    return game:GetFastString("ProfileQRCodeExperimentKey");
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Profile");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_RoactNavigation_0 = v1.RoactNavigation;
local v3 = require(l_script_FirstAncestor_0.Common.ProfileScreens);
return (l_RoactNavigation_0.createRobloxStackNavigator({
    {
        [v3.ProfilePeekView] = {
            screen = require(l_script_FirstAncestor_0.Components.ProfilePeekView),
            navigationOptions = {}
        }
    },
    {
        [v3.ContextualMenu] = {
            screen = require(l_script_FirstAncestor_0.Components.ProfileContextualMenuOverlay),
            navigationOptions = {}
        }
    },
    {
        [v3.GenericToast] = {
            screen = v1.SocialLibraries.Components.ToastScreen,
            navigationOptions = {}
        }
    },
    {
        [v3.PurchaseExperienceModal] = {
            screen = require(l_script_FirstAncestor_0.Components.PurchaseExperienceModal),
            navigationOptions = {
                overlayEnabled = true,
                overlayTransparency = 0.5,
                absorbInput = true,
                renderUnderlyingPage = true
            }
        }
    },
    {
        [v3.UnableToJoinExperienceModal] = {
            screen = require(l_script_FirstAncestor_0.Components.UnableToJoinExperienceModal),
            navigationOptions = {
                overlayEnabled = true,
                overlayTransparency = 0.5,
                absorbInput = true,
                renderUnderlyingPage = true
            }
        }
    },
    {
        [v3.SetAliasModal] = {
            screen = v1.SetAlias.SetAliasModal,
            navigationOptions = {
                overlayEnabled = true,
                overlayTransparency = 0.5,
                absorbInput = true,
                renderUnderlyingPage = true
            }
        }
    },
    {
        [v3.EditProfilePage] = {
            screen = v1.EditProfile.EditProfilePage,
            navigationOptions = {
                overlayEnabled = true,
                overlayTransparency = 0.5,
                absorbInput = true,
                renderUnderlyingPage = true
            }
        }
    },
    {
        [v3.EditDisplayNameModal] = {
            screen = v1.EditProfile.EditDisplayNameModal,
            navigationOptions = {
                overlayEnabled = true,
                overlayTransparency = 0.5,
                absorbInput = true,
                renderUnderlyingPage = true
            }
        }
    },
    {
        [v3.EditDescriptionModal] = {
            screen = v1.EditProfile.EditDescriptionModal,
            navigationOptions = {
                overlayEnabled = true,
                overlayTransparency = 0.5,
                absorbInput = true,
                renderUnderlyingPage = true
            }
        }
    },
    {
        [v3.EditDisplayNameErrorModal] = {
            screen = v1.EditProfile.EditDisplayNameErrorModal,
            navigationOptions = {
                overlayEnabled = true,
                overlayTransparency = 0.5,
                absorbInput = true,
                renderUnderlyingPage = true
            }
        }
    },
    {
        [v3.UsernameInsufficientFundsModal] = {
            screen = v1.EditProfile.UsernameInsufficientFundsModal,
            navigationOptions = {
                overlayEnabled = true,
                overlayTransparency = 0.5,
                absorbInput = true,
                renderUnderlyingPage = true
            }
        }
    }
}, {
    mode = l_RoactNavigation_0.StackPresentationStyle.Overlay,
    defaultNavigationOptions = {
        overlayEnabled = true,
        overlayTransparency = 1,
        absorbInput = false,
        renderUnderlyingPage = true
    }
}));


local v0 = require(script.Parent.Parent.dependencies);
local l_RoduxNetworking_0 = v0.RoduxNetworking;
local l_Url_0 = v0.Url;
return l_RoduxNetworking_0.POST(script, function(v3, v4)
    return (v3(l_Url_0.APIS_URL):path("thumbnails-gateway"):path("v1"):path("getavatarthumbnails"):body({
        height = v4.height,
        width = v4.width,
        format = "png",
        avatarType = "avatar",
        assetHashIds = v4.assetHashIds
    }));
end);


local v0 = require(script.Parent.Parent.dependencies);
local l_RoduxNetworking_0 = v0.RoduxNetworking;
local l_Url_0 = v0.Url;
return l_RoduxNetworking_0.POST(script, function(v3, v4, v5)
    return v3(l_Url_0.ECONOMY_URL):path("v1"):path("purchases"):path("products"):id(v4):body(v5 or {});
end);


local l_Context_0 = require(script:FindFirstAncestor("Profile").dependencies).SocialLibraries.Context;
local v1 = require(script.Context);
return {
    Context = v1,
    Provider = v1.Provider,
    Consumer = v1.Consumer,
    with = l_Context_0.getWith(v1),
    connect = l_Context_0.getConnect(v1)
};


return require(script:FindFirstAncestor("Profile").dependencies).Rodux.makeActionCreator("Profile." .. script.Name, function(v0, v1)
    assert(type(v0) == "string", "SetNextDataExpirationTime action expects key to be a string");
    local v2 = false;
    if type(v1) == "number" then
        v2 = v1 > 0;
    end;
    assert(v2, "SetNextDataExpirationTime: nextDataExpirationTime must be a positive number");
    return {
        key = v0,
        nextDataExpirationTime = v1
    };
end);


return require(script:FindFirstAncestor("Profile").dependencies).Rodux.makeActionCreator(script.Name, function(v0, v1)
    assert(type(v0) == "string", "SetProfilePageDataStatus action expects userId to be a string");
    assert(type(v1) == "string", "SetProfilePageDataStatus action expects status to be a string: " .. tostring(v1) .. ", type: " .. type(v1));
    return {
        userId = v0,
        status = v1
    };
end);


return require(script:FindFirstAncestor("Profile").dependencies).Rodux.makeActionCreator(script.Name, function(v0)
    return {
        viewState = v0
    };
end);


local v0 = require(script:FindFirstAncestor("Profile").Flags.SortCurrentlyWearingItemsIXP);
local v1 = 0;
local function _()
    v1 = v1 + 1;
    return (tostring(v1));
end;
return {
    mock = function()
        local v3 = {};
        v1 = v1 + 1;
        v3.id = tostring(v1);
        v3.assetType = "0";
        v3.name = "";
        return v3;
    end,
    fromAsset = function(v4)
        local v5 = {
            id = tostring(v4.id),
            assetType = tostring(v4.assetType),
            name = v4.name
        };
        if v0.FFlagIsSetupEnabled() then
            v5.price = v4.price;
            v5.lowestResalePrice = v4.lowestResalePrice;
            v5.isOffSale = v4.isOffSale;
            v5.favoriteCount = v4.favoriteCount;
        end;
        return v5;
    end
};


local v0 = require(script:FindFirstAncestor("Profile").dependencies);
local l_Dash_0 = v0.Dash;
return v0.Rodux.createReducer({}, {
    [require(script.Parent.Actions.SetNextDataExpirationTime).name] = function(v2, v3)
        return l_Dash_0.join(v2, {
            [v3.key] = v3.nextDataExpirationTime
        });
    end
});


local v0 = require(script:FindFirstAncestor("Profile").dependencies);
local l_Dash_0 = v0.Dash;
return v0.Rodux.createReducer({}, {
    [require(script.Parent.Actions.SetProfilePageDataStatus).name] = function(v2, v3)
        return l_Dash_0.join(v2, {
            [v3.userId] = v3.status
        });
    end
});


local v0 = require(script:FindFirstAncestor("Profile").dependencies);
local l_Dash_0 = v0.Dash;
return v0.Rodux.createReducer({
    viewState = nil
}, {
    [require(script.Parent.Actions.SetProfilePeekViewState).name] = function(v2, v3)
        return l_Dash_0.join(v2, {
            viewState = v3.viewState
        });
    end
});


local l_Parent_0 = script.Parent.Parent;
local l_Dash_0 = require(l_Parent_0.dependencies).Dash;
local v2 = require(script.Parent.installReducer);
local _ = require(l_Parent_0.Common.GuiInset);
local v4 = v2();
return function(v5, v6)
    return l_Dash_0.join(v5 or {}, {
        Profile = v4(v5.Profile, v6)
    });
end;


local v0 = require(script.Parent.Parent.dependencies);
local l_Rodux_0 = v0.Rodux;
local v2 = require(script.Parent.Assets);
local v3 = require(script.Parent.CurrentlyWearing);
local v4 = require(script.Parent.ProfilePageDataStatus);
local v5 = require(script.Parent.NextDataExpirationTime);
local v6 = require(script.Parent.ProfilePeekView);
local v7 = require(script.Parent.AdditionalUserFields);
local v8 = require(script.Parent.PremiumMembershipStatus);
local v9 = require(script.Parent.FriendshipStatus);
local v10 = require(script.Parent.FriendsCount);
local v11 = require(script.Parent.FollowersCount);
local v12 = require(script.Parent.FollowingsCount);
local v13 = require(script.Parent.IsBlockedByMe);
local v14 = require(script.Parent.FollowingStatus);
local v15 = require(script.Parent.ContactAvatarId);
local v16 = require(script.Parent.CanRequestFriendshipWith);
local l_RoduxUsers_0 = v0.RoduxUsers;
local l_RoduxPresence_0 = v0.RoduxPresence;
local l_RoduxFriends_0 = v0.RoduxFriends;
local l_RoduxGames_0 = v0.RoduxGames;
local l_RoduxAliases_0 = v0.RoduxAliases;
local l_RoduxContacts_0 = v0.RoduxContacts;
local l_RoduxNetworking_0 = v0.RoduxNetworking;
return function()
    return l_Rodux_0.combineReducers({
        AdditionalUserFields = v7,
        Aliases = l_RoduxAliases_0.installReducer(),
        Assets = v2,
        CanRequestFriendshipWith = v16,
        ContactAvatarId = v15,
        Contacts = l_RoduxContacts_0.installReducer(),
        CurrentlyWearing = v3,
        FollowersCount = v11,
        FollowingsCount = v12,
        FollowingStatus = v14,
        Friends = l_RoduxFriends_0.installReducer(),
        FriendsCount = v10,
        FriendshipStatus = v9,
        Games = l_RoduxGames_0.installReducer(),
        IsBlockedByMe = v13,
        NetworkStatus = l_RoduxNetworking_0.installReducer(),
        NextDataExpirationTime = v5,
        PremiumMembershipStatus = v8,
        Presence = l_RoduxPresence_0.installReducer(),
        ProfilePageDataStatus = v4,
        ProfilePeekView = v6,
        Users = l_RoduxUsers_0.installReducer()
    });
end;


local l_Dash_0 = require(script:FindFirstAncestor("Profile").dependencies).Dash;
local v1 = {
    JoinExperience = {
        isLocalUser = false,
        friendshipStatus = Enum.FriendStatus.Friend,
        isUserInGame = true,
        isDeleted = false,
        isUserBlockedByMe = false
    },
    Chat = {
        isLocalUser = false,
        friendshipStatus = Enum.FriendStatus.Friend,
        isUserInGame = false,
        isDeleted = false,
        isUserBlockedByMe = false
    },
    EditProfile = {
        isLocalUser = true,
        friendshipStatus = Enum.FriendStatus.Unknown,
        isDeleted = false,
        isUserBlockedByMe = false,
        isUserInGame = false
    },
    Unfriend = {
        isLocalUser = false,
        friendshipStatus = Enum.FriendStatus.Friend,
        isDeleted = true,
        isUserBlockedByMe = false,
        isUserInGame = false
    },
    Unblock = {
        isLocalUser = false,
        isUserBlockedByMe = true,
        friendshipStatus = Enum.FriendStatus.Unknown,
        isDeleted = false,
        isUserInGame = false
    },
    AddFriend = {
        isLocalUser = false,
        friendshipStatus = Enum.FriendStatus.Unknown,
        isDeleted = false,
        isUserBlockedByMe = false,
        isUserInGame = false
    },
    AcceptFriendRequest = {
        isLocalUser = false,
        friendshipStatus = Enum.FriendStatus.FriendRequestReceived,
        isDeleted = false,
        isUserBlockedByMe = false,
        isUserInGame = false
    },
    AcceptOffNetworkFriendRequest = {
        isLocalUser = false,
        friendshipStatus = Enum.FriendStatus.Unknown,
        isDeleted = false,
        isUserBlockedByMe = false,
        isUserInGame = false
    },
    PendingFriendRequest = {
        isLocalUser = false,
        friendshipStatus = Enum.FriendStatus.FriendRequestSent,
        isDeleted = false,
        isUserBlockedByMe = false,
        isUserInGame = false
    },
    CannotAddFriend = {
        isLocalUser = false,
        friendshipStatus = Enum.FriendStatus.Unknown,
        isDeleted = false,
        isUserBlockedByMe = false,
        canRequestFriendshipWith = false,
        isUserInGame = false
    }
};
return {
    controls = {
        CTAtype = l_Dash_0.keys(v1)
    },
    getUserCTA = function(v2)
        return v1[v2.controls.CTAtype];
    end
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Profile");
local l_Dash_0 = require(l_script_FirstAncestor_0.dependencies).Dash;
local v2 = require(l_script_FirstAncestor_0.Stories.StoryHelpers.MockAssetsById);
local v3 = {};
for v4, v5 in pairs(v2) do
    v3[v5.name] = v4;
end;
return {
    controls = {
        itemName = l_Dash_0.keys(v3)
    },
    getAssetId = function(v6)
        return (tostring(v3[v6.controls.itemName]));
    end
};


return require(script:FindFirstAncestor("Profile").dependencies).Rodux.makeActionCreator(script.Name, function(v0)
    return {
        state = v0
    };
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Profile");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Dash_0 = v1.Dash;
return v1.Rodux.createReducer({}, {
    [require(l_script_FirstAncestor_0.Stories.StoryHelpers.MergeStateAction).name] = function(v3, v4)
        return l_Dash_0.join(v3, v4.state, {
            Profile = l_Dash_0.join(v3.Profile, v4.state.Profile or {})
        });
    end
});


local v0 = {
    {
        id = "15857936",
        name = "Tee Vee"
    },
    {
        id = "31117267",
        name = "Skeptic"
    },
    {
        id = "198710045",
        name = "KFC Fried Chicken Bucket in a Bag"
    },
    {
        id = "242229770",
        name = "Tee Vee [ORIGINAL]  \240\159\152\157"
    },
    {
        id = "376530220",
        name = "ROBLOX Boy Left Arm"
    },
    {
        id = "376531012",
        name = "ROBLOX Boy Right Arm"
    },
    {
        id = "376531300",
        name = "ROBLOX Boy Left Leg"
    },
    {
        id = "376531703",
        name = "ROBLOX Boy Right Leg"
    },
    {
        id = "376532000",
        name = "ROBLOX Boy Torso"
    },
    {
        id = "784473942",
        name = "Tee vee"
    },
    {
        id = "837009922",
        name = "Cartoony Run"
    },
    {
        id = "837010234",
        name = "Cartoony Walk"
    },
    {
        id = "837010685",
        name = "Cartoony Fall"
    },
    {
        id = "837011171",
        name = "Cartoony Jump"
    },
    {
        id = "837011741",
        name = "Cartoony Idle"
    },
    {
        id = "837012509",
        name = "Cartoony Swim"
    },
    {
        id = "837013990",
        name = "Cartoony Climb"
    },
    {
        id = "5972799542",
        name = "Nugget The Christmas Puppy"
    },
    {
        id = "6410534967",
        name = "Army CR-L 10 [Back]"
    }
};
local v1 = {};
for _, v3 in ipairs(v0) do
    v1[v3.id] = v3;
end;
return v1;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Roact_0 = v1.Roact;
local l_Dash_0 = v1.Dash;
local v5 = require(l_Parent_0.ProfileContext);
local l_NumberLocalization_0 = require(l_CorePackages_0.Workspace.Packages.Localization).NumberLocalization;
local v7 = require(l_Parent_0.TestHelpers.mockContext);
return function(v8, v9, v10)
    return l_Roact_0.createElement(v5.Provider, {
        value = l_Dash_0.join(v7({
            abbreviateCount = function(v11)
                return l_NumberLocalization_0.abbreviate(v11, "en-us", nil);
            end
        }), v10)
    }, {
        l_Roact_0.createElement(v8, v9)
    });
end;


local l_Dash_0 = require(script:FindFirstAncestor("Profile").dependencies).Dash;
local v1 = {
    TimmyTwoTests = "1906324463",
    RadioNoggin = "1672130865",
    KillerRoomba = "1820084975"
};
return {
    controls = {
        userName = l_Dash_0.keys(v1)
    },
    getUserId = function(v2)
        return v1[v2.controls.userName];
    end
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Profile");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_PresenceType_0 = v1.RoduxPresence.Enums.PresenceType;
local l_RetrievalStatus_0 = v1.UIBlox.App.Loading.Enum.RetrievalStatus;
local l_Dash_0 = v1.Dash;
local v5 = require(l_script_FirstAncestor_0.Stories.StoryHelpers.MockAssetsById);
local v6 = require(l_script_FirstAncestor_0.Stories.StoryHelpers.CurrentlyWearingByUserId);
local l_CreatorType_0 = v1.RoduxGames.Enums.CreatorType;
local v8 = require(l_script_FirstAncestor_0.Common.ProfileScreens);
return function(v9)
    return l_Dash_0.join({
        TopBar = {
            statusBarHeight = 8
        },
        FormFactor = "COMPACT",
        ScreenSize = Vector2.new(800, 480),
        GlobalGuiInset = {
            left = 0,
            top = 0,
            right = 0,
            bottom = 0
        },
        LocalUserId = "456",
        Navigation = {
            history = {
                {
                    name = "ProfilePeekView"
                }
            }
        },
        InvisibleMode = {
            NetworkStatus = {
                byUserId = {}
            }
        },
        Profile = {
            Games = {
                byGameId = {
                    universeId = {
                        experienceId = "universeId",
                        name = "Experience name",
                        description = "description",
                        price = 100,
                        rootPlaceId = "rootPlaceId",
                        creator = l_CreatorType_0.Group
                    }
                },
                productInfoByGameId = {
                    universeId = {
                        productId = "productId",
                        sellerId = "sellerId",
                        price = 25,
                        isForSale = true
                    }
                }
            },
            NetworkStatus = {},
            Assets = v5,
            CurrentlyWearing = v6,
            FriendshipStatus = {
                NotFriend = Enum.FriendStatus.NotFriend,
                UserIsFollowing = Enum.FriendStatus.NotFriend,
                RequestSent = Enum.FriendStatus.FriendRequestSent,
                RequestRecieved = Enum.FriendStatus.FriendRequestReceived,
                StandardFriend = Enum.FriendStatus.Friend,
                InExperienceFriend = Enum.FriendStatus.Friend,
                FollowingUser = Enum.FriendStatus.Friend
            },
            PremiumMembershipStatus = {},
            ProfilePeekView = {},
            Users = {
                byUserId = {
                    InExperienceFriend = {
                        id = "InExperienceFriend",
                        username = "InExperienceFriendUserName",
                        displayName = "InExperienceFriendDisplayName"
                    },
                    ["123"] = {
                        id = "123",
                        username = "123Username",
                        displayName = "123DisplayName"
                    },
                    loadingUser = {
                        id = "loadingUser",
                        username = "loadingUserUserName",
                        displayName = "loadingUserDisplayName"
                    },
                    failedUser = {
                        id = "failedUser",
                        username = "failedUserUserName",
                        displayName = "failedUserDisplayName"
                    }
                }
            },
            IsUserFollowing = {
                NotFriend = false,
                InExperienceFriend = true,
                FollowingUser = true
            },
            IsBlockedByMe = {
                BlockedUser = true
            },
            ProfilePageDataStatus = {
                ["123"] = l_RetrievalStatus_0.Done.rawValue(),
                deletedUser = l_RetrievalStatus_0.Done.rawValue(),
                loadingUser = l_RetrievalStatus_0.Fetching.rawValue(),
                failedUser = l_RetrievalStatus_0.Failed.rawValue()
            },
            NextDataExpirationTime = {
                [v8.ProfilePeekView .. "123"] = 0
            },
            AdditionalUserFields = {
                deletedUser = {
                    isDeleted = true
                },
                noDescription = {
                    description = nil
                },
                ["123"] = {
                    description = "hello there"
                }
            },
            Presence = {
                byUserId = {
                    InExperienceFriend = {
                        lastLocation = "A fun place",
                        userPresenceType = l_PresenceType_0.InGame,
                        universeId = 123
                    }
                }
            },
            FriendsCount = {},
            FollowersCount = {},
            FollowingsCount = {}
        }
    }, v9 or {});
end;


local v0 = require(script:FindFirstAncestor("Profile").dependencies);
local l_LocalizationProvider_0 = v0.LocalizationProvider;
local l_Roact_0 = v0.Roact;
local v6 = {
    Format = function(_, v4, _)
        return v4;
    end,
    changed = {
        connect = function()
        end
    }
};
return function(v7, v8)
    return l_Roact_0.createElement(l_LocalizationProvider_0, {
        localization = v6
    }, {
        TestElement1 = l_Roact_0.createElement(v7, v8)
    });
end;


local v0 = require(script:FindFirstAncestor("Profile").dependencies);
local l_Roact_0 = v0.Roact;
local l_RoactNavigation_0 = v0.RoactNavigation;
return function(v3)
    return l_Roact_0.createElement((l_RoactNavigation_0.createAppContainer(l_RoactNavigation_0.createRobloxStackNavigator(v3, {}), nil)));
end;


local _ = require(game:GetService("CorePackages").Workspace.Packages.GraphQLServer);
return function(v1)
    local v2 = {};
    if v1 then
        for v3 = 1, v1 do
            table.insert(v2, {
                __typename = "MutualFriend",
                displayName = ("%*_displayName"):format(v3),
                id = ("%*"):format(v3),
                username = ("%*_username"):format(v3)
            });
        end;
        return v2;
    else
        return v2;
    end;
end;


return function()
    return game:GetEngineFeature("AutomaticSizing2");
end;


local l_Dash_0 = require(script.Parent.Parent.dependencies).Dash;
local v1 = {
    contextualMenuClick = function()
    end,
    buttonClick = function()
    end,
    navigateToProfile = function()
    end,
    pageLoaded = function()
    end,
    pageLoadedWithData = function()
    end,
    primaryCTAClick = function()
    end,
    viewCatalogItem = function()
    end,
    joinExperience = function()
    end
};
return function(v2)
    return l_Dash_0.join(v1, v2);
end;


local v0 = require(script:FindFirstAncestor("Profile").dependencies);
local l_mockApolloClient_0 = v0.GraphQLServer.ApolloClientTestUtils.mockApolloClient;
local l_UserProfiles_0 = v0.UserProfiles;
local l_queries_0 = v0.ApolloLocalState.queries;
local v4 = require(script.Parent.generateMutualFriendsList);
return function(v5, v6)
    local v7 = v5 or l_mockApolloClient_0({});
    local v8 = v4(v6.mutualFriendsCount);
    if not v6.skipRealNamesMock then
        l_UserProfiles_0.TestUtils.writeProfileDataToCache(v7, {
            ["1"] = {
                combinedName = "1_displayName"
            },
            ["2"] = {
                combinedName = "2_displayName"
            },
            ["3"] = {
                combinedName = "3_displayName"
            }
        });
    end;
    if not v6.skipMutualFriendsMock then
        v7:writeQuery({
            variables = {
                userIds = {
                    "123"
                }
            },
            query = l_queries_0.profilesInsightsByUserIds,
            data = {
                profilesInsightsByUserIds = {
                    {
                        __typename = "ProfileInsights",
                        targetUserId = "123",
                        isOfflineFrequents = false,
                        mutualFriends = v8
                    }
                }
            }
        });
    end;
    return v7;
end;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local _ = require(l_Parent_0.Common.ContextPropsTypes);
local v3 = require(l_Parent_0.Common.ProfileTypes);
local l_Dash_0 = v1.Dash;
local v9 = {
    navigateToLuaAppPages = require(script.Parent.mockNavigateToLuaAppPages)(),
    profileUserId = "123",
    peekViewProps = require(script.Parent.mockPeekViewProps)(),
    abbreviateCount = function(v5)
        return (tostring(v5));
    end,
    wideMode = false,
    localUserId = "456",
    catalogAnalytics = {
        clickCatalogItemFromProfile = function(_, _, _)
        end
    },
    profileType = v3.Default,
    resetProfileType = function()
    end,
    navigationParams = {}
};
return function(v10)
    return l_Dash_0.join(v9, v10);
end;


local v0 = 0;
return function()
    v0 = v0 + 1;
    return (tostring(v0));
end;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local _ = require(l_Parent_0.Common.ContextPropsTypes);
local l_Dash_0 = v1.Dash;
local function v4()
end;
local v5 = {
    ProfilePeekView = v4,
    ViewUserProfile = v4,
    GameDetailsPeekView = v4,
    Chat = v4,
    JoinGame = v4,
    ViewUserFriends = v4,
    ViewUserFollowing = v4,
    ViewUserFollowers = v4,
    ItemDetails = v4,
    ReportUser = v4,
    PurchaseErrorToast = v4,
    NetworkingErrorToast = v4,
    ProfileQRCodePage = v4
};
return function(v6)
    return l_Dash_0.join(v5, v6 or {});
end;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local _ = require(l_Parent_0.Common.ContextPropsTypes);
local l_Dash_0 = v1.Dash;
local v4 = {
    onPeekViewGoBack = function()
    end
};
return function(v5)
    return l_Dash_0.join(v4, v5);
end;


local l_RunService_0 = require(script:FindFirstAncestor("Profile").devDependencies).RunService;
local v1 = require(script.Parent.act);
return function(v2, v3)
    local v4 = v3 or 1;
    local v5 = 0;
    while not (not (v5 < v4) or v2()) do
        v1(function()
            v5 = v5 + l_RunService_0.Heartbeat:Wait();
        end);
    end;
end;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_PresenceType_0 = v1.RoduxPresence.Enums.PresenceType;
local l_Images_0 = v1.UIBlox.App.ImageSet.Images;
local v4 = require(l_Parent_0.Common.NotLocalizedStrings);
local v5 = require(l_Parent_0.Utils.isUserInGame);
local v6 = {};
local v7 = {
    [l_PresenceType_0.Offline] = "",
    [l_PresenceType_0.Online] = "component_assets/circle_16",
    [l_PresenceType_0.InGame] = "icons/menu/games_small",
    [l_PresenceType_0.InStudio] = "icons/logo/studiologo_small"
};
v6.getPresenceIcon = function(v8)
    local v9 = v7[v8];
    return (not not v9 and v9 ~= "") and l_Images_0[v9] or nil;
end;
v6.getPresenceText = function(v10, v11, v12)
    if not v5(v10, v11) then
        if v10 == l_PresenceType_0.InStudio then
            if v11 and v11 ~= "" then
                return v11;
            else
                return v4.StudioPresenceTextGlobal.rawValue();
            end;
        else
            return v12;
        end;
    else
        return v11;
    end;
end;
return v6;


local _ = require(script.Parent.Parent.Common.ContextPropsTypes);
return function(v1)
    return v1.profileUserId == v1.localUserId;
end;


local l_PresenceType_0 = require(script.Parent.Parent.dependencies).RoduxPresence.Enums.PresenceType;
return function(v1, v2)
    local v3 = false;
    if v1 == l_PresenceType_0.InGame then
        v3 = v2 and v2 ~= "";
    end;
    return v3;
end;


local l_Parent_0 = script.Parent.Parent;
local l_memoize_0 = require(l_Parent_0.dependencies).memoize;
local v2 = require(l_Parent_0.Common.ProfileScreens);
return function(v3, v4)
    local v8 = l_memoize_0(function(v5, v6, v7)
        (not not v4.replaceScreen and v3.replace or v3.navigate)(v2.GenericToast, {
            toastProps = {
                toastContent = {
                    toastTitle = v5,
                    toastSubtitle = v6,
                    iconImage = v7
                },
                position = UDim2.new(0.5, 0, 0, 40)
            }
        });
    end);
    return function()
        if not v4.showToast then
            v4.actionCallback();
            return ;
        else
            v4.actionCallback():andThen(function()
                v8(v4.successTitle, v4.successMessage, v4.successIcon);
            end):catch(function()
                v8(v4.errorTitle, v4.errorMessage, v4.errorIcon);
            end);
            return ;
        end;
    end;
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Players_0 = game:GetService("Players");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v4 = require(l_CorePackages_0.Packages.RoactAppExperiment);
local v5 = require(l_CorePackages_0.LuaSocialLibrariesDeps);
local v6 = require(l_CorePackages_0.Workspace.Packages.SharedFlags);
local l_FFlagEnableMigratedRoduxContactsPackage_0 = v6.FFlagEnableMigratedRoduxContactsPackage;
local v8 = require(l_Modules_0.AvatarExperience.Common.Debug.LogTree);
local v9 = require(l_Modules_0.AvatarExperience.Flags.FFlagAXFixItemTypeHandling);
local v10 = v8.logger("profile.http");
local v11 = v8.logger("profile.info");
local v12 = game:DefineFastInt("LuaProfileHttpRetryCount", 3);
local v13 = require(l_CorePackages_0.Packages.HttpRequest);
local v19 = v5.RoduxNetworking.config({
    keyPath = "Profile.NetworkStatus",
    networkImpl = v13.config({
        requestFunction = function(v14, v15, v16)
            v10:debug("Fetching: [ requestMethod = '{}', url = '{}' ]", v15, v14);
            return v13.requestFunctions.HttpRbxApi(v14, v15, v16);
        end,
        postRequestFunction = function(v17, v18)
            v10:trace("Returned: [ requestMethod = '{}', url = '{}', statusCode = {}, body = {} ]", v18.requestMethod, v18.url, v17.StatusCode, v17.Body);
        end,
        maxRetryCount = v12
    })
});
return {
    Dash = require(l_CorePackages_0.Packages.Dash),
    HttpRequest = require(l_CorePackages_0.Packages.HttpRequest),
    Promise = require(l_CorePackages_0.Packages.Promise),
    Roact = require(l_CorePackages_0.Roact),
    React = require(l_CorePackages_0.Packages.React),
    RoactNavigation = require(l_CorePackages_0.RoactNavigation),
    RoactRodux = require(l_CorePackages_0.RoactRodux),
    Rodux = require(l_CorePackages_0.Rodux),
    Cryo = require(l_CorePackages_0.Cryo),
    t = require(l_CorePackages_0.Packages.t),
    UIBlox = require(l_CorePackages_0.UIBlox),
    Url = require(l_CorePackages_0.Workspace.Packages.Http).Url,
    VerifiedBadges = require(l_CorePackages_0.Workspace.Packages.VerifiedBadges),
    InvisibleMode = require(l_CorePackages_0.Workspace.Packages.InvisibleMode),
    useNavigation = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.useNavigation,
    useUserExperiment = v4.useUserExperiment,
    dependencyArray = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.dependencyArray,
    useLocalization = require(l_CorePackages_0.Workspace.Packages.Localization).Hooks.useLocalization,
    useDispatch = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useDispatch,
    useSelector = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useSelector,
    RoactUtils = require(l_CorePackages_0.Workspace.Packages.RoactUtils),
    abbreviateCount = require(l_CorePackages_0.Workspace.Packages.Localization).abbreviateCount,
    RoduxNetworking = v19,
    NetworkingCurrentlyWearing = v5.NetworkingCurrentlyWearing.config({
        roduxNetworking = v19
    }),
    NetworkingUsers = v5.NetworkingUsers.config({
        roduxNetworking = v19
    }),
    NetworkingFriendsEnums = v5.NetworkingFriends.Enums,
    NetworkingFriends = v5.NetworkingFriends.config({
        roduxNetworking = v19
    }),
    NetworkingPresence = v5.NetworkingPresence.config({
        roduxNetworking = v19
    }),
    NetworkingBlocking = v5.NetworkingBlocking.config({
        roduxNetworking = v19
    }),
    NetworkingPremiumFeatures = v5.NetworkingPremiumFeatures.config({
        roduxNetworking = v19
    }),
    NetworkingGames = v5.NetworkingGames.config({
        roduxNetworking = v19
    }),
    RoduxPresence = v5.RoduxPresence.config({
        keyPath = "Profile.Presence"
    }),
    RoduxGames = v5.RoduxGames.config({
        keyPath = "Profile.Games"
    }),
    RoduxFriends = v5.RoduxFriends.config({
        keyPath = "Profile.Friends"
    }),
    RoduxContacts = if not l_FFlagEnableMigratedRoduxContactsPackage_0 then v5.RoduxContacts.config({
        keyPath = "Profile.Contacts"
    }) else require(l_CorePackages_0.Workspace.Packages.ContactsRodux).config({
        keyPath = "Profile.Contacts"
    }),
    RoduxUsers = v5.RoduxUsers.config({
        keyPath = "Profile.Users"
    }),
    RoduxAliases = v5.RoduxAliases.config({
        keyPath = "Profile.Aliases"
    }),
    NetworkingContacts = v5.NetworkingContacts.config({
        roduxNetworking = v19
    }),
    SocialLibraries = v5.SocialLibraries.config({}),
    LocalizationProvider = require(l_CorePackages_0.Workspace.Packages.Localization).LocalizationProvider,
    enumerate = require(l_CorePackages_0.enumerate),
    RoactFitComponents = v5.RoactFitComponents,
    Logger = v11,
    AnalyticsService = require(l_CorePackages_0.Workspace.Packages.Analytics).Analytics.new(game:GetService("RbxAnalyticsService")),
    AppUserLayers = require(l_Modules_0.LuaApp.Experiment.AppUserLayers),
    CarouselWidget = require(l_Modules_0.LuaApp.Components.Generic.CarouselWidget),
    CatalogUtils = require(l_Modules_0.AvatarExperience.Catalog.CatalogUtils),
    LuaAppsConstants = require(l_Modules_0.LuaApp.Constants),
    LoadingSkeleton = require(l_Modules_0.LuaApp.Components.LoadingSkeleton),
    LogTree = v8,
    PeekView = require(l_CorePackages_0.Workspace.Packages.PeekView).PeekView,
    PeekViewWithTopBar = require(l_CorePackages_0.Workspace.Packages.PeekView).PeekViewWithTopBar,
    PeekViewState = require(l_CorePackages_0.Workspace.Packages.PeekView).PeekViewState,
    FormFactor = require(l_CorePackages_0.Workspace.Packages.FormFactor).Enums.FormFactor,
    getSafeAreaSize = require(l_CorePackages_0.Workspace.Packages.InputUi).getSafeAreaSize,
    RoactAppExperiment = require(l_CorePackages_0.Packages.RoactAppExperiment),
    memoize = require(l_Modules_0.Common.memoize),
    withLocalization = require(l_Modules_0.LuaApp.withLocalization),
    Otter = require(l_CorePackages_0.Packages.Otter),
    Players = l_Players_0,
    ThrottleUserId = require(l_CorePackages_0.Workspace.Packages.AppCommonLib).ThrottleUserId,
    SetGamePlaySession = require(l_CorePackages_0.Workspace.Packages.RobloxAppSessionization).SetGamePlaySession,
    SetAlias = require(l_Modules_0.LuaApp.Components.SetAlias.api),
    UniversalAppPolicy = require(l_CorePackages_0.Workspace.Packages.UniversalAppPolicy).UniversalAppPolicy,
    SocialLuaAnalytics = require(l_CorePackages_0.Workspace.Packages.SocialLuaAnalytics),
    SocialCommon = require(l_CorePackages_0.Workspace.Packages.SocialCommon),
    UserProfiles = require(l_CorePackages_0.Workspace.Packages.UserProfiles),
    EditProfile = require(l_CorePackages_0.Workspace.Packages.EditProfile),
    UserLib = require(l_CorePackages_0.Workspace.Packages.UserLib),
    OpenReportDialog = require(l_Modules_0.LuaApp.Thunks.OpenReportDialog),
    ApolloClientModule = require(l_CorePackages_0.Packages.ApolloClient),
    ApolloLocalState = require(l_CorePackages_0.Workspace.Packages.ApolloLocalState),
    GraphQLServer = require(l_CorePackages_0.Workspace.Packages.GraphQLServer),
    LuauPolyfill = require(l_CorePackages_0.Packages.LuauPolyfill),
    IsVRAppBuild = require(l_CorePackages_0.Workspace.Packages.AppCommonLib).IsVRAppBuild,
    isSubjectToDesktopPolicies = v6.isSubjectToDesktopPolicies,
    getFFlagOffNetworkAnalytics = v6.getFFlagOffNetworkAnalytics,
    GetFFlagHideConnectPageWebViewItemsForVR = v6.GetFFlagHideConnectPageWebViewItemsForVR,
    GetFFlagDisableEditProfileForVR = v6.GetFFlagDisableEditProfileForVR,
    GetFFlagLuafiedReportEntryPoints = v6.GetFFlagLuafiedReportEntryPoints,
    GetFFlagHideContextualButtonBasedOnStateForVR = v6.GetFFlagHideContextualButtonBasedOnStateForVR,
    FFlagFixContactRecsFriendRequestLogging = v6.FFlagFixContactRecsFriendRequestLogging,
    GetFFlagPeekViewScrimEnabledIXP = v6.GetFFlagPeekViewScrimEnabledIXP,
    GetFFlagPeekViewScrimEnabled = v6.GetFFlagPeekViewScrimEnabled,
    FFlagAXFixItemTypeHandling = v9
};


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Packages.ReactRoblox);
local v3 = require(l_CorePackages_0.Workspace.Packages.SocialTestHelpers);
local v4 = require(l_CorePackages_0.JestGlobals);
local v5 = require(l_CorePackages_0.LuaSocialLibrariesDeps);
local l_expect_0 = v4.expect;
local l_ApolloClientTestUtils_0 = require(l_CorePackages_0.Workspace.Packages.GraphQLServer).ApolloClientTestUtils;
l_expect_0.extend(v5.CollisionMatchers.Jest);
return {
    CollisionMatchers = v5.CollisionMatchers,
    UnitTestHelpers = v3.TestHelpers,
    NumberLocalization = require(l_CorePackages_0.Workspace.Packages.Localization).NumberLocalization,
    mockServices = require(l_Modules_0.LuaApp.TestHelpers.mockServices),
    jestExpect = l_expect_0,
    jest = v4.jest,
    RhodiumHelpers = require(l_CorePackages_0.Workspace.Packages.RhodiumHelpers),
    LuaUnitTestHelpers = require(l_CorePackages_0.Workspace.Packages.UnitTestHelpers),
    RunService = game:GetService("RunService"),
    Mock = v5.Mock,
    DarkTheme = require(l_CorePackages_0.Workspace.Packages.Style).Themes.DarkTheme,
    createTreeWithProviders = v3.TestHelpers.createTreeWithProviders,
    findImageSet = v3.TestHelpers.findImageSet,
    act = v2.act,
    DeferredLuaHelpers = require(l_CorePackages_0.Workspace.Packages.TestUtils).DeferredLuaHelpers,
    ReactRoblox = require(l_CorePackages_0.Packages.ReactRoblox),
    ApolloClientTestUtils = l_ApolloClientTestUtils_0
};


return {
    Components = require(script.Components),
    PeekViewEntryPoint = require(script.Components.ProfilePeekViewEntryPoint),
    ProfileScreens = require(script.Common.ProfileScreens),
    TextKeys = require(script.Common.TextKeys),
    ProfileTypes = require(script.Common.ProfileTypes),
    installReducer = require(script.Reducers.installReducer)
};