local l_RunService_0 = game:GetService("RunService");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.UIBlox);
local v4 = require(l_CorePackages_0.Packages.t);
local l_ImageSetLabel_0 = v3.Core.ImageSet.ImageSetLabel;
local l_Images_0 = v3.App.ImageSet.Images;
local v7 = Color3.fromRGB(98, 98, 99);
local v8 = Color3.fromRGB(255, 255, 255);
local v9 = Color3.fromRGB(196, 0, 1);
local v10 = l_Images_0["component_assets/circle_29"];
local v11 = v2.PureComponent:extend("FillCircle");
v11.validateProps = v4.strictInterface({
    Position = v4.UDim2,
    AnchorPoint = v4.Vector2,
    fillFraction = v4.number,
    largerCircleFraction = v4.number,
    popCircleFraction = v4.number,
    shakeCircleFraction = v4.number,
    BackgroundColor = v4.Color3
});
local function _(v12)
    if v12 > 0.75 then
        return 8;
    elseif v12 > 0.5 then
        return 6;
    elseif v12 > 0.25 then
        return 4;
    elseif v12 > 0 then
        return 2;
    else
        return 0;
    end;
end;
local function _(v14, v15, v16)
    return (v14 - v15 / 30) / ((v16 - v15) / 30);
end;
local function _(v18, v19, v20)
    local v21 = false;
    if v19 / 30 <= v18 then
        v21 = v18 <= v20 / 30;
    end;
    return v21;
end;
local function v29(v23, v24, v25, v26)
    if v25 then
        v23 = 0.26666666666666666 - v23;
    end;
    local l_v23_0 = v23;
    local v28 = false;
    if l_v23_0 >= 0 then
        v28 = l_v23_0 <= 0.16666666666666666;
    end;
    if not v28 then
        l_v23_0 = v23;
        v28 = false;
        if l_v23_0 >= 0.16666666666666666 then
            v28 = l_v23_0 <= 0.26666666666666666;
        end;
        if not v28 then
            if v23 < 0 then
                v24.size(UDim2.new(0, 16, 0, 16));
                v26();
                return ;
            else
                v24.size(UDim2.new(0, 20, 0, 20));
                v26();
                return ;
            end;
        else
            l_v23_0 = 22 - 2 * ((v23 - 0.16666666666666666) / 0.1);
            v24.size(UDim2.new(0, l_v23_0, 0, l_v23_0));
            return ;
        end;
    else
        l_v23_0 = 16 + 6 * ((v23 - 0) / 0.16666666666666666);
        v24.size(UDim2.new(0, l_v23_0, 0, l_v23_0));
        return ;
    end;
end;
local function v37(v30, v31, _, v33)
    local v34 = false;
    if v30 >= 0 then
        v34 = v30 <= 0.1;
    end;
    if not v34 then
        v34 = false;
        if v30 >= 0.1 then
            v34 = v30 <= 0.2;
        end;
        if not v34 then
            v31.size(UDim2.new(0, 20, 0, 20));
            v33();
            return ;
        else
            local v35 = 24 - 4 * ((v30 - 0.1) / 0.1);
            v31.size(UDim2.new(0, v35, 0, v35));
            return ;
        end;
    else
        local v36 = 20 + 4 * ((v30 - 0) / 0.1);
        v31.size(UDim2.new(0, v36, 0, v36));
        return ;
    end;
end;
local function v43(v38, v39, _, v41)
    local v42 = false;
    if v38 >= 0 then
        v42 = v38 <= 0.1;
    end;
    if not v42 then
        v42 = false;
        if v38 >= 0.1 then
            v42 = v38 <= 0.2;
        end;
        if not v42 then
            v42 = false;
            if v38 >= 0.2 then
                v42 = v38 <= 0.26666666666666666;
            end;
            if not v42 then
                v42 = false;
                if v38 >= 0.26666666666666666 then
                    v42 = v38 <= 0.3333333333333333;
                end;
                if not v42 then
                    v42 = false;
                    if v38 >= 0.3333333333333333 then
                        v42 = v38 <= 0.4;
                    end;
                    if not v42 then
                        v42 = false;
                        if v38 >= 0.4 then
                            v42 = v38 <= 0.4666666666666667;
                        end;
                        if not v42 then
                            v39.positionOffset(UDim2.new(0, 0, 0, 0));
                            v41();
                            return ;
                        else
                            v39.positionOffset(UDim2.new(0, -8 + 8 * ((v38 - 0.4) / 0.06666666666666667), 0, 0));
                            return ;
                        end;
                    else
                        v39.positionOffset(UDim2.new(0, 8 - 16 * ((v38 - 0.3333333333333333) / 0.06666666666666667), 0, 0));
                        return ;
                    end;
                else
                    v39.positionOffset(UDim2.new(0, -8 + 16 * ((v38 - 0.26666666666666666) / 0.06666666666666667), 0, 0));
                    return ;
                end;
            else
                v39.positionOffset(UDim2.new(0, 8 - 16 * ((v38 - 0.2) / 0.06666666666666667), 0, 0));
                return ;
            end;
        else
            v39.positionOffset(UDim2.new(0, -4 + 12 * ((v38 - 0.1) / 0.1), 0, 0));
            return ;
        end;
    else
        v39.positionOffset(UDim2.new(0, -4 * ((v38 - 0) / 0.1), 0, 0));
        return ;
    end;
end;
v11.init = function(v44)
    local v45, v46 = v2.createBinding(UDim2.new(0, 16, 0, 16));
    v44.sizeBinding = v45;
    v44.sizeBindingUpdate = v46;
    v44.largerSizeBinding = v44.sizeBinding:map(function(v47)
        return v47 + UDim2.new(0, 2, 0, 2);
    end);
    v45, v46 = v2.createBinding(UDim2.new(0, 0, 0, 0));
    v44.positionOffsetBinding = v45;
    v44.positionOffsetBindingUpdate = v46;
    v44.updateBindings = {
        size = v44.sizeBindingUpdate,
        positionOffset = v44.positionOffsetBindingUpdate
    };
    v44.animationStartTime = nil;
    v44.animationFunction = nil;
    v44.reverseAnimation = false;
    v44.renderSteppedConnection = nil;
end;
v11.render = function(v48)
    local l_props_0 = v48.props;
    local v50 = l_props_0.fillFraction >= 1 and v9 or v8;
    local l_createElement_0 = v2.createElement;
    local v52 = "Frame";
    local v53 = {
        Size = v48.sizeBinding,
        Position = l_props_0.Position,
        AnchorPoint = l_props_0.AnchorPoint,
        BackgroundTransparency = 1
    };
    local v54 = {};
    local l_createElement_1 = v2.createElement;
    local v56 = "Frame";
    local v57 = {
        Position = v48.positionOffsetBinding,
        Size = UDim2.new(1, 0, 1, 0),
        BorderSizePixel = 0,
        BackgroundColor3 = v7
    };
    local v58 = {
        OuterRing = v2.createElement(l_ImageSetLabel_0, {
            Image = "rbxasset://textures/ui/InGameMenu/CircleCutout.png",
            Size = UDim2.new(1, 0, 1, 0),
            ImageColor3 = l_props_0.BackgroundColor,
            BackgroundTransparency = 1,
            ZIndex = 10
        }),
        InnerRing = v2.createElement(l_ImageSetLabel_0, {
            Image = v10,
            Size = UDim2.new(1, -4, 1, -4),
            Position = UDim2.new(0.5, 0, 0.5, 0),
            AnchorPoint = Vector2.new(0.5, 0.5),
            ImageColor3 = l_props_0.BackgroundColor,
            BackgroundTransparency = 1,
            ZIndex = 10
        })
    };
    local l_createElement_2 = v2.createElement;
    local v60 = "Frame";
    local v61 = {
        BackgroundTransparency = 1,
        Size = UDim2.new(0, 0, 0, 0),
        Position = UDim2.new(0.5, 0, 0.5, 0),
        Rotation = l_props_0.fillFraction * 360
    };
    local l_fillFraction_0 = l_props_0.fillFraction;
    v61.ZIndex = l_fillFraction_0 > 0.75 and 8 or (l_fillFraction_0 > 0.5 and 6 or (l_fillFraction_0 > 0.25 and 4 or (l_fillFraction_0 > 0 and 2 or 0)));
    v58.FillRingRotationFrame = l_createElement_2(v60, v61, {
        FillRing = v2.createElement(l_ImageSetLabel_0, {
            Image = "rbxasset://textures/ui/InGameMenu/QuarterCircle.png",
            Size = v48.largerSizeBinding,
            AnchorPoint = Vector2.new(0.5, 0.5),
            ImageColor3 = v50,
            BackgroundTransparency = 1
        })
    });
    v58.EdgeBlockers = v2.createElement("Frame", {
        BackgroundTransparency = 1,
        Size = UDim2.new(1, 0, 1, 0),
        ZIndex = 10
    }, {
        Top = v2.createElement("Frame", {
            AnchorPoint = Vector2.new(0.5, 1),
            Position = UDim2.new(0.5, 0, 0, 0),
            Size = UDim2.new(1, 4, 0, 2),
            BackgroundColor3 = l_props_0.BackgroundColor,
            BorderSizePixel = 0
        }),
        Right = v2.createElement("Frame", {
            AnchorPoint = Vector2.new(0, 0.5),
            Position = UDim2.new(1, 0, 0.5, 0),
            Size = UDim2.new(0, 2, 1, 4),
            BackgroundColor3 = l_props_0.BackgroundColor,
            BorderSizePixel = 0
        }),
        Bottom = v2.createElement("Frame", {
            AnchorPoint = Vector2.new(0.5, 0),
            Position = UDim2.new(0.5, 0, 1, 0),
            Size = UDim2.new(1, 4, 0, 2),
            BackgroundColor3 = l_props_0.BackgroundColor,
            BorderSizePixel = 0
        }),
        Left = v2.createElement("Frame", {
            AnchorPoint = Vector2.new(1, 0.5),
            Position = UDim2.new(0, 0, 0.5, 0),
            Size = UDim2.new(0, 2, 1, 4),
            BackgroundColor3 = l_props_0.BackgroundColor,
            BorderSizePixel = 0
        })
    });
    v58.TopLeftFill = v2.createElement("Frame", {
        Size = UDim2.new(0.5, 0, 0.5, 0),
        BackgroundColor3 = l_props_0.fillFraction >= 1 and v50 or v7,
        BorderSizePixel = 0,
        ZIndex = l_props_0.fillFraction >= 1 and 9 or 7
    });
    v58.BottomLeftFill = v2.createElement("Frame", {
        Size = UDim2.new(0.5, 0, 0.5, 0),
        Position = UDim2.new(0, 0, 0.5, 0),
        BackgroundColor3 = l_props_0.fillFraction >= 0.75 and v50 or v7,
        BorderSizePixel = 0,
        ZIndex = l_props_0.fillFraction >= 0.75 and 9 or 5
    });
    v58.BottomRightFill = v2.createElement("Frame", {
        Size = UDim2.new(0.5, 0, 0.5, 0),
        Position = UDim2.new(0.5, 0, 0.5, 0),
        BackgroundColor3 = l_props_0.fillFraction >= 0.5 and v50 or v7,
        BorderSizePixel = 0,
        ZIndex = l_props_0.fillFraction >= 0.5 and 9 or 3
    });
    v58.TopRightFill = v2.createElement("Frame", {
        Size = UDim2.new(0.5, 0, 0.5, 0),
        Position = UDim2.new(0.5, 0, 0, 0),
        BackgroundColor3 = l_props_0.fillFraction >= 0.25 and v50 or v7,
        BorderSizePixel = 0,
        ZIndex = l_props_0.fillFraction >= 0.25 and 9 or 1
    });
    v54.PositionOffsetFrame = l_createElement_1(v56, v57, v58);
    return l_createElement_0(v52, v53, v54);
end;
v11.didUpdate = function(v63, v64, _)
    local v66 = v64.largerCircleFraction <= v64.fillFraction;
    local v67 = v63.props.largerCircleFraction <= v63.props.fillFraction;
    if v66 ~= v67 then
        v63:playAnimation(v29, not v67);
    end;
    local v68 = v64.popCircleFraction <= v64.fillFraction;
    if not (not (v63.props.popCircleFraction <= v63.props.fillFraction) or v68) then
        v63:playAnimation(v37, false);
    end;
    local v69 = v64.shakeCircleFraction <= v64.fillFraction;
    if not (not (v63.props.shakeCircleFraction <= v63.props.fillFraction) or v69) then
        v63:playAnimation(v43, false);
    end;
end;
v11.playAnimation = function(v70, v71, v72)
    if v70.animationFunction then
        v70.animationFunction(100, v70.updateBindings, v70.reverseAnimation, function()
        end);
    end;
    v70.animationStartTime = tick();
    v70.animationFunction = v71;
    v70.reverseAnimation = v72;
    if not v70.renderSteppedConnection then
        v70.renderSteppedConnection = l_RunService_0.RenderStepped:Connect(function()
            v70.animationFunction(tick() - v70.animationStartTime, v70.updateBindings, v70.reverseAnimation, function()
                v70:stopAnimation();
            end);
        end);
    end;
end;
v11.stopAnimation = function(v73)
    if v73.renderSteppedConnection then
        v73.renderSteppedConnection:Disconnect();
        v73.renderSteppedConnection = nil;
    end;
end;
v11.willUnmount = function(v74)
    v74:stopAnimation();
end;
return v11;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Roact);
local v2 = require(l_CorePackages_0.UIBlox);
local v3 = require(l_CorePackages_0.Packages.t);
local l_Cell_0 = v2.App.Table.Cell;
local l_CursorKind_0 = v2.App.SelectionImage.CursorKind;
local l_withSelectionCursorProvider_0 = v2.App.SelectionImage.withSelectionCursorProvider;
local v7 = require(script.Parent.Parent.Dependencies);
local v8 = require(v7.GameIcon);
local v9 = require(v7.ThemedTextLabel);
local v10 = require(v7.withLocalization);
local v11 = v1.PureComponent:extend("GameCell");
v11.validateProps = v3.strictInterface({
    gameId = v3.number,
    layoutOrder = v3.optional(v3.union(v3.integer, v3.table)),
    onActivated = v3.optional(v3.callback)
});
v11.renderWithSelectionCursor = function(v12, v13)
    local l_props_0 = v12.props;
    return v10({
        labelText = "CoreScripts.InGameMenu.Report.ReportExperience"
    })(function(v15)
        return v1.createElement(l_Cell_0, {
            onActivated = l_props_0.onActivated,
            SelectionImageObject = v13(l_CursorKind_0.Square),
            layoutOrder = l_props_0.layoutOrder,
            size = UDim2.new(1, 0, 0, 72),
            head = v1.createElement("Frame", {
                BackgroundTransparency = 1,
                Size = UDim2.new(1, 0, 0, 72)
            }, {
                GameIcon = v1.createElement(v8, {
                    gameId = l_props_0.gameId,
                    iconSize = 48,
                    cornerRadius = UDim.new(0, 8),
                    Position = UDim2.new(0, 0, 0.5, 0),
                    AnchorPoint = Vector2.new(0, 0.5)
                }),
                Label = v1.createElement(v9, {
                    fontKey = "Header2",
                    themeKey = "TextEmphasis",
                    BackgroundTransparency = 1,
                    AnchorPoint = Vector2.new(0, 0.5),
                    AutomaticSize = Enum.AutomaticSize.XY,
                    Text = v15.labelText,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    Position = UDim2.new(0, 54, 0.5, 0)
                })
            }),
            tail = v1.createElement("Frame", {
                AnchorPoint = Vector2.new(1, 0),
                BackgroundTransparency = 1,
                Position = UDim2.new(1, 0, 0, 0),
                Size = UDim2.new(0, 0, 1, 0)
            })
        });
    end);
end;
v11.render = function(v16)
    return l_withSelectionCursorProvider_0(function(v17)
        return v16:renderWithSelectionCursor(v17);
    end);
end;
return v11;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.UIBlox);
local v4 = require(l_CorePackages_0.Packages.t);
local l_Parent_0 = script.Parent.Parent;
local v6 = require(l_Parent_0.Components.VirtualKeyboardMonitor);
local v7 = require(l_Parent_0.Resources.Assets);
local v8 = require(require(l_Parent_0.Dependencies).Divider);
local l_ImageSetButton_0 = v3.Core.ImageSet.ImageSetButton;
local l_withStyle_0 = v3.Core.Style.withStyle;
local l_IconButton_0 = v3.App.Button.IconButton;
local l_HeaderBar_0 = v3.App.Bar.HeaderBar;
local l_IconSize_0 = v3.App.ImageSet.Enum.IconSize;
local l_Images_0 = v3.App.ImageSet.Images;
local l_GetFFlagUIBloxUseNewHeaderBar_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).UIBlox.GetFFlagUIBloxUseNewHeaderBar;
local l_makeBackButton_0 = require(l_CorePackages_0.Workspace.Packages.AppHeaderBar).makeBackButton;
local v17 = v2.Component:extend("ModalDialog");
v17.validateProps = v4.strictInterface({
    visible = v4.boolean,
    screenSize = v4.Vector2,
    titleText = v4.optional(v4.string),
    showCloseButton = v4.optional(v4.boolean),
    headerBar = v4.optional(v4.table),
    contents = v4.optional(v4.table),
    actionButtons = v4.optional(v4.table),
    onDismiss = v4.optional(v4.callback),
    onBackButtonActivated = v4.optional(v4.callback)
});
v17.init = function(v18)
    v18.virtualKeyboardMonitor = v6.getInstance();
    v18.onOverlayActivated = function()
        if not v18.virtualKeyboardMonitor:isKeyboardJustOff() then
            v18.props.onDismiss();
            return ;
        else
            return ;
        end;
    end;
end;
v17.renderHeaderBarLeft = function(v19)
    local l_props_0 = v19.props;
    if not l_props_0.showCloseButton then
        if l_props_0.onBackButtonActivated ~= nil then
            if not l_GetFFlagUIBloxUseNewHeaderBar_0() then
                return (l_HeaderBar_0.renderLeft.backButton(l_props_0.onBackButtonActivated));
            else
                return (l_makeBackButton_0(l_props_0.onBackButtonActivated));
            end;
        else
            return function()
                return nil;
            end;
        end;
    else
        return function()
            return v2.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/navigation/close"],
                onActivated = l_props_0.onDismiss
            });
        end;
    end;
end;
v17.renderHeaderBarRight = function(_)
    return function()
        return nil;
    end;
end;
v17.render = function(v22)
    local l_props_1 = v22.props;
    local v24 = Vector2.new(math.min(l_props_1.screenSize.X, 540), (math.min(l_props_1.screenSize.Y, 375)));
    local v25 = nil;
    local v26 = nil;
    if l_props_1.screenSize.X < 540 then
        v25 = Vector2.new(0.5, 1);
        v26 = UDim2.fromScale(0.5, 1);
    else
        v25 = Vector2.new(0.5, 0.5);
        v26 = UDim2.fromScale(0.5, 0.5);
    end;
    local v27 = math.min(230, (v24.Y - 49) - 96);
    if not l_props_1.actionButtons then
        v27 = v27 + 96;
    end;
    return l_withStyle_0(function(v28)
        return v2.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.fromScale(1, 1),
            Visible = l_props_1.visible
        }, {
            Overlay = v2.createElement("TextButton", {
                AutoButtonColor = false,
                BackgroundColor3 = v28.Theme.Overlay.Color,
                BackgroundTransparency = v28.Theme.Overlay.Transparency,
                BorderSizePixel = 0,
                Size = UDim2.fromScale(1, 1),
                Text = "",
                ZIndex = -10,
                [v2.Event.Activated] = v22.onOverlayActivated
            }),
            Dialog = v2.createElement(l_ImageSetButton_0, {
                Active = true,
                AnchorPoint = v25,
                BackgroundTransparency = 1,
                Image = v7.Images.RoundedRect.Image,
                ImageColor3 = v28.Theme.BackgroundUIDefault.Color,
                ImageTransparency = v28.Theme.BackgroundUIDefault.Transparency,
                Position = v26,
                ScaleType = v7.Images.RoundedRect.ScaleType,
                Size = UDim2.fromOffset(v24.X, v24.Y),
                SliceCenter = v7.Images.RoundedRect.SliceCenter
            }, {
                Layout = v2.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                HeaderBar = v2.createElement("Frame", {
                    BackgroundTransparency = 1,
                    LayoutOrder = 1,
                    Size = UDim2.new(1, 0, 0, 48)
                }, {
                    Bar = (l_props_1.headerBar or v2.createElement(l_HeaderBar_0, {
                        backgroundTransparency = 1,
                        barHeight = 48,
                        renderLeft = v22:renderHeaderBarLeft(),
                        renderRight = v22:renderHeaderBarRight(),
                        title = l_props_1.titleText
                    })) or nil
                }),
                Divider = v2.createElement(v8, {
                    LayoutOrder = 2
                }),
                Content = v2.createElement("Frame", {
                    BackgroundTransparency = 1,
                    LayoutOrder = 3,
                    Size = UDim2.new(1, 0, 0, v27),
                    ZIndex = 10
                }, {
                    Contents = l_props_1.contents
                }),
                ActionBar = not not l_props_1.actionButtons and v2.createElement("Frame", {
                    BackgroundTransparency = 1,
                    LayoutOrder = 4,
                    Size = UDim2.new(1, 0, 0, 96)
                }, {
                    Padding = v2.createElement("UIPadding", {
                        PaddingTop = UDim.new(0, 24),
                        PaddingBottom = UDim.new(0, 24),
                        PaddingLeft = UDim.new(0, 24),
                        PaddingRight = UDim.new(0, 24)
                    }),
                    ActionButtons = l_props_1.actionButtons
                }) or nil
            })
        });
    end);
end;
v17.bindActions = function(v29)
    l_ContextActionService_0:BindCoreAction("ModalDialogDismiss", function(_, v31, _)
        if v31 == Enum.UserInputState.Begin then
            v29.props.onDismiss();
        end;
    end, false, Enum.KeyCode.Escape);
end;
v17.unbindActions = function(_)
    l_ContextActionService_0:UnbindCoreAction("ModalDialogDismiss");
end;
v17.didMount = function(v34)
    if v34.props.visible then
        v34:bindActions();
    end;
end;
v17.didUpdate = function(v35)
    if not v35.props.visible then
        v35:unbindActions();
        return ;
    else
        v35:bindActions();
        return ;
    end;
end;
v17.willUnmount = function(v36)
    v36:unbindActions();
end;
return v17;


local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.UIBlox);
local v3 = require(l_CorePackages_0.Packages.React);
local l_ButtonStack_0 = v2.App.Button.ButtonStack;
local l_ButtonType_0 = v2.App.Button.Enum.ButtonType;
local l_HeaderBar_0 = v2.App.Bar.HeaderBar;
local l_useStyle_0 = v2.Core.Style.useStyle;
local l_Parent_0 = script.Parent.Parent.Parent;
local v9 = require(l_Parent_0.Dependencies);
local v10 = require(l_RobloxGui_0.Modules.RobloxTranslator);
local v11 = require(l_Parent_0.Flags.GetFFlagReportAnythingLocalizationEnabled);
local v12 = require(v9.Divider);
return function(v13)
    local v14 = l_useStyle_0();
    local l_Theme_0 = v14.Theme;
    local l_Font_0 = v14.Font;
    local v17 = 48;
    local v18 = 180;
    local v19 = 50;
    if not (not v11() or not v13.isSmallPortraitMode) then
        v17 = 84;
        v18 = 260;
        v19 = 100;
    end;
    return v3.createElement("Frame", {
        Size = UDim2.new(0, not v13.isSmallPortraitMode and 480 or 343, 0, v18),
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.new(0.5, 0, 0.5, 0),
        BackgroundColor3 = Color3.fromHex("#4F545F"),
        ZIndex = 5
    }, {
        Corner = v3.createElement("UICorner", {
            CornerRadius = UDim.new(0, 8)
        }),
        HeaderAndContent = v3.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1
        }, {
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            Header = v3.createElement(l_HeaderBar_0, {
                backgroundTransparency = 1,
                barHeight = 48,
                renderLeft = function()
                end,
                renderRight = function()
                end,
                title = not v11() and "Retake Scene" or v10:FormatByKey("Feature.ReportAbuse.Action.RetakeScene"),
                LayoutOrder = 1
            }),
            Divider = v3.createElement(v12, {
                LayoutOrder = 2
            }),
            Description = v3.createElement("Frame", {
                Size = UDim2.new(1, 0, 1, -v17 - 1),
                BackgroundTransparency = 1,
                LayoutOrder = 3
            }, {
                Padding = v3.createElement("UIPadding", {
                    PaddingTop = UDim.new(0, 8),
                    PaddingBottom = UDim.new(0, 8),
                    PaddingLeft = UDim.new(0, 16),
                    PaddingRight = UDim.new(0, 16)
                }),
                TextBody = v3.createElement("TextLabel", {
                    Text = not v11() and "Help us understand what\226\128\153s happening around you. We\226\128\153ll capture the scene the moment you select \226\128\156Report.\226\128\157" or v10:FormatByKey("Feature.ReportAbuse.Message.RetakeScene"),
                    Font = l_Font_0.Body.Font,
                    LayoutOrder = 3,
                    TextColor3 = l_Theme_0.TextEmphasis.Color,
                    TextTransparency = l_Theme_0.TextEmphasis.Transparency,
                    TextSize = 16,
                    TextWrapped = true,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextYAlignment = if not v11() then nil else Enum.TextYAlignment.Top,
                    Size = UDim2.new(1, 0, 0, v19),
                    BackgroundTransparency = 1
                })
            })
        }),
        Footer = v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(1, 0, 0, v17),
            Position = UDim2.new(0, 0, 1, -v17),
            BorderSizePixel = 0,
            LayoutOrder = 4
        }, {
            Padding = v3.createElement("UIPadding", {
                PaddingTop = UDim.new(0, 6),
                PaddingBottom = UDim.new(0, 6),
                PaddingLeft = UDim.new(0, 16),
                PaddingRight = UDim.new(0, 16)
            }),
            ActionButtons = v3.createElement(l_ButtonStack_0, {
                forcedFillDirection = if not not v11() and v13.isSmallPortraitMode then Enum.FillDirection.Vertical else Enum.FillDirection.Horizontal,
                buttons = {
                    {
                        buttonType = l_ButtonType_0.Secondary,
                        props = if not v13.isSmallPortraitMode then {
                            onActivated = v13.onCancel,
                            text = not v11() and "Cancel" or v10:FormatByKey("InGame.InspectMenu.Action.Cancel")
                        } else {
                            onActivated = v13.onCancel,
                            text = not v11() and "Cancel" or v10:FormatByKey("InGame.InspectMenu.Action.Cancel"),
                            size = if not v11() then UDim2.new(0, 80, 0, 28) else UDim2.new(1, 0, 0, 28),
                            fontStyle = l_Font_0.Body2
                        }
                    },
                    {
                        buttonType = l_ButtonType_0.PrimarySystem,
                        props = if not v13.isSmallPortraitMode then {
                            onActivated = v13.onRestart,
                            text = not v11() and "Back To Experience" or v10:FormatByKey("Feature.ReportAbuse.Action.BackToExperience")
                        } else {
                            onActivated = v13.onRestart,
                            text = not v11() and "Back To Experience" or v10:FormatByKey("Feature.ReportAbuse.Action.BackToExperience"),
                            size = if not v11() then UDim2.new(0, 200, 0, 28) else UDim2.new(1, 0, 0, 28),
                            fontStyle = l_Font_0.Body2
                        }
                    }
                }
            })
        })
    });
end;


local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.UIBlox);
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(l_CorePackages_0.Cryo);
local l_ImageSetButton_0 = v2.Core.ImageSet.ImageSetButton;
local l_useStyle_0 = v2.Core.Style.useStyle;
local l_ButtonStack_0 = v2.App.Button.ButtonStack;
local l_ButtonType_0 = v2.App.Button.Enum.ButtonType;
local l_Parent_0 = script.Parent.Parent.Parent;
local v10 = require(l_Parent_0.Resources.Assets);
local v11 = require(l_Parent_0.Dependencies);
local v12 = require(l_Parent_0.Components.DebugCanvas);
local v13 = require(l_Parent_0.Components.ReportAnything.ScreenshotHighlighter);
local v14 = require(l_Parent_0.Components.VirtualKeyboardMonitor);
local v15 = require(l_Parent_0.Components.ReportAnything.ScreenshotDialogPortraitModeHeader);
local v16 = require(l_Parent_0.Components.ReportAnything.ScreenshotDialogLandscapeModeHeader);
local v17 = require(l_Parent_0.Utility.AbuseReportBuilder);
local _ = require(l_Parent_0.Utility.ReportAnythingAnalytics);
local v19 = require(l_RobloxGui_0.Modules.RobloxTranslator);
local v20 = require(l_Parent_0.Flags.GetFFlagReportAnythingLocalizationEnabled);
local v21 = require(v11.Divider);
local function v23(v22)
    return v3.createElement("Frame", {
        BackgroundTransparency = 0,
        Size = UDim2.new(1, 0, 0, 60),
        BackgroundColor3 = Color3.fromHex("#4F545F"),
        AnchorPoint = Vector2.new(0, 1),
        Position = UDim2.fromScale(0, 1),
        LayoutOrder = 4
    }, {
        Layout = v3.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            HorizontalAlignment = Enum.HorizontalAlignment.Center
        }),
        Container = v3.createElement("Frame", {
            Size = UDim2.new(0, 400, 1, 0),
            BackgroundTransparency = 1
        }, {
            Padding = v3.createElement("UIPadding", {
                PaddingTop = UDim.new(0, 12),
                PaddingBottom = UDim.new(0, 12),
                PaddingLeft = UDim.new(0, 32),
                PaddingRight = UDim.new(0, 32)
            }),
            ActionButtons = v3.createElement(l_ButtonStack_0, {
                marginBetween = 8,
                buttons = {
                    {
                        buttonType = l_ButtonType_0.PrimarySystem,
                        props = {
                            onActivated = function()
                                v22.reportAction(v22.annotationPoints);
                            end,
                            text = not v20() and "Next" or v19:FormatByKey("Feature.ReportAbuse.Action.Next")
                        }
                    }
                }
            })
        })
    });
end;
return function(v24)
    v3.useEffect(function()
        if v24.reportAnythingAnalytics then
            v24.reportAnythingAnalytics.incrementAnnotationPageSeen();
        end;
    end, {});
    local l_Theme_0 = l_useStyle_0().Theme;
    local v26 = v14.getInstance();
    local function v27()
        warn("OverlayActivated");
        if not v26:isKeyboardJustOff() then
            if v24.dismissAction then
                warn("Menu dismissed");
                v24.dismissAction();
            end;
            return ;
        else
            return ;
        end;
    end;
    local v28, v29 = v3.useState(v4.Dictionary.join({}, v24.initialAnnotationPoints or {}));
    local v30, v31 = v3.useState({});
    local function _()
        local v32 = {};
        for v33, v34 in pairs(v28) do
            v32[v33] = v34;
        end;
        v29(v32);
    end;
    local function v40(_)
        if v24.reportAnythingAnalytics then
            v24.reportAnythingAnalytics.incrementAnnotationPlace();
        end;
        local v37 = {};
        for v38, v39 in pairs(v28) do
            v37[v38] = v39;
        end;
        v29(v37);
        v31({});
    end;
    local function v44()
        if #v28 > 0 then
            if v24.reportAnythingAnalytics then
                v24.reportAnythingAnalytics.incrementAnnotationUndo();
            end;
            table.insert(v30, 1, v28[#v28]);
            table.remove(v28, #v28);
            local v41 = {};
            for v42, v43 in pairs(v28) do
                v41[v42] = v43;
            end;
            v29(v41);
        end;
    end;
    local function v48()
        if #v30 > 0 then
            if v24.reportAnythingAnalytics then
                v24.reportAnythingAnalytics.incrementAnnotationRedo();
            end;
            table.insert(v28, v30[1]);
            table.remove(v30, 1);
            local v45 = {};
            for v46, v47 in pairs(v28) do
                v45[v46] = v47;
            end;
            v29(v45);
        end;
    end;
    local v49 = #v28 > 0;
    local v50 = #v30 > 0;
    return v3.createElement("TextButton", {
        AutoButtonColor = false,
        BorderSizePixel = 0,
        BackgroundColor3 = l_Theme_0.Overlay.Color,
        BackgroundTransparency = l_Theme_0.Overlay.Transparency,
        Size = UDim2.new(1, 0, 1, 0),
        Position = UDim2.fromScale(0.5, 0.5),
        AnchorPoint = Vector2.new(0.5, 0.5),
        ZIndex = 10,
        Text = "",
        [v3.Event.Activated] = v27
    }, {
        ScreenshotDialog = v3.createElement(l_ImageSetButton_0, {
            Active = true,
            Size = UDim2.fromScale(1, 1),
            BackgroundTransparency = 1,
            Image = v10.Images.RoundedRect.Image,
            ImageColor3 = l_Theme_0.BackgroundUIDefault.Color,
            ImageTransparency = l_Theme_0.BackgroundUIDefault.Transparency,
            ScaleType = v10.Images.RoundedRect.ScaleType,
            SliceCenter = v10.Images.RoundedRect.SliceCenter
        }, {
            HeaderAndContent = v3.createElement("Frame", {
                Size = UDim2.new(1, 0, 1, not v24.isSmallPortraitMode and 0 or -60),
                BackgroundTransparency = 1
            }, {
                Layout = v3.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                Header = if not v24.isSmallPortraitMode then v3.createElement(v16, {
                    titleText = v24.titleText,
                    backAction = v24.backAction,
                    reportAction = v24.reportAction,
                    undoAnnotationPoints = v44,
                    redoAnnotationPoints = v48,
                    isRedoEnabled = v50,
                    isUndoEnabled = v49,
                    annotationPoints = v28
                }) else v3.createElement(v15, {
                    titleText = v24.titleText,
                    backAction = v24.backAction,
                    undoAnnotationPoints = v44,
                    redoAnnotationPoints = v48,
                    isRedoEnabled = v50,
                    isUndoEnabled = v49,
                    annotationPoints = v28
                }),
                Divider = v3.createElement(v21, {
                    LayoutOrder = 2
                }),
                ScreenshotAnnotation = v3.createElement("Frame", {
                    BackgroundTransparency = 1,
                    LayoutOrder = 3,
                    Size = UDim2.new(1, 0, 1, -49),
                    ZIndex = 1
                }, {
                    Container = v3.createElement("Frame", {
                        Size = UDim2.fromScale(1, 1),
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        Position = UDim2.fromScale(0.5, 0.5),
                        BackgroundTransparency = 1
                    }, {
                        UIAspectRatioConstraint = v3.createElement("UIAspectRatioConstraint", {
                            AspectRatio = v24.imageAspectRatio
                        }),
                        Padding = v3.createElement("UIPadding", {
                            PaddingTop = UDim.new(0, 16),
                            PaddingBottom = UDim.new(0, 16),
                            PaddingLeft = UDim.new(0, 16),
                            PaddingRight = UDim.new(0, 16)
                        }),
                        AnnotationLayer = v3.createElement("Frame", {
                            Size = UDim2.new(1, 0, 1, 0),
                            BorderSizePixel = 2,
                            BorderMode = Enum.BorderMode.Inset,
                            BorderColor3 = Color3.fromRGB(255, 255, 255)
                        }, {
                            ScreenshotImage = v3.createElement("ImageLabel", {
                                Size = UDim2.fromScale(1, 1),
                                Image = v24.screenshot,
                                ZIndex = 1
                            }, {}),
                            DebugCanvas = v3.createElement(v12, {
                                identifiedAvatars = v17.getIdentifiedAvatars(),
                                identifiedAds = v17.getIdentifiedAds(),
                                ZIndex = 2
                            }),
                            Highlighter = v3.createElement(v13, {
                                annotationPoints = v28,
                                handleAnnotationPoints = v40,
                                setAnnotationCircleRadius = v17.setAnnotationCircleRadius,
                                setAspectRatioDimensions = v17.setAspectRatioDimensions,
                                ZIndex = 3
                            }, {})
                        })
                    })
                })
            }),
            Footer = if not v24.isSmallPortraitMode then nil else v3.createElement(v23, {
                reportAction = v24.reportAction,
                annotationPoints = v28
            })
        })
    });
end;


local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.UIBlox);
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(l_RobloxGui_0.Modules.RobloxTranslator);
local v5 = require(script.Parent.Parent.Parent.Flags.GetFFlagReportAnythingLocalizationEnabled);
local l_ButtonStack_0 = v2.App.Button.ButtonStack;
local l_ButtonType_0 = v2.App.Button.Enum.ButtonType;
local l_HeaderBar_0 = v2.App.Bar.HeaderBar;
local l_IconButton_0 = v2.App.Button.IconButton;
local l_IconSize_0 = v2.App.ImageSet.Enum.IconSize;
local l_Images_0 = v2.App.ImageSet.Images;
local l_withStyle_0 = v2.Style.withStyle;
local function _(v13)
    return function()
        return l_withStyle_0(function(v14)
            local l_Theme_0 = v14.Theme;
            return v3.createElement("TextLabel", {
                Text = v13,
                Font = v14.Font.Header2.Font,
                TextColor3 = l_Theme_0.TextEmphasis.Color,
                TextTransparency = l_Theme_0.TextEmphasis.Transparency,
                TextSize = 20,
                TextWrapped = true,
                TextXAlignment = Enum.TextXAlignment.Center,
                TextYAlignment = Enum.TextYAlignment.Center,
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundTransparency = 1
            });
        end);
    end;
end;
local function _(v17, v18, v19, v20, v21)
    local v22 = v20 or v21;
    return function()
        return v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 120, 1, 0)
        }, {
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            BackButton = v3.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/navigation/pushBack"],
                layoutOrder = 1,
                onActivated = v17
            }),
            UndoButton = v22 and v3.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/actions/edit/undo"],
                isDisabled = not v21,
                layoutOrder = 2,
                onActivated = v18
            }),
            RedoButton = v22 and v3.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/actions/edit/redo"],
                isDisabled = not v20,
                layoutOrder = 3,
                onActivated = v19
            })
        });
    end;
end;
local function _(v24, v25)
    return function()
        return v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 144, 1, 0)
        }, {
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                VerticalAlignment = Enum.VerticalAlignment.Center
            }),
            Buttons = v3.createElement(l_ButtonStack_0, {
                buttons = {
                    {
                        buttonType = l_ButtonType_0.PrimarySystem,
                        props = {
                            onActivated = function()
                                v24(v25);
                            end,
                            text = not v5() and "Next" or v4:FormatByKey("Feature.ReportAbuse.Action.Next")
                        }
                    }
                }
            })
        });
    end;
end;
return function(v27)
    local l_createElement_0 = v3.createElement;
    local v29 = "Frame";
    local v30 = {
        BackgroundTransparency = 0,
        BackgroundColor3 = Color3.fromHex("#4F545F"),
        LayoutOrder = 1,
        Size = UDim2.new(1, 0, 0, 47),
        ZIndex = 2
    };
    local v31 = {};
    local l_createElement_1 = v3.createElement;
    local l_l_HeaderBar_0_0 = l_HeaderBar_0;
    local v34 = {
        backgroundTransparency = 1,
        barHeight = 48
    };
    local l_backAction_0 = v27.backAction;
    local l_undoAnnotationPoints_0 = v27.undoAnnotationPoints;
    local l_redoAnnotationPoints_0 = v27.redoAnnotationPoints;
    local l_isRedoEnabled_0 = v27.isRedoEnabled;
    local l_isUndoEnabled_0 = v27.isUndoEnabled;
    local v40 = l_isRedoEnabled_0 or l_isUndoEnabled_0;
    local l_l_backAction_0_0 = l_backAction_0 --[[ copy: 9 -> 15 ]];
    local l_l_undoAnnotationPoints_0_0 = l_undoAnnotationPoints_0 --[[ copy: 10 -> 16 ]];
    v34.renderLeft = function()
        return v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 120, 1, 0)
        }, {
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            BackButton = v3.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/navigation/pushBack"],
                layoutOrder = 1,
                onActivated = l_l_backAction_0_0
            }),
            UndoButton = v40 and v3.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/actions/edit/undo"],
                isDisabled = not l_isUndoEnabled_0,
                layoutOrder = 2,
                onActivated = l_l_undoAnnotationPoints_0_0
            }),
            RedoButton = v40 and v3.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/actions/edit/redo"],
                isDisabled = not l_isRedoEnabled_0,
                layoutOrder = 3,
                onActivated = l_redoAnnotationPoints_0
            })
        });
    end;
    l_backAction_0 = v27.reportAction;
    l_undoAnnotationPoints_0 = v27.annotationPoints;
    local l_l_backAction_0_1 = l_backAction_0 --[[ copy: 9 -> 17 ]];
    v34.renderRight = function()
        return v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 144, 1, 0)
        }, {
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                VerticalAlignment = Enum.VerticalAlignment.Center
            }),
            Buttons = v3.createElement(l_ButtonStack_0, {
                buttons = {
                    {
                        buttonType = l_ButtonType_0.PrimarySystem,
                        props = {
                            onActivated = function()
                                l_l_backAction_0_1(l_undoAnnotationPoints_0);
                            end,
                            text = not v5() and "Next" or v4:FormatByKey("Feature.ReportAbuse.Action.Next")
                        }
                    }
                }
            })
        });
    end;
    v34.title = if not v5() then v27.titleText else nil;
    local v44;
    if not v5() then
        v44 = nil;
    else
        l_backAction_0 = v27.titleText;
        v44 = function()
            return l_withStyle_0(function(v45)
                local l_Theme_1 = v45.Theme;
                return v3.createElement("TextLabel", {
                    Text = l_backAction_0,
                    Font = v45.Font.Header2.Font,
                    TextColor3 = l_Theme_1.TextEmphasis.Color,
                    TextTransparency = l_Theme_1.TextEmphasis.Transparency,
                    TextSize = 20,
                    TextWrapped = true,
                    TextXAlignment = Enum.TextXAlignment.Center,
                    TextYAlignment = Enum.TextYAlignment.Center,
                    Size = UDim2.new(1, 0, 1, 0),
                    BackgroundTransparency = 1
                });
            end);
        end;
    end;
    v34.renderCenter = v44;
    v31.Bar = l_createElement_1(l_l_HeaderBar_0_0, v34);
    return l_createElement_0(v29, v30, v31);
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.UIBlox);
local v2 = require(l_CorePackages_0.Packages.React);
local v3 = require(script.Parent.Parent.Parent.Flags.GetFFlagReportAnythingLocalizationEnabled);
local l_HeaderBar_0 = v1.App.Bar.HeaderBar;
local l_IconButton_0 = v1.App.Button.IconButton;
local l_IconSize_0 = v1.App.ImageSet.Enum.IconSize;
local l_Images_0 = v1.App.ImageSet.Images;
local l_withStyle_0 = v1.Style.withStyle;
local _ = function(v9, _, _)
    return function()
        return v2.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 30, 1, 0)
        }, {
            Layout = v2.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            BackButton = v2.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/navigation/pushBack"],
                layoutOrder = 1,
                onActivated = v9
            })
        });
    end;
end;
local function _(v13)
    return function()
        return l_withStyle_0(function(v14)
            local l_CurrentCamera_0 = game.Workspace.CurrentCamera;
            local v16 = 300;
            if l_CurrentCamera_0 ~= nil then
                v16 = l_CurrentCamera_0.ViewportSize.X - 150;
            end;
            local l_Theme_0 = v14.Theme;
            return v2.createElement("TextLabel", {
                Text = v13,
                Font = v14.Font.Header2.Font,
                TextColor3 = l_Theme_0.TextEmphasis.Color,
                TextTransparency = l_Theme_0.TextEmphasis.Transparency,
                TextSize = 20,
                TextWrapped = true,
                TextXAlignment = Enum.TextXAlignment.Center,
                TextYAlignment = Enum.TextYAlignment.Center,
                Size = UDim2.new(0, v16, 1, 0),
                BackgroundTransparency = 1
            });
        end);
    end;
end;
local _ = function(_, v20, v21, v22, v23)
    return function()
        return v2.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 60, 1, 0)
        }, {
            Layout = v2.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            UndoButton = v2.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/actions/edit/undo"],
                isDisabled = not v22,
                layoutOrder = 1,
                onActivated = v20
            }),
            RedoButton = v2.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/actions/edit/redo"],
                isDisabled = not v23,
                layoutOrder = 2,
                onActivated = v21
            })
        });
    end;
end;
return function(v25)
    local v26 = v25.isRedoEnabled or v25.isUndoEnabled;
    local l_createElement_0 = v2.createElement;
    local v28 = "Frame";
    local v29 = {
        BackgroundTransparency = 0,
        BackgroundColor3 = Color3.fromHex("#4F545F"),
        LayoutOrder = 1,
        Size = UDim2.new(1, 0, 0, 48),
        ZIndex = 2
    };
    local v30 = {};
    local l_createElement_1 = v2.createElement;
    local l_l_HeaderBar_0_0 = l_HeaderBar_0;
    local v33 = {
        backgroundTransparency = 1,
        barHeight = 48,
        margin = 12
    };
    local l_backAction_0 = v25.backAction;
    local l_isRedoEnabled_0 = v25.isRedoEnabled;
    local l_isUndoEnabled_0 = v25.isUndoEnabled;
    local l_l_backAction_0_0 = l_backAction_0 --[[ copy: 10 -> 15 ]];
    v33.renderLeft = function()
        return v2.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 30, 1, 0)
        }, {
            Layout = v2.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            BackButton = v2.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/navigation/pushBack"],
                layoutOrder = 1,
                onActivated = l_l_backAction_0_0
            })
        });
    end;
    local v38;
    if not v26 then
        v38 = function()
        end;
    else
        l_backAction_0 = v25.annotationPoints;
        l_isRedoEnabled_0 = v25.undoAnnotationPoints;
        l_isUndoEnabled_0 = v25.redoAnnotationPoints;
        local l_isUndoEnabled_1 = v25.isUndoEnabled;
        local l_isRedoEnabled_1 = v25.isRedoEnabled;
        v38 = function()
            return v2.createElement("Frame", {
                BackgroundTransparency = 1,
                Size = UDim2.new(0, 60, 1, 0)
            }, {
                Layout = v2.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                UndoButton = v2.createElement(l_IconButton_0, {
                    iconSize = l_IconSize_0.Medium,
                    icon = l_Images_0["icons/actions/edit/undo"],
                    isDisabled = not l_isUndoEnabled_1,
                    layoutOrder = 1,
                    onActivated = l_isRedoEnabled_0
                }),
                RedoButton = v2.createElement(l_IconButton_0, {
                    iconSize = l_IconSize_0.Medium,
                    icon = l_Images_0["icons/actions/edit/redo"],
                    isDisabled = not l_isRedoEnabled_1,
                    layoutOrder = 2,
                    onActivated = l_isUndoEnabled_0
                })
            });
        end;
    end;
    v33.renderRight = v38;
    v33.title = if not v3() then v25.titleText else nil;
    if not v3() then
        v38 = nil;
    else
        l_backAction_0 = v25.titleText;
        v38 = function()
            return l_withStyle_0(function(v41)
                local l_CurrentCamera_1 = game.Workspace.CurrentCamera;
                local v43 = 300;
                if l_CurrentCamera_1 ~= nil then
                    v43 = l_CurrentCamera_1.ViewportSize.X - 150;
                end;
                local l_Theme_1 = v41.Theme;
                return v2.createElement("TextLabel", {
                    Text = l_backAction_0,
                    Font = v41.Font.Header2.Font,
                    TextColor3 = l_Theme_1.TextEmphasis.Color,
                    TextTransparency = l_Theme_1.TextEmphasis.Transparency,
                    TextSize = 20,
                    TextWrapped = true,
                    TextXAlignment = Enum.TextXAlignment.Center,
                    TextYAlignment = Enum.TextYAlignment.Center,
                    Size = UDim2.new(0, v43, 1, 0),
                    BackgroundTransparency = 1
                });
            end);
        end;
    end;
    v33.renderCenter = v38;
    v33.isSecondary = true;
    v30.Bar = l_createElement_1(l_l_HeaderBar_0_0, v33);
    return l_createElement_0(v28, v29, v30);
end;


local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local v1 = require(game:GetService("CorePackages").Packages.React);
local v2 = require(l_RobloxGui_0.Modules.RobloxTranslator);
local l_Parent_0 = script.Parent.Parent.Parent;
local v4 = require(l_Parent_0.Components.ReportAnything.ScreenshotDialog);
local v5 = require(l_Parent_0.Components.ReportAnything.ScreenshotReviewDialog);
local v6 = require(l_Parent_0.Flags.GetFFlagReportAnythingLocalizationEnabled);
return function(v7)
    local v8, v9 = v1.useState(v7.initialPageNumber == nil and 1 or v7.initialPageNumber);
    local v10, v11 = v1.useState(1.7777777777777777);
    local v12, v13 = v1.useState(800);
    local v14, v15 = v1.useState(800);
    local v16, v17 = v1.useState(true);
    local v18 = v1.useCallback(function()
        v9(2);
    end, {
        v9
    });
    local v19 = v1.useCallback(function()
        v9(1);
    end, {
        v9
    });
    v1.useEffect(function()
        local l_CurrentCamera_0 = game.Workspace.CurrentCamera;
        if l_CurrentCamera_0 ~= nil then
            local l_ViewportSize_0 = l_CurrentCamera_0.ViewportSize;
            v11(l_ViewportSize_0.X / l_ViewportSize_0.Y);
            v13(l_ViewportSize_0.Y);
            v15(l_ViewportSize_0.X);
            local l_v17_0 = v17;
            local v23 = false;
            if l_ViewportSize_0.X < l_ViewportSize_0.Y then
                v23 = l_ViewportSize_0.X < 800;
            end;
            l_v17_0(v23);
            if v7.reportAnythingAnalytics and l_ViewportSize_0.X < l_ViewportSize_0.Y then
                v7.reportAnythingAnalytics.setIsPortraitMode();
            end;
        end;
    end, {});
    local _ = nil;
    if v8 == 1 then
        return (v1.createElement(v5, {
            imageAspectRatio = v10,
            isSmallPortraitMode = v16,
            viewportHeight = v12,
            viewportWidth = v14,
            onNextPage = v18,
            onBack = v7.dismissAction,
            onSkip = v7.skipAnnotationAction,
            onRestart = v7.restartAction,
            screenshot = v7.screenshot,
            reportAnythingAnalytics = v7.reportAnythingAnalytics
        }, {}));
    else
        local v25 = v7.entryPoint == "player" and "Select Person in Scene" or "Select Problem in Scene";
        if v6() then
            v25 = v7.entryPoint == "player" and v2:FormatByKey("Feature.ReportAbuse.Label.SelectPerson") or v2:FormatByKey("Feature.ReportAbuse.Label.SelectProblem");
        end;
        return (v1.createElement(v4, {
            titleText = v25,
            backAction = v19,
            dismissAction = v7.dismissAction,
            reportAction = v7.reportAction,
            initialAnnotationPoints = v7.initialAnnotationPoints,
            isSmallPortraitMode = v16,
            screenshot = v7.screenshot,
            imageAspectRatio = v10,
            reportAnythingAnalytics = v7.reportAnythingAnalytics
        }));
    end;
end;


local v0 = require(game:GetService("CorePackages").Roact);
local v1 = require(script.Parent.ScreenshotFlowStepHandler);
local v2 = require(script.Parent.Parent.Parent.Parent.Common.renderWithCoreScriptsStyleProvider);
local v3 = v0.PureComponent:extend("ScreenshotFlowStepHandlerContainer");
v3.render = function(v4)
    return v2({
        ScreenshotFlowStepHandlerContainer = v0.createElement(v1, v4.props)
    });
end;
return v3;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local v2 = require(l_CorePackages_0.UIBlox);
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(script.Parent.Parent.Parent.Flags.GetFIntRAMaxAnnotationCount);
local l_ImageSetButton_0 = v2.Core.ImageSet.ImageSetButton;
local l_Images_0 = v2.App.ImageSet.Images;
return function(v7)
    local l_AbsoluteSize_0 = l_RobloxGui_0.AbsoluteSize;
    local v9 = (l_AbsoluteSize_0.X < l_AbsoluteSize_0.Y and l_AbsoluteSize_0.X or l_AbsoluteSize_0.Y) / 5;
    local v10, v11 = v3.useState(false);
    local function v14(v12, v13)
        table.insert(v7.annotationPoints, (Vector2.new(v13.X, v13.Y) - v12.AbsolutePosition) / v12.AbsoluteSize);
        v7.setAnnotationCircleRadius((v9 * 0.5) / if v12.AbsoluteSize.Y < v12.AbsoluteSize.X then v12.AbsoluteSize.X else v12.AbsoluteSize.Y);
        v7.setAspectRatioDimensions(v12.AbsoluteSize.X, v12.AbsoluteSize.Y);
        v7.handleAnnotationPoints(v7.annotationPoints);
    end;
    local function v20(v15, v16)
        local v17 = v16.UserInputState == Enum.UserInputState.Begin;
        local v18 = v16.UserInputType == Enum.UserInputType.Touch;
        local v19 = v16.UserInputType == Enum.UserInputType.MouseButton1;
        if not (not v17 or not v18 and not v19) and #v7.annotationPoints < v4() then
            v11(true);
            v14(v15, v16.Position);
        end;
    end;
    local function v23(_, _)
    end;
    local function v26(_, _)
        if v10 then
            v11(false);
        end;
    end;
    local v27 = {};
    for v28, v29 in ipairs(v7.annotationPoints) do
        v27["point" .. v28] = v3.createElement("Frame", {
            Position = UDim2.fromScale(v29.X, v29.Y),
            BackgroundTransparency = 1,
            Size = UDim2.fromOffset(v9, v9)
        }, {
            Border = v3.createElement(l_ImageSetButton_0, {
                Size = UDim2.fromOffset(v9, v9),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Image = l_Images_0["component_assets/circle_49_stroke_1"],
                ImageColor3 = Color3.fromHex("#3CF3E9"),
                ImageTransparency = 0,
                BackgroundTransparency = 1
            }),
            Background = v3.createElement(l_ImageSetButton_0, {
                Size = UDim2.fromOffset(v9, v9),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Image = l_Images_0["component_assets/circle_49"],
                ImageColor3 = Color3.fromHex("#3CF3E9"),
                ImageTransparency = 0.6,
                BackgroundTransparency = 1
            })
        });
    end;
    return v3.createElement("Frame", {
        BackgroundTransparency = 1,
        Size = UDim2.fromScale(1, 1),
        [v3.Event.InputBegan] = v20,
        [v3.Event.InputChanged] = v23,
        [v3.Event.InputEnded] = v26,
        ZIndex = 3
    }, v27);
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.UIBlox);
local v2 = require(l_CorePackages_0.Packages.React);
local l_ButtonStack_0 = v1.App.Button.ButtonStack;
local l_ButtonType_0 = v1.App.Button.Enum.ButtonType;
return function(v5)
    return v2.createElement("Frame", {
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 0
    }, {
        Buttons = v2.createElement(l_ButtonStack_0, {
            buttons = {
                {
                    buttonType = l_ButtonType_0.PrimarySystem,
                    props = {
                        onActivated = function()
                            v5.onNextPage();
                        end,
                        text = "This is page 1. Click to go next"
                    }
                }
            }
        })
    });
end;


local _ = game:GetService("ContextActionService");
local l_CorePackages_0 = game:GetService("CorePackages");
local _ = game:GetService("GuiService");
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_CorePackages_0.RoactRodux);
local v5 = require(l_CorePackages_0.UIBlox);
local v6 = require(l_CorePackages_0.Packages.t);
local v7 = require(l_CorePackages_0.Cryo);
local l_Parent_0 = script.Parent.Parent;
local v9 = require(l_Parent_0.Dependencies);
local _ = require(v9.FocusHandler);
local v11 = require(v9.playerInterface);
local v12 = require(v9.ThemedTextLabel);
local v13 = require(v9.withLocalization);
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_withVoiceState_0 = require(l_RobloxGui_0.Modules.VoiceChat.VoiceStateContext).withVoiceState;
local l_default_0 = require(l_RobloxGui_0.Modules.VoiceChat.VoiceChatServiceManager).default;
local l_ImageSetLabel_0 = v5.Core.ImageSet.ImageSetLabel;
local v18 = require(v9.GameIcon);
local _ = require(l_Parent_0.Components.BlockPlayerItem);
local v20 = require(l_Parent_0.Actions.EndReportFlow);
local _ = require(l_Parent_0.Actions.OpenBlockPlayerDialog);
local v22 = require(l_Parent_0.Actions.SelectReportCategory);
local v23 = require(l_Parent_0.Utility.SendAnalytics);
local v24 = require(l_Parent_0.Utility.SessionUtility);
local v25 = require(l_Parent_0.Resources.Constants);
local v26 = require(l_Parent_0.Components.ModalDialog);
local v27 = require(l_Parent_0.Resources.Assets);
local _ = require(l_Parent_0.Components.GameCell);
local v29 = require(v9.BarOnTopScrollingFrame);
local l_Cell_0 = v5.App.Table.Cell;
local l_useSelectionCursor_0 = v5.App.SelectionImage.useSelectionCursor;
local l_CursorKind_0 = v5.App.SelectionImage.CursorKind;
local l_Provider_0 = v5.Core.Style.Provider;
local l_withStyle_0 = v5.Core.Style.withStyle;
local l_Colors_0 = v5.App.Style.Colors;
local v36 = require(l_RobloxGui_0.Modules.Flags.GetFFlagReportMenuCellToUseAutomaticSize);
local v37 = {
    BackgroundDefault = {
        Color = l_Colors_0.Flint,
        Transparency = 1
    },
    BackgroundOnHover = {
        Color = l_Colors_0.Graphite,
        Transparency = 0.666
    },
    BackgroundOnPress = {
        Color = l_Colors_0.Graphite,
        Transparency = 0
    }
};
local function v39(v38)
    return v3.createElement("Frame", v7.Dictionary.join({
        Size = UDim2.new(1, 0, 0, 1)
    }, v38, {
        BorderSizePixel = 0,
        BackgroundColor3 = l_Colors_0.Graphite,
        BackgroundTransparency = 0.5,
        theme = v7.None
    }));
end;
local function v41(v40)
    return v3.createElement("Frame", {
        BackgroundTransparency = 1,
        Size = UDim2.new(1, 0, 0, 72),
        AutomaticSize = if not v36() then nil else Enum.AutomaticSize.XY
    }, {
        ListLayout = v3.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Horizontal,
            SortOrder = Enum.SortOrder.LayoutOrder
        }),
        IconFrame = v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 68, 1, 0),
            LayoutOrder = 1
        }, {
            Layout = v3.createElement("UIListLayout", {
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                VerticalAlignment = Enum.VerticalAlignment.Center
            }),
            CustomIcon = v40.iconComponent or nil,
            Icon = v40.icon and v3.createElement(l_ImageSetLabel_0, {
                BackgroundTransparency = 1,
                Image = v40.icon.Image,
                Size = v40.icon.Size
            })
        }),
        TextFrame = v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(1, -68, 1, 0),
            LayoutOrder = 2
        }, {
            ListLayout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                SortOrder = Enum.SortOrder.LayoutOrder,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                Padding = UDim.new(0, 2)
            }),
            Text = v3.createElement(v12, {
                AnchorPoint = Vector2.new(0, 0.5),
                themeKey = "TextEmphasis",
                fontKey = "Header2",
                Size = UDim2.new(1, 0, 0, 20),
                Text = v40.text,
                TextTruncate = Enum.TextTruncate.AtEnd,
                TextXAlignment = Enum.TextXAlignment.Left
            }),
            SubText = v3.createElement(v12, {
                AnchorPoint = Vector2.new(0, 0.5),
                fontKey = "CaptionBody",
                themeKey = "TextMuted",
                Size = UDim2.new(1, 0, 0, 14),
                Text = v40.subtext,
                TextTruncate = Enum.TextTruncate.AtEnd,
                TextXAlignment = Enum.TextXAlignment.Left
            })
        })
    });
end;
local function v43(v42)
    return v3.createElement(l_Cell_0, {
        userInteractionEnabled = true,
        onActivated = v42.onActivated,
        SelectionImageObject = l_useSelectionCursor_0(l_CursorKind_0.Square),
        layoutOrder = v42.layoutOrder,
        size = UDim2.new(1, 0, 0, 72),
        head = v41(v42),
        tail = v3.createElement("Frame")
    });
end;
local v44 = v3.PureComponent:extend("ReportCategoryDialog");
v44.validateProps = v6.strictInterface({
    isReportCategoryMenuOpen = v6.boolean,
    screenSize = v6.Vector2,
    inputType = v6.optional(v6.string),
    reportType = v6.optional(v6.valueOf(v25.ReportType)),
    targetPlayer = v6.optional(v11),
    closeDialog = v6.callback,
    selectReportCategory = v6.optional(v6.callback),
    playerFocusedFlow = v6.boolean
});
v44.init = function(v45)
    v45.buttonRef = v3.createRef();
    v45.onCancel = function()
        v45.props.closeDialog();
    end;
end;
v44.renderContents = function(v46, v47, v48)
    local _ = v46.props;
    local v50 = {
        ListLayout = v3.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            SortOrder = Enum.SortOrder.LayoutOrder
        })
    };
    local l_v47_0 = v47;
    if v47 then
        local v52 = l_default_0:getRecentUsersInteractionData();
        if not v52 or v7.isEmpty(v52) then
            l_v47_0 = false;
        elseif v46.props.playerFocusedFlow then
            l_v47_0 = v46.props.targetPlayer and v52[tostring(v46.props.targetPlayer.UserId)] ~= nil;
        end;
    end;
    if l_v47_0 then
        table.insert(v50, v3.createElement(v43, {
            text = v48.voiceHeader,
            subtext = v48.voiceDescription,
            icon = v27.Images.VoiceChatIcon,
            layoutOrder = #v50 + 1,
            onActivated = function()
                v46.props.selectReportCategory(v25.Category.Voice);
            end
        }));
        table.insert(v50, v3.createElement(v39, {
            LayoutOrder = #v50 + 1
        }));
    end;
    table.insert(v50, v3.createElement(v43, {
        text = v48.textHeader,
        subtext = v48.textDescription,
        icon = v27.Images.TextChatIcon,
        layoutOrder = #v50 + 1,
        onActivated = function()
            v46.props.selectReportCategory(v25.Category.Text);
        end
    }));
    table.insert(v50, v3.createElement(v39, {
        LayoutOrder = #v50 + 1
    }));
    if not v46.props.playerFocusedFlow then
        table.insert(v50, v3.createElement(v43, {
            iconComponent = v3.createElement(v18, {
                gameId = game.GameId,
                iconSize = 33,
                cornerRadius = UDim.new(0, 8)
            }),
            text = v48.experienceHeader,
            subtext = v48.experienceDescription,
            layoutOrder = #v50 + 1,
            onActivated = function()
                v46.props.selectReportCategory(v25.Category.Experience);
            end
        }));
        table.insert(v50, v3.createElement(v39, {
            LayoutOrder = #v50 + 1
        }));
    end;
    table.insert(v50, v3.createElement(v43, {
        text = v48.otherHeader,
        subtext = v48.otherDescription,
        icon = v27.Images.OtherIcon,
        layoutOrder = #v50 + 1,
        onActivated = function()
            v46.props.selectReportCategory(v25.Category.Other);
        end
    }));
    table.insert(v50, v3.createElement(v39, {
        LayoutOrder = #v50 + 1
    }));
    return l_withStyle_0(function(v53)
        return v3.createElement(l_Provider_0, {
            style = v7.Dictionary.join(v53, {
                Theme = v7.Dictionary.join(v53.Theme, v37)
            })
        }, {
            v3.createElement(v29, {
                Size = UDim2.fromScale(1, 1),
                CanvasSize = UDim2.new(1, 0, 0, 72),
                scrollingFrameRef = v46.scrollingFrameRef
            }, v50)
        });
    end);
end;
v44.render = function(v54)
    return l_withVoiceState_0(function(v55)
        return v13({
            titleText = "CoreScripts.InGameMenu.Report.MenuTitle",
            dismissText = "CoreScripts.InGameMenu.Report.Done",
            voiceHeader = "CoreScripts.InGameMenu.Report.Category.Header.Voice",
            voiceDescription = "CoreScripts.InGameMenu.Report.Category.Description.Voice",
            textHeader = "CoreScripts.InGameMenu.Report.Category.Header.Text",
            textDescription = "CoreScripts.InGameMenu.Report.Category.Description.Text",
            experienceHeader = "CoreScripts.InGameMenu.Report.Category.Header.Experience",
            experienceDescription = "CoreScripts.InGameMenu.Report.Category.Description.Experience",
            otherHeader = "CoreScripts.InGameMenu.Report.Category.Header.Other",
            otherDescription = "CoreScripts.InGameMenu.Report.Category.Description.Other"
        })(function(v56)
            return v3.createFragment({
                ModalDialog = v3.createElement(v26, {
                    visible = v54.props.isReportCategoryMenuOpen,
                    screenSize = v54.props.screenSize,
                    titleText = v56.titleText,
                    contents = v54:renderContents(v55.voiceEnabled, v56),
                    showCloseButton = true,
                    onDismiss = v54.onCancel
                })
            });
        end);
    end);
end;
return v4.UNSTABLE_connect2(function(v57, _)
    return {
        isReportCategoryMenuOpen = v57.report.currentPage == v25.Page.Category,
        reportType = v57.report.reportType,
        targetPlayer = v57.report.targetPlayer,
        screenSize = v57.displayOptions.screenSize,
        playerFocusedFlow = v57.report.beginningReportType == v25.ReportType.Player
    };
end, function(v59)
    return {
        selectReportCategory = function(v60)
            v59(v22(v60));
        end,
        closeDialog = function()
            v59(v20());
            v23(v25.Analytics.ReportType, v25.Analytics.ReportFlowAbandoned, {
                source = v25.Analytics.ReportType
            });
            v24.endAbuseReportSession();
        end
    };
end)(v44);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Players_0 = game:GetService("Players");
local v2 = require(l_CorePackages_0.Cryo);
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_CorePackages_0.RoactRodux);
local v5 = require(l_CorePackages_0.UIBlox);
local v6 = require(l_CorePackages_0.Packages.t);
local l_Parent_0 = script.Parent.Parent;
local v8 = require(l_Parent_0.Dependencies);
local v9 = require(v8.BarOnTopScrollingFrame);
local v10 = require(v8.Divider);
local v11 = require(v8.PlayerCell);
local v12 = require(v8.PlayerSearchPredicate);
local v13 = require(v8.SearchBar);
local _ = require(v8.ThemedTextLabel);
local v15 = require(v8.withLocalization);
local v16 = require(l_Parent_0.Actions.NavigateBack);
local v17 = require(l_Parent_0.Actions.EndReportFlow);
local v18 = require(l_Parent_0.Actions.SelectReportListing);
local _ = require(l_Parent_0.Resources.Assets);
local v20 = require(l_Parent_0.Resources.Constants);
local v21 = require(l_Parent_0.Components.ModalDialog);
local v22 = require(l_Parent_0.Components.GameCell);
local v23 = require(l_Parent_0.Utility.SendAnalytics);
local v24 = require(l_Parent_0.Utility.SessionUtility);
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_default_0 = require(l_RobloxGui_0.Modules.VoiceChat.VoiceChatServiceManager).default;
local v27 = require(l_RobloxGui_0.Modules.VoiceChat.Components.VoiceIndicatorFunc);
local v28 = require(l_RobloxGui_0.Modules.VoiceChat.VoiceStateContext);
local v29 = require(l_RobloxGui_0.Modules.VoiceChat.Constants);
local v30 = require(l_CorePackages_0.Packages.React);
local l_Colors_0 = v5.App.Style.Colors;
local l_HeaderBar_0 = v5.App.Bar.HeaderBar;
local l_IconButton_0 = v5.App.Button.IconButton;
local l_IconSize_0 = v5.App.ImageSet.Enum.IconSize;
local l_Provider_0 = v5.Core.Style.Provider;
local l_Images_0 = v5.App.ImageSet.Images;
local l_withStyle_0 = v5.Core.Style.withStyle;
local l_isPlayerVerified_0 = require(l_CorePackages_0.Workspace.Packages.VerifiedBadges).isPlayerVerified;
local l_GetFFlagUIBloxUseNewHeaderBar_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).UIBlox.GetFFlagUIBloxUseNewHeaderBar;
local l_makeBackButton_0 = require(l_CorePackages_0.Workspace.Packages.AppHeaderBar).makeBackButton;
local v41 = {
    BackgroundDefault = {
        Color = l_Colors_0.Flint,
        Transparency = 1
    }
};
local v42 = v3.PureComponent:extend("ReportMenu");
local function v44(v43)
    if v30.useContext(v28.Context).voiceEnabled then
        return v30.createElement(v27, v2.Dictionary.join(v43, {}));
    else
        return nil;
    end;
end;
v42.validateProps = v6.strictInterface({
    isReportMenuOpen = v6.boolean,
    screenSize = v6.Vector2,
    closeDialog = v6.callback,
    openReportDialog = v6.callback,
    canNavigateBack = v6.boolean,
    reportCategory = v6.optional(v6.string),
    navigateBack = v6.optional(v6.callback)
});
v42.init = function(v45)
    v45.scrollingFrameRef = v3.createRef();
    v45.state = {
        isFilterMode = false,
        filterText = nil
    };
    v45.onSearch = function()
        v45:setState({
            isFilterMode = true,
            filterText = ""
        });
    end;
    v45.onTextChanged = function(v46)
        v45:setState({
            filterText = v46
        });
    end;
    v45.onCancel = function()
        v45:setState({
            isFilterMode = false,
            filterText = v3.None
        });
    end;
    v45.scrollToTop = function()
        local v47 = v45.scrollingFrameRef:getValue();
        if v47 then
            v47:scrollToTop();
        end;
    end;
    v45.navigateBack = function()
        v45.props.navigateBack(v45.state.filterText ~= nil);
    end;
    v45.closeDialog = function()
        v45.props.closeDialog(v45.state.filterText ~= nil);
    end;
    v45.layoutBindings = {};
    v45.getLayoutBinding = function(v48, v49)
        local v50 = v45.layoutBindings[v48];
        if not v50 then
            local v51, v52 = v3.createBinding(v49);
            v50 = {
                valueBinding = v51,
                setValue = v52,
                value = v49
            };
            v45.layoutBindings[v48] = v50;
        end;
        if v50.value ~= v49 then
            v50.value = v49;
            v50.setValue(v49);
        end;
        return v50.valueBinding;
    end;
    v45.playerIsVoiceActive = function(v53)
        return l_default_0.participants[tostring(v53)] ~= nil;
    end;
    v45.sortedUserIds = {};
end;
local function v56(v54, v55)
    return v54.DisplayName:lower() < v55.DisplayName:lower();
end;
v42.getPlayerList = function(v57)
    local v58 = {};
    for _, v60 in ipairs((v2.List.sort(l_Players_0:GetPlayers(), v56))) do
        if not (v60 == l_Players_0.LocalPlayer) then
            if v57.state.isFilterMode then
                if v12(v57.state.filterText, v60.Name, v60.DisplayName) then
                    table.insert(v58, v60);
                end;
            else
                table.insert(v58, v60);
            end;
        end;
    end;
    return (v2.List.sort(v58, function(v61, v62)
        return v61.DisplayName:lower() < v62.DisplayName:lower();
    end));
end;
local v63 = {
    [v20.Category.Voice] = "CoreScripts.InGameMenu.Report.Title.VoiceChat",
    [v20.Category.Text] = "CoreScripts.InGameMenu.Report.Title.TextChat",
    [v20.Category.Other] = "CoreScripts.InGameMenu.Report.Title.Other"
};
v42.categoryTitle = function(v64)
    return v63[v64.props.reportCategory] or "CoreScripts.InGameMenu.Report.MenuTitle";
end;
v42.renderHeaderBar = function(v65)
    local v66 = nil;
    v66 = not v65.props.canNavigateBack and function()
        return v3.createElement(l_IconButton_0, {
            iconSize = l_IconSize_0.Medium,
            icon = l_Images_0["icons/navigation/close"],
            onActivated = v65.closeDialog
        });
    end or if l_GetFFlagUIBloxUseNewHeaderBar_0() then l_makeBackButton_0(v65.navigateBack) else l_HeaderBar_0.renderLeft.backButton(v65.navigateBack);
    if v65.state.isFilterMode then
        return v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Position = UDim2.fromOffset(24, 6),
            Size = UDim2.new(1, -48, 1, -12)
        }, {
            v3.createElement(v13, {
                size = UDim2.fromScale(1, 1),
                text = v65.state.filterText,
                autoCaptureFocus = true,
                onTextChanged = v65.onTextChanged,
                onCancelled = v65.onCancel
            })
        });
    else
        return v15({
            titleText = v65:categoryTitle()
        })(function(v67)
            return v3.createElement(l_HeaderBar_0, {
                backgroundTransparency = 1,
                barHeight = 48,
                renderLeft = v66,
                renderRight = function()
                    return v3.createElement(l_IconButton_0, {
                        iconSize = l_IconSize_0.Medium,
                        icon = l_Images_0["icons/common/search"],
                        onActivated = v65.onSearch
                    });
                end,
                onHeaderActivated = v65.scrollToTop,
                title = v67.titleText
            });
        end);
    end;
end;
v42.renderContents = function(v68)
    local l_props_0 = v68.props;
    local v70 = v68.props.reportCategory == v20.Category.Voice;
    local v71 = 0;
    local v72 = {
        ListLayout = v3.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            SortOrder = Enum.SortOrder.LayoutOrder
        })
    };
    if not v68.state.isFilterMode and v68.props.reportCategory == v20.Category.None then
        v72.GameCell = v3.createElement(v22, {
            gameId = game.GameId,
            layoutOrder = v68.getLayoutBinding("GameCell", v71),
            onActivated = function()
                l_props_0.openReportDialog(v20.ReportType.Place, nil);
            end
        });
    end;
    v71 = v71 + 1;
    local v73 = 72;
    local v74 = v68:getPlayerList();
    local v75 = {};
    if v70 then
        v75 = l_default_0:getRecentUsersInteractionData();
    end;
    v68.sortedUserIds = {};
    for _, v77 in pairs(v74) do
        local v78 = tostring(v77.UserId);
        if not (v70 and not v75[tostring(v77.UserId)]) then
            table.insert(v68.sortedUserIds, v77.UserId);
            local v79 = 0;
            if v70 then
                v79 = v79 + 1;
            end;
            if v68.props.isReportMenuOpen then
                v79 = v79 + 2;
            end;
            v72["Divider" .. v78] = v3.createElement(v10, {
                LayoutOrder = v68.getLayoutBinding("Divider" .. v78, v71),
                Size = UDim2.new(1, 0, 0, 1)
            });
            v71 = v71 + 1;
            v72["PlayerCell" .. v78] = v3.createElement(v11, {
                userId = v77.UserId,
                username = v77.Name,
                displayName = v77.DisplayName,
                hasVerifiedBadge = l_isPlayerVerified_0(v77),
                isOnline = true,
                isSelected = false,
                LayoutOrder = v68.getLayoutBinding("PlayerCell" .. v78, v71),
                onActivated = function()
                    l_props_0.openReportDialog(v20.ReportType.Player, v77);
                end,
                memoKey = v79
            }, {
                VoiceIndicator = (not not v70 and v68.props.isReportMenuOpen) and v3.createElement(v44, {
                    userId = tostring(v77.UserId),
                    hideOnError = true,
                    iconStyle = "SpeakerLight",
                    size = UDim2.fromOffset(36, 36),
                    onClicked = function()
                        l_default_0:ToggleMutePlayer(v77.UserId, v29.VOICE_CONTEXT_TYPE.REPORT_MENU);
                    end
                }) or nil
            });
            v71 = v71 + 1;
            v73 = v73 + 73;
        end;
    end;
    v72.DividerEnd = v3.createElement(v10, {
        LayoutOrder = v68.getLayoutBinding("DividerEnd", v71),
        Size = UDim2.new(1, 0, 0, 1)
    });
    v71 = v71 + 1;
    return l_withStyle_0(function(v80)
        return v3.createElement(l_Provider_0, {
            style = v2.Dictionary.join(v80, {
                Theme = v2.Dictionary.join(v80.Theme, v41)
            })
        }, {
            v3.createElement(v9, {
                Size = UDim2.fromScale(1, 1),
                CanvasSize = UDim2.new(1, 0, 0, v73),
                scrollingFrameRef = v68.scrollingFrameRef
            }, v72)
        });
    end);
end;
v42.render = function(v81)
    return v3.createFragment({
        ModalDialog = v3.createElement(v21, {
            visible = v81.props.isReportMenuOpen,
            screenSize = v81.props.screenSize,
            headerBar = v81:renderHeaderBar(),
            showCloseButton = not (v81.props.reportCategory ~= nil),
            contents = v81:renderContents(),
            onDismiss = v81.closeDialog
        })
    });
end;
v42.didUpdate = function(v82, v83)
    if not (not v83.isReportMenuOpen or v82.props.isReportMenuOpen) then
        v82:setState({
            isFilterMode = false,
            filterText = v3.None
        });
        local v84 = v82.scrollingFrameRef:getValue();
        if v84 and v84.CanvasPosition.Y > 0 then
            v84.CanvasPosition = Vector2.new(0, 0);
        end;
    end;
end;
return v4.UNSTABLE_connect2(function(v85, _)
    return {
        isReportMenuOpen = v85.report.currentPage == v20.Page.Listing,
        screenSize = v85.displayOptions.screenSize,
        reportCategory = v85.report.reportCategory,
        canNavigateBack = #v85.report.history > 1
    };
end, function(v87)
    return {
        navigateBack = function(v88)
            v87(v16());
            v23(v20.Page.Listing, v20.Analytics.ReportFlowBack, {
                source = v20.Page.Listing,
                filterTextChanged = v88
            });
        end,
        closeDialog = function(v89)
            v87(v17());
            v23(v20.Page.Listing, v20.Analytics.ReportFlowAbandoned, {
                source = v20.Page.Listing,
                filterTextChanged = v89
            });
            v24.endAbuseReportSession();
        end,
        openReportDialog = function(v90, v91, v92)
            v87(v18(v90, v91, v92));
            v23(v20.Page.Listing, v20.Analytics.ReportFlowAdvance, {
                source = v20.Page.Listing,
                reportType = v90
            });
        end
    };
end)(v42);


local l_ContextActionService_0 = game:GetService("ContextActionService");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_GuiService_0 = game:GetService("GuiService");
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local v4 = require(l_CorePackages_0.Roact);
local v5 = require(l_CorePackages_0.RoactRodux);
local v6 = require(l_CorePackages_0.UIBlox);
local v7 = require(l_CorePackages_0.Packages.t);
local l_withStyle_0 = v6.Core.Style.withStyle;
local l_default_0 = require(l_RobloxGui_0.Modules.VoiceChat.VoiceChatServiceManager).default;
local l_Parent_0 = script.Parent.Parent;
local v11 = require(l_Parent_0.Dependencies);
local v12 = require(v11.FocusHandler);
local v13 = require(v11.playerInterface);
local v14 = require(v11.Divider);
local v15 = require(v11.ThemedTextLabel);
local v16 = require(v11.withLocalization);
local l_Button_0 = v6.App.Button.Button;
local l_ButtonType_0 = v6.App.Button.Enum.ButtonType;
local v19 = require(l_Parent_0.Thunks.BlockPlayer);
local v20 = require(l_Parent_0.Components.BlockPlayerItem);
local v21 = require(l_Parent_0.Actions.EndReportFlow);
local _ = require(l_Parent_0.Actions.OpenBlockPlayerDialog);
local v23 = require(l_Parent_0.Actions.ShowToast);
local v24 = require(l_Parent_0.Resources.Constants);
local v25 = require(l_Parent_0.Resources.Assets);
local v26 = require(l_Parent_0.Components.ModalDialog);
local v27 = require(l_RobloxGui_0.Modules.VoiceChat.Constants);
local v28 = v4.PureComponent:extend("ReportSentDialog");
v28.validateProps = v7.strictInterface({
    isReportSentOpen = v7.boolean,
    screenSize = v7.Vector2,
    inputType = v7.optional(v7.string),
    reportType = v7.optional(v7.valueOf(v24.ReportType)),
    targetPlayer = v7.optional(v13),
    blockPlayer = v7.callback,
    showToast = v7.callback,
    closeDialog = v7.callback,
    reportCategory = v7.optional(v7.string)
});
isPlayerUserIdMuted = function(v29)
    local v30 = false;
    if l_default_0.participants then
        local v31 = l_default_0.participants[tostring(v29)];
        if v31 then
            v30 = v31.isMutedLocally;
        end;
    end;
    return v30;
end;
v28.init = function(v32)
    v32:clearState();
    v32.buttonRef = v4.createRef();
    v32.onBlockCheckBoxActivated = function(v33)
        v32:setState({
            isBlockCheckBoxSelected = v33,
            isMuteCheckBoxSelected = (not not v33 and v32:isVoiceReport()) and true or v32.state.isMuteCheckBoxSelected
        });
    end;
    v32.onMuteCheckBoxActivated = function(v34)
        v32:setState({
            isMuteCheckBoxSelected = v34
        });
    end;
    v32.hasMuteChanged = function()
        return v32.state.isMuteCheckBoxSelected ~= v32.state.wasPlayerMutedWhenDialogOpened;
    end;
    v32.getToastMessage = function(v35)
        local v36 = {
            title = v35.toastDefaultTitle,
            description = v35.toastDefaultDescription
        };
        if not v32.state.isMuteCheckBoxSelected or not v32.state.isBlockCheckBoxSelected then
            if not v32.state.isMuteCheckBoxSelected then
                if v32.state.isBlockCheckBoxSelected then
                    v36.title = v35.toastBlockedTitle;
                    v36.description = v35.toastBlockedDescription;
                end;
                return v36;
            else
                v36.title = v35.toastMutedTitle;
                v36.description = v35.toastMutedDescription;
                return v36;
            end;
        else
            v36.title = v35.toastMutedAndBlockedTitle;
            v36.description = v35.toastMutedAndBlockedDescription;
            return v36;
        end;
    end;
    v32.onConfirm = function(v37)
        if v32:isReportingPlayer() then
            local v38 = v32.getToastMessage(v37);
            if v32:hasMuteChanged() then
                l_default_0:ToggleMutePlayer(v32.props.targetPlayer.UserId, v27.VOICE_CONTEXT_TYPE.REPORT_MENU);
            end;
            if not v32.state.isBlockCheckBoxSelected then
                v32.props.showToast(v38.title, v38.description);
            else
                v32.props.blockPlayer(v32.props.targetPlayer, v38.title, v38.description);
            end;
        end;
        v32.props.closeDialog();
        v32:clearState();
    end;
    v32.onCancel = function()
        v32.props.closeDialog();
        v32:clearState();
    end;
end;
v28.clearState = function(v39)
    v39:setState({
        wasPlayerMutedWhenDialogOpened = false,
        isMuteCheckBoxSelected = false,
        isBlockCheckBoxSelected = false
    });
end;
v28.isVoiceReport = function(v40)
    return v40:isReportingPlayer() and v40.props.reportCategory == v24.Category.Voice;
end;
v28.doesRequireConfirmation = function(v41)
    return v41.state.isBlockCheckBoxSelected or v41:hasMuteChanged();
end;
v28.isReportingPlayer = function(v42)
    local v43 = false;
    if v42.props.reportType == v24.ReportType.Player then
        v43 = v42.props.targetPlayer ~= nil;
    end;
    return v43;
end;
v28.renderFocusHandler = function(v44)
    local l_createElement_0 = v4.createElement;
    local l_v12_0 = v12;
    local v47 = {};
    local v48 = false;
    if v44.props.inputType == v24.InputType.Gamepad then
        v48 = v44.props.isReportSentOpen;
    end;
    v47.isFocused = v48;
    v47.didFocus = function()
        l_GuiService_0:RemoveSelectionGroup("ReportSentDialogGroup");
        l_GuiService_0:AddSelectionParent("ReportSentDialogGroup", v44.buttonRef:getValue());
        l_GuiService_0.SelectedCoreObject = v44.buttonRef:getValue();
        l_ContextActionService_0:BindCoreAction("ReporSentDialogSinkAction", function(_, _)
            return Enum.ContextActionResult.Sink;
        end, false, Enum.KeyCode.ButtonB, Enum.KeyCode.ButtonY, Enum.KeyCode.ButtonX);
    end;
    v47.didBlur = function()
        l_ContextActionService_0:UnbindCoreAction("ReporSentDialogSinkAction");
        l_GuiService_0:RemoveSelectionGroup("ReportSentDialogGroup");
    end;
    return l_createElement_0(l_v12_0, v47);
end;
v28.renderBlockFrame = function(v51)
    if v51:isReportingPlayer() then
        return v16({
            mutePlayerText = "CoreScripts.InGameMenu.Report.Mute",
            mutePlayerDescription = "CoreScripts.InGameMenu.Report.MuteDescription",
            blockPlayerText = "CoreScripts.InGameMenu.Report.Block",
            blockPlayerDescription = "CoreScripts.InGameMenu.Report.BlockDescription"
        })(function(v52)
            return v4.createElement("Frame", {
                BackgroundTransparency = 1,
                LayoutOrder = 2,
                Size = UDim2.new(1, 0, 1, 0)
            }, {
                Layout = v4.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Left,
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                Divider = v4.createElement(v14, {
                    LayoutOrder = 1,
                    Size = UDim2.new(1, 0, 0, 1)
                }),
                MutePlayerItem = if not v51:isVoiceReport() then nil else v4.createElement(v20, {
                    layoutOrder = 2,
                    size = UDim2.new(1, 0, 0, 72),
                    text = v52.mutePlayerText,
                    description = v52.mutePlayerDescription,
                    icon = v25.Images.MuteIcon.Image,
                    iconSize = v25.Images.MuteIcon.Size,
                    isDisabled = v51.state.isBlockCheckBoxSelected,
                    isCheckBoxSelected = v51.state.isMuteCheckBoxSelected,
                    onCheckBoxActivated = v51.onMuteCheckBoxActivated
                }),
                BlockPlayerItem = v4.createElement(v20, {
                    layoutOrder = 3,
                    size = UDim2.new(1, 0, 0, 72),
                    text = v52.blockPlayerText,
                    description = v52.blockPlayerDescription,
                    icon = v25.Images.BlockIcon.Image,
                    iconSize = v25.Images.BlockIcon.Size,
                    isCheckBoxSelected = v51.state.isBlockCheckBoxSelected,
                    onCheckBoxActivated = v51.onBlockCheckBoxActivated
                })
            });
        end);
    else
        return nil;
    end;
end;
v28.renderContents = function(v53)
    return l_withStyle_0(function(_)
        return v16({
            bodyText = "CoreScripts.InGameMenu.Report.ThanksForReportDescription",
            otherStepsText = {
                "CoreScripts.InGameMenu.Report.OtherStepsTitle";
                RBX_NAME = v53.props.targetPlayer.Name
            }
        })(function(v55)
            return v4.createElement("Frame", {
                BackgroundTransparency = 1,
                Size = UDim2.new(1, 0, 1, 0)
            }, {
                Layout = v4.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                BodyFrame = v4.createElement("Frame", {
                    BackgroundTransparency = 1,
                    AutomaticSize = Enum.AutomaticSize.XY,
                    Size = UDim2.new(1, 0, 0, 0),
                    LayoutOrder = 1
                }, {
                    Layout = v4.createElement("UIListLayout", {
                        FillDirection = Enum.FillDirection.Vertical,
                        HorizontalAlignment = Enum.HorizontalAlignment.Center,
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        Padding = UDim.new(0, 12)
                    }),
                    Padding = v4.createElement("UIPadding", {
                        PaddingTop = UDim.new(0, 12),
                        PaddingBottom = UDim.new(0, 12),
                        PaddingLeft = UDim.new(0, 24),
                        PaddingRight = UDim.new(0, 24)
                    }),
                    BodyText = v4.createElement(v15, {
                        LayoutOrder = 1,
                        AutomaticSize = Enum.AutomaticSize.Y,
                        Size = UDim2.new(1, 0, 0, 0),
                        themeKey = "TextEmphasis",
                        Text = v55.bodyText,
                        TextWrapped = true,
                        TextXAlignment = Enum.TextXAlignment.Left
                    }),
                    OtherStepsText = v4.createElement(v15, {
                        LayoutOrder = 2,
                        AutomaticSize = Enum.AutomaticSize.Y,
                        Position = UDim2.new(0, 0, 0, 12),
                        Size = UDim2.new(1, 0, 0, 0),
                        fontKey = "Footer",
                        themeKey = "TextDefault",
                        Text = v55.otherStepsText,
                        TextWrapped = true,
                        TextXAlignment = Enum.TextXAlignment.Left
                    })
                }),
                BlockFrame = v53:renderBlockFrame()
            });
        end);
    end);
end;
v28.render = function(v56)
    if v56:isReportingPlayer() then
        return v16({
            titleText = "CoreScripts.InGameMenu.Report.ThanksForReport",
            dismissText = not v56:doesRequireConfirmation() and "CoreScripts.InGameMenu.Report.Done" or "CoreScripts.InGameMenu.Report.Confirm",
            toastDefaultTitle = "CoreScripts.InGameMenu.Report.Confirmation.ThanksForReport",
            toastDefaultDescription = "CoreScripts.InGameMenu.Report.Confirmation.ThanksForReportDescription",
            toastMutedTitle = "CoreScripts.InGameMenu.Report.Confirmation.Muted",
            toastMutedDescription = {
                "CoreScripts.InGameMenu.Report.Confirmation.MutedDescriptionWithUser";
                RBX_NAME = v56.props.targetPlayer.Name
            },
            toastMutedAndBlockedTitle = "CoreScripts.InGameMenu.Report.Confirmation.MutedAndBlocked",
            toastMutedAndBlockedDescription = {
                "CoreScripts.InGameMenu.Report.Confirmation.MutedAndBlockedDescriptionWithUser";
                RBX_NAME = v56.props.targetPlayer.Name
            },
            toastBlockedTitle = "CoreScripts.InGameMenu.Report.Confirmation.Blocked",
            toastBlockedDescription = {
                "CoreScripts.InGameMenu.Report.Confirmation.MutedAndBlockedDescriptionWithUser";
                RBX_NAME = v56.props.targetPlayer.Name
            }
        })(function(v57)
            return v4.createFragment({
                ModalDialog = v4.createElement(v26, {
                    visible = v56.props.isReportSentOpen,
                    screenSize = v56.props.screenSize,
                    titleText = v57.titleText,
                    contents = v56:renderContents(),
                    actionButtons = v4.createElement(l_Button_0, {
                        buttonType = l_ButtonType_0.PrimarySystem,
                        size = UDim2.new(1, 0, 1, 0),
                        onActivated = function()
                            return v56.onConfirm(v57);
                        end,
                        text = v57.dismissText,
                        [v4.Ref] = v56.buttonRef
                    }),
                    onDismiss = v56.onCancel
                }),
                FocusHandler = v56:renderFocusHandler()
            });
        end);
    else
        return nil;
    end;
end;
v28.didUpdate = function(v58, v59, _)
    if not ((v59.isReportSentOpen or not v58.props.isReportSentOpen) or not v58:isVoiceReport()) then
        local v61 = isPlayerUserIdMuted(v58.props.targetPlayer.UserId);
        v58:setState({
            wasPlayerMutedWhenDialogOpened = v61,
            isMuteCheckBoxSelected = v61
        });
    end;
end;
return v5.UNSTABLE_connect2(function(v62, _)
    return {
        isReportSentOpen = v62.report.currentPage == v24.Page.ReportSent,
        reportType = v62.report.reportType,
        targetPlayer = v62.report.targetPlayer,
        screenSize = v62.displayOptions.screenSize,
        reportCategory = v62.report.reportCategory
    };
end, function(v64)
    return {
        closeDialog = function()
            v64(v21());
        end,
        blockPlayer = function(v65, v66, v67)
            v64(v19(v65, v66, v67));
        end,
        showToast = function(v68, v69)
            v64(v23(v68, v69));
        end
    };
end)(v28);