local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Rodux);
local v2 = require(l_CorePackages_0.Cryo);
return v1.createReducer({}, {
    [require(script.Parent.Parent.Actions.SetFavoriteAsset).name] = function(v3, v4)
        return v2.Dictionary.join(v3, {
            [v4.id] = v4.isFavorite
        });
    end
});


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Rodux);
local v2 = require(l_CorePackages_0.Cryo);
return v1.createReducer({}, {
    [require(script.Parent.Parent.Actions.SetFavoriteBundle).name] = function(v3, v4)
        return v2.Dictionary.join(v3, {
            [v4.id] = v4.isFavorite
        });
    end
});


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Parent_0 = script.Parent;
return require(l_CorePackages_0.Rodux).combineReducers({
    assets = require(l_Parent_0.FavoriteAssets),
    bundles = require(l_Parent_0.FavoriteBundles)
});


return (require(game:GetService("CorePackages").Rodux).createReducer(false, {
    [require(script.Parent.Parent.Actions.SetGamepadEnabled).name] = function(_, v1)
        return v1.gamepadEnabled;
    end
}));


local l_CorePackages_0 = game:GetService("CorePackages");
local l_FetchingStatus_0 = require(l_CorePackages_0.Workspace.Packages.Http).Reducers.FetchingStatus;
local l_Parent_0 = script.Parent;
local v3 = require(l_CorePackages_0.Rodux);
local v4 = require(l_Parent_0.View);
local v5 = require(l_Parent_0.PlayerId);
local v6 = require(l_Parent_0.PlayerName);
local v7 = require(l_Parent_0.Assets);
local v8 = require(l_Parent_0.AssetBundles);
local v9 = require(l_Parent_0.Bundles);
local v10 = require(l_Parent_0.EquippedAssets);
local v11 = require(l_Parent_0.DetailsInformation);
local v12 = require(l_Parent_0.TryingOnInfo);
local v13 = require(l_Parent_0.Favorites);
local v14 = require(l_Parent_0.Locale);
local v15 = require(l_Parent_0.Visible);
local v16 = require(l_Parent_0.ItemBeingPurchased);
local v17 = require(l_Parent_0.IsLoaded);
local v18 = require(l_Parent_0.IsSubjectToChinaPolicies);
local v19 = require(l_Parent_0.GamepadEnabled);
local v20 = require(l_Parent_0.StoreId);
local v21 = require(l_Parent_0.CollectibleResellableInstances);
local v22 = require(l_Parent_0.CreatingExperiences);
local v23 = require(l_Parent_0.Overlay);
local l_Parent_1 = script.Parent.Parent;
return v3.combineReducers({
    view = v4,
    playerId = v5,
    playerName = v6,
    assets = v7,
    bundles = v9,
    assetBundles = if not require(l_Parent_1.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem)() then nil else v8,
    equippedAssets = v10,
    detailsInformation = v11,
    tryingOnInfo = v12,
    favorites = v13,
    locale = v14,
    visible = v15,
    itemBeingPurchased = v16,
    gamepadEnabled = v19,
    isLoaded = v17,
    isSubjectToChinaPolicies = v18,
    FetchingStatus = l_FetchingStatus_0,
    storeId = v20,
    collectibleResellableInstances = v21,
    creatingExperiences = v22,
    overlay = if not require(l_Parent_1.Flags.FFlagAttributionInInspectAndBuy) then nil else v23
});


return (require(game:GetService("CorePackages").Rodux).createReducer(false, {
    [require(script.Parent.Parent.Actions.SetAssets).name] = function(_, _)
        return true;
    end
}));


return (require(game:GetService("CorePackages").Rodux).createReducer(true, {
    [require(script.Parent.Parent.Actions.SetIsSubjectToChinaPolicies).name] = function(_, v1)
        return v1.isSubjectToChinaPolicies;
    end
}));


return require(game:GetService("CorePackages").Rodux).createReducer({
    itemType = nil,
    itemId = nil
}, {
    [require(script.Parent.Parent.Actions.SetItemBeingPurchased).name] = function(_, v1)
        return {
            itemType = v1.itemType,
            itemId = v1.itemId
        };
    end
});


return require(game:GetService("CorePackages").Rodux).createReducer("en-us", {
    [require(script.Parent.Parent.Actions.SetLocale).name] = function(_, v1)
        return v1.locale;
    end
});


local v0 = require(game:GetService("CorePackages").Rodux);
local l_Parent_0 = script.Parent.Parent;
return v0.createReducer({
    overlay = nil,
    overlayProps = {}
}, {
    [require(l_Parent_0.Actions.OpenOverlay).name] = function(_, v3)
        return {
            overlay = v3.overlay,
            overlayProps = v3.overlayProps
        };
    end,
    [require(l_Parent_0.Actions.CloseOverlay).name] = function(_, _)
        return {
            overlay = nil,
            overlayProps = {}
        };
    end
});


return require(game:GetService("CorePackages").Rodux).createReducer("", {
    [require(script.Parent.Parent.Actions.SetPlayerId).name] = function(_, v1)
        return v1.playerId;
    end
});


return require(game:GetService("CorePackages").Rodux).createReducer("", {
    [require(script.Parent.Parent.Actions.SetPlayerName).name] = function(_, v1)
        return v1.playerName;
    end
});


local v0 = require(game:GetService("CorePackages").Rodux);
local v1 = require(script.Parent.Parent.Actions.UpdateStoreId);
local v2 = 0;
return v0.createReducer("0", {
    [v1.name] = function(_, _)
        v2 = v2 + 1;
        return (tostring(v2));
    end
});


return require(game:GetService("CorePackages").Rodux).createReducer({
    tryingOn = false,
    assetId = nil,
    assetTypeId = nil
}, {
    [require(script.Parent.Parent.Actions.SetTryingOnInfo).name] = function(_, v1)
        return {
            tryingOn = v1.tryingOn,
            assetId = v1.assetId,
            assetTypeId = v1.assetTypeId
        };
    end
});


local v0 = require(game:GetService("CorePackages").Rodux);
local l_Parent_0 = script.Parent.Parent;
return v0.createReducer(require(l_Parent_0.Constants).View.Wide, {
    [require(l_Parent_0.Actions.SetView).name] = function(_, v3)
        return v3.view;
    end
});


local v0 = require(game:GetService("CorePackages").Rodux);
local l_Parent_0 = script.Parent.Parent;
return v0.createReducer(true, {
    [require(l_Parent_0.Actions.ShowMenu).name] = function(_, _)
        return true;
    end,
    [require(l_Parent_0.Actions.HideMenu).name] = function(_, _)
        return false;
    end
});


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.Selectors.IsDetailsItemPartOfBundleAndOffsale);
local v2 = require(l_Parent_0.UtilityFunctions);
return function(v3)
    local l_assetId_0 = v3.detailsInformation.assetId;
    if l_assetId_0 then
        local v5 = v1(v3);
        if v5 == nil then
            return false;
        else
            local v6 = v3.assets[l_assetId_0];
            if v6 then
                if not v5 then
                    return v3.favorites.assets[l_assetId_0];
                else
                    return v3.favorites.bundles[v2.getBundleId(v6)];
                end;
            else
                return false;
            end;
        end;
    else
        return false;
    end;
end;


local l_RetrievalStatus_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).Enum.RetrievalStatus;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Selectors.IsDetailsItemPartOfBundleAndOffsale);
local v3 = require(l_Parent_0.UtilityFunctions);
local v4 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v5 = v4("getAssetFavoriteCount");
local v6 = v4("getBundleFavoriteCount");
return function(v7)
    local l_assetId_0 = v7.detailsInformation.assetId;
    if l_assetId_0 then
        local v9 = v2(v7);
        if v9 == nil then
            return false;
        else
            local v10 = v7.assets[l_assetId_0];
            if v10 then
                if not v9 then
                    local v11 = v5(v7.storeId, l_assetId_0);
                    local v12 = true;
                    if v7.FetchingStatus[v11] ~= l_RetrievalStatus_0.Fetching then
                        v12 = v7.FetchingStatus[v11] == l_RetrievalStatus_0.Done;
                    end;
                    return v12;
                else
                    local v13 = v6(v7.storeId, (v3.getBundleId(v10)));
                    local v14 = true;
                    if v7.FetchingStatus[v13] ~= l_RetrievalStatus_0.Fetching then
                        v14 = v7.FetchingStatus[v13] == l_RetrievalStatus_0.Done;
                    end;
                    return v14;
                end;
            else
                return false;
            end;
        end;
    else
        return false;
    end;
end;


local l_RetrievalStatus_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).Enum.RetrievalStatus;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Selectors.IsDetailsItemPartOfBundleAndOffsale);
local v3 = require(l_Parent_0.UtilityFunctions);
local v4 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v5 = v4("getFavoriteForAsset");
local v6 = v4("getFavoriteForBundle");
return function(v7)
    local l_assetId_0 = v7.detailsInformation.assetId;
    if l_assetId_0 then
        local v9 = v2(v7);
        if v9 == nil then
            return false;
        else
            local v10 = v7.assets[l_assetId_0];
            if v10 then
                if not v9 then
                    local v11 = v5(v7.storeId, l_assetId_0);
                    local v12 = true;
                    if v7.FetchingStatus[v11] ~= l_RetrievalStatus_0.Fetching then
                        v12 = v7.FetchingStatus[v11] == l_RetrievalStatus_0.Done;
                    end;
                    return v12;
                else
                    local v13 = v6(v7.storeId, (v3.getBundleId(v10)));
                    local v14 = true;
                    if v7.FetchingStatus[v13] ~= l_RetrievalStatus_0.Fetching then
                        v14 = v7.FetchingStatus[v13] == l_RetrievalStatus_0.Done;
                    end;
                    return v14;
                end;
            else
                return false;
            end;
        end;
    else
        return false;
    end;
end;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v2 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedBundle);
return function(v3)
    local l_assetId_0 = v3.detailsInformation.assetId;
    if l_assetId_0 == nil then
        return nil;
    else
        local v5 = v3.assets[l_assetId_0];
        if not v2() then
            if not v5 or not v5.isForSale then
                if not v1() then
                    return (v5 and v5.bundlesAssetIsIn) and #v5.bundlesAssetIsIn > 0;
                else
                    return v5 and v5.parentBundleId ~= nil;
                end;
            else
                return false;
            end;
        else
            return v5 and v5.parentBundleId ~= nil;
        end;
    end;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Players_0 = game:GetService("Players");
local l_RbxAnalyticsService_0 = game:GetService("RbxAnalyticsService");
local v3 = require(l_CorePackages_0.Cryo);
local l_UserInputService_0 = game:GetService("UserInputService");
local l_RunService_0 = game:GetService("RunService");
local l_HttpService_0 = game:GetService("HttpService");
local l_EventStream_0 = require(l_CorePackages_0.Workspace.Packages.Analytics).AnalyticsReporters.EventStream;
local v8 = require(script.Parent.Parent.Flags.GetFFlagIBEnableSendCounters);
local v9 = {};
v9.__index = v9;
v9.__tostring = function()
    return "Service(Analytics)";
end;
v9.new = function(v10, v11)
    local v12 = {};
    setmetatable(v12, v9);
    v12.eventStream = l_EventStream_0.new(l_RbxAnalyticsService_0);
    v12.pid = tostring(game.PlaceId);
    v12.uid = tostring(l_Players_0.LocalPlayer.UserId);
    v12.feature = "inspectAndBuy";
    v12.inspecteeUid = v10;
    v12.ctx = v11;
    v12.reportOpenInspectMenu = function()
        v12:report("inspectUser", {});
    end;
    v12.reportTryOnButtonClicked = function(v13, v14)
        v12:report("tryItem", {
            itemType = v13,
            itemID = v14
        });
    end;
    v12.reportFavoriteItem = function(v15, v16, v17, v18, v19, v20)
        v12:report("favoriteItem", {
            itemType = v15,
            itemID = v16,
            favorite = v17,
            success = v18,
            failureReason = v19,
            favoriteCount = v20
        });
    end;
    v12.reportPurchaseAttempt = function(v21, v22)
        v12:report("purchaseAttemptItem", {
            itemType = v21,
            itemID = v22
        });
    end;
    v12.reportPurchaseSuccess = function(v23, v24)
        v12:report("purchaseSuccessItem", {
            itemType = v23,
            itemID = v24
        });
    end;
    v12.reportItemDetailPageOpened = function(v25, v26)
        v12:report("itemDetailView", {
            itemType = v25,
            itemID = v26
        });
    end;
    if v8() then
        v12.platformStr = (function()
            local l_l_UserInputService_0_Platform_0 = l_UserInputService_0:GetPlatform();
            local v28 = "Unknown";
            if l_l_UserInputService_0_Platform_0 == Enum.Platform.Windows then
                return "Windows";
            elseif l_l_UserInputService_0_Platform_0 == Enum.Platform.OSX then
                return "OSX";
            elseif l_l_UserInputService_0_Platform_0 == Enum.Platform.IOS then
                return "IOS";
            else
                if l_l_UserInputService_0_Platform_0 == Enum.Platform.Android then
                    local l_l_HttpService_0_UserAgent_0 = l_HttpService_0:GetUserAgent();
                    v28 = not string.find(l_l_HttpService_0_UserAgent_0, "AmazonAppStore") and "Android" or "Amazon";
                    if string.find(l_l_HttpService_0_UserAgent_0, "OculusQuest3Store") then
                        return "Quest";
                    end;
                elseif not (l_l_UserInputService_0_Platform_0 ~= Enum.Platform.XBoxOne) or l_l_UserInputService_0_Platform_0 == Enum.Platform.XBox360 then
                    return "XBox";
                elseif l_l_UserInputService_0_Platform_0 == Enum.Platform.UWP then
                    return "UWP";
                elseif not (l_l_UserInputService_0_Platform_0 ~= Enum.Platform.PS4 and l_l_UserInputService_0_Platform_0 ~= Enum.Platform.PS3) or l_l_UserInputService_0_Platform_0 == Enum.Platform.PS5 then
                    v28 = "PlayStation";
                end;
                return v28;
            end;
        end)();
        v12.sendCounter = function(v30)
            if not l_RunService_0:IsStudio() then
                l_RbxAnalyticsService_0:ReportCounter("inspectAndBuy" .. "_" .. v12.platformStr .. "_" .. v30);
                return ;
            else
                return ;
            end;
        end;
    end;
    return v12;
end;
v9.report = function(v31, v32, v33)
    v31.eventStream:sendEventDeferred(v31.ctx, v32, (v3.Dictionary.join({
        pid = v31.pid,
        uid = v31.uid,
        inspecteeUid = v31.inspecteeUid,
        feature = "inspectAndBuy"
    }, v33)));
end;
return v9;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_MarketplaceService_0 = game:GetService("MarketplaceService");
local l_Players_0 = game:GetService("Players");
local l_HttpService_0 = game:GetService("HttpService");
local v4 = require(l_CorePackages_0.Packages.Promise);
local l_AvatarEditorService_0 = game:GetService("AvatarEditorService");
local l_Url_0 = require(l_CorePackages_0.Workspace.Packages.Http).Url;
local v7 = require(script.Parent.Parent.Flags.GetFFlagIBEnableCollectiblePurchaseForUnlimited);
local v8 = string.format("https://develop.%s", l_Url_0.DOMAIN);
local function _(v9, v10, v11, v12)
    return l_HttpService_0:RequestInternal(v9):Start(function(v13, v14)
        if v13 and v14.StatusCode == 200 then
            local v15 = true;
            local v16 = nil;
            if v10 and v14.Body ~= "null" then
                local l_status_0, l_result_0 = pcall(l_HttpService_0.JSONDecode, l_HttpService_0, v14.Body);
                v15 = l_status_0;
                v16 = l_result_0;
            else
                v16 = v14.Body;
            end;
            if not v15 then
                v12("Could not parse JSON.");
                return ;
            else
                v11(v16);
                return ;
            end;
        else
            v12(v14);
            return ;
        end;
    end);
end;
local function v35(v20, v21)
    return v4.new(function(v22, v23)
        coroutine.wrap(function()
            local l_v20_0 = v20;
            local l_v21_0 = v21;
            local l_v22_0 = v22;
            local l_v23_0 = v23;
            local _ = l_HttpService_0:RequestInternal(l_v20_0):Start(function(v28, v29)
                if v28 and v29.StatusCode == 200 then
                    local v30 = true;
                    local v31 = nil;
                    if l_v21_0 and v29.Body ~= "null" then
                        local l_status_1, l_result_1 = pcall(l_HttpService_0.JSONDecode, l_HttpService_0, v29.Body);
                        v30 = l_status_1;
                        v31 = l_result_1;
                    else
                        v31 = v29.Body;
                    end;
                    if not v30 then
                        l_v23_0("Could not parse JSON.");
                        return ;
                    else
                        l_v22_0(v31);
                        return ;
                    end;
                else
                    l_v23_0(v29);
                    return ;
                end;
            end);
        end)();
    end);
end;
local function v41(v36)
    return v4.new(function(v37, v38)
        local l_status_2, l_result_2 = pcall(function()
            return l_MarketplaceService_0:GetProductInfo(v36);
        end);
        if not l_status_2 then
            v38("Failure in getProductInfo: ", (tostring(l_result_2)));
            return ;
        else
            v37(l_result_2);
            return ;
        end;
    end);
end;
local function v48(v42, v43)
    return v4.new(function(v44, v45)
        local l_status_3, l_result_3 = pcall(function()
            return l_AvatarEditorService_0:GetItemDetails(v42, v43);
        end);
        if not l_status_3 then
            v45("Failure in getItemDetails: ", (tostring(l_result_3)));
            return ;
        else
            v44(l_result_3);
            return ;
        end;
    end);
end;
local function v54(v49)
    return v4.new(function(v50, v51)
        local l_status_4, l_result_4 = pcall(function()
            return l_Players_0:GetNameFromUserIdAsync(v49);
        end);
        if not l_status_4 then
            v51("Failure in getPlayerName: ", (tostring(l_result_4)));
            return ;
        else
            v50(l_result_4);
            return ;
        end;
    end);
end;
local function v56(v55)
    return v35({
        Url = l_Url_0.CATALOG_URL .. "v1/assets/" .. tostring(v55) .. "/bundles",
        Method = "GET"
    }, true);
end;
local function v61(v57)
    return v4.new(function(v58, _)
        spawn(function()
            local l_l_Players_0_HumanoidDescriptionFromOutfitId_0 = l_Players_0:GetHumanoidDescriptionFromOutfitId(v57);
            if l_l_Players_0_HumanoidDescriptionFromOutfitId_0 then
                v58(l_l_Players_0_HumanoidDescriptionFromOutfitId_0);
            end;
        end);
    end);
end;
local function v63(v62)
    return v35({
        Url = l_Url_0.CATALOG_URL .. "v1/favorites/assets/" .. tostring(v62) .. "/count",
        Method = "GET"
    }, false);
end;
local function v65(v64)
    return v35({
        Url = l_Url_0.CATALOG_URL .. "v1/favorites/bundles/" .. tostring(v64) .. "/count",
        Method = "GET"
    }, false);
end;
local function v67(v66)
    return v35({
        Url = l_Url_0.CATALOG_URL .. "v1/favorites/users/" .. tostring(l_Players_0.LocalPlayer.UserId) .. "/assets/" .. tostring(v66) .. "/favorite",
        Method = "GET"
    }, true);
end;
local function v69(v68)
    return v35({
        Url = l_Url_0.CATALOG_URL .. "v1/favorites/users/" .. tostring(l_Players_0.LocalPlayer.UserId) .. "/bundles/" .. tostring(v68) .. "/favorite",
        Method = "GET"
    }, true);
end;
local function v71(v70)
    return v35({
        Url = l_Url_0.CATALOG_URL .. "v1/favorites/users/" .. tostring(l_Players_0.LocalPlayer.UserId) .. "/assets/" .. tostring(v70) .. "/favorite",
        Method = "POST",
        Body = l_HttpService_0:JSONEncode({})
    }, true);
end;
local function v73(v72)
    return v35({
        Url = l_Url_0.CATALOG_URL .. "v1/favorites/users/" .. tostring(l_Players_0.LocalPlayer.UserId) .. "/assets/" .. tostring(v72) .. "/favorite",
        Method = "DELETE"
    }, true);
end;
local function v75(v74)
    return v35({
        Url = l_Url_0.CATALOG_URL .. "v1/favorites/users/" .. tostring(l_Players_0.LocalPlayer.UserId) .. "/bundles/" .. tostring(v74) .. "/favorite",
        Method = "POST",
        Body = l_HttpService_0:JSONEncode({})
    }, true);
end;
local function v77(v76)
    return v35({
        Url = l_Url_0.CATALOG_URL .. "v1/favorites/users/" .. tostring(l_Players_0.LocalPlayer.UserId) .. "/bundles/" .. tostring(v76) .. "/favorite",
        Method = "DELETE"
    }, true);
end;
local function v79(v78)
    return v35({
        Url = l_Url_0.ECONOMY_URL .. "v1/products/" .. tostring(v78) .. "?showPurchasable=true",
        Method = "GET"
    }, true);
end;
local function v84(v80)
    return v4.new(function(v81, v82)
        spawn(function()
            local l_l_Players_0_HumanoidModelFromUserId_0 = l_Players_0:CreateHumanoidModelFromUserId(v80);
            if not l_l_Players_0_HumanoidModelFromUserId_0 then
                v82("Failure in getModelFromUserId");
                return ;
            else
                v81(l_l_Players_0_HumanoidModelFromUserId_0);
                return ;
            end;
        end);
    end);
end;
local function v87(v85, v86)
    return v35({
        Url = string.format("%smarketplace-sales/v1/item/%s/resellable-instances?%s", l_Url_0.APIS_URL, v85, (l_Url_0:makeQueryString({
            ownerId = tostring(v86),
            ownerType = "User",
            cursor = "",
            limit = 500
        }))),
        Method = "GET"
    }, true);
end;
local function v89(v88)
    return v35({
        Url = string.format("%sv1/assets/%s/saved-versions", v8, v88),
        Method = "GET"
    }, true);
end;
local function v91(v90)
    return v35({
        Url = string.format("%sv1/games/multiget-playability-status?universeIds=%s", l_Url_0.GAME_URL, v90),
        Method = "GET"
    }, true);
end;
local function v93(v92)
    return v35({
        Url = string.format("%sv1/games?universeIds=%s", l_Url_0.GAME_URL, v92),
        Method = "GET"
    }, true);
end;
return {
    new = function()
        local v94 = {
            getProductInfo = v41,
            getEconomyProductInfo = v79,
            getPlayerName = v54,
            getAssetBundles = v56,
            getHumanoidDescriptionFromCostumeId = v61,
            getAssetFavoriteCount = v63,
            getBundleFavoriteCount = v65,
            getFavoriteForAsset = v67,
            getFavoriteForBundle = v69,
            createFavoriteForAsset = v71,
            deleteFavoriteForAsset = v73,
            createFavoriteForBundle = v75,
            deleteFavoriteForBundle = v77,
            getModelFromUserId = v84,
            getCollectibleResellableInstances = v87,
            getVersionInfo = v89,
            getExperiencePlayability = v91,
            getExperienceInfo = v93,
            getItemDetails = if not v7() then nil else v48
        };
        setmetatable(v94, {
            __tostring = function()
                return "Service(Network)";
            end
        });
        return v94;
    end
};


return {
    named = function(v0)
        assert(type(v0) == "string", "Symbols must be created using a string name");
        local v1 = newproxy(true);
        local v2 = ("Symbol(%s)"):format(v0);
        getmetatable(v1).__tostring = function()
            return v2;
        end;
        return v1;
    end
};


local v0 = require(script.Parent.Symbol);
local v1 = {};
local v2 = v0.named("ThunkTag");
v1.middleware = function(v3)
    v3 = v3 or {};
    return function(v4, v5)
        return function(v6)
            if v6[v2] == true then
                local v7 = {};
                for _, v9 in pairs(v6.requiredServices) do
                    local v10 = v3[v9];
                    if v10 == nil then
                        error(("Service with key %s is a dependency but was not provided"):format(v9));
                    end;
                    v7[v9] = v10;
                end;
                return v6(v5, v7);
            else
                return v4(v6);
            end;
        end;
    end;
end;
v1.new = function(v11, v12, v13)
    assert(typeof(v11) == "string", "Bad arg #1: name must be a string");
    local v14 = true;
    if v12 ~= nil then
        v14 = typeof(v12) == "table";
    end;
    assert(v14, "Bad arg #2: requiredServices must be a table or nil");
    assert(typeof(v13) == "function", "Bad arg #3: onInvoke must be a function");
    return (setmetatable({
        [v2] = true,
        type = v11,
        requiredServices = v12 or {}
    }, {
        __call = function(_, ...)
            v13(...);
        end
    }));
end;
v1.test = function(v16, v17, v18)
    local v19 = false;
    if typeof(v16) == "table" then
        v19 = v16[v2] == true;
    end;
    assert(v19, "Test Error - Bad arg #1: Must provide a valid thunk");
    if #v16.requiredServices > 0 then
        for _, v21 in ipairs(v16.requiredServices) do
            assert(v18[v21] ~= nil, "Test Error - Bad arg #3: Missing required service " .. tostring(v21));
        end;
    end;
    return v16(v17, v18);
end;
return v1;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Packages.Promise);
local l_PerformFetch_0 = require(l_CorePackages_0.Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v4 = require(l_Parent_0.Thunk);
local v5 = require(l_Parent_0.Services.Network);
local v6 = require(l_Parent_0.Services.Analytics);
local v7 = require(l_Parent_0.Actions.SetFavoriteAsset);
local v8 = require(l_Parent_0.Actions.SetAssets);
local v9 = require(l_Parent_0.Models.AssetInfo);
local v10 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v11 = require(l_Parent_0.Thunks.SendCounter);
local v12 = require(l_Parent_0.Constants);
local v13 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v14 = {
    v5,
    v6
};
local v15 = v10("createFavoriteForAsset");
return function(v16)
    return v4.new(script.Name, v14, function(v17, v18)
        local v19 = v18[v5];
        local v20 = v18[v6];
        return l_PerformFetch_0.Single(v15(v17:getState().storeId, v16), function(_)
            return v19.createFavoriteForAsset(v16):andThen(function()
                v17:dispatch(v7(v16, true));
                local l_numFavorites_0 = v17:getState().assets[v16].numFavorites;
                v17:dispatch(v8({
                    (v9.fromGetAssetFavoriteCount(v16, l_numFavorites_0 + 1))
                }));
                v20.reportFavoriteItem("Asset", v16, true, true, "", l_numFavorites_0 + 1);
                if v13() then
                    v17:dispatch(v11(v12.Counters.CreateFavoriteForAsset .. v12.CounterSuffix.RequestSucceeded));
                end;
                return v1.resolve();
            end, function(v23)
                if v13() then
                    v17:dispatch(v11(v12.Counters.CreateFavoriteForAsset .. v12.CounterSuffix.RequestRejected));
                end;
                return v1.reject((tostring(v23.StatusMessage)));
            end);
        end)(v17):catch(function(v24)
            v20.reportFavoriteItem("Asset", v16, true, false, v24, v17:getState().assets[v16].numFavorites);
            if v13() then
                v17:dispatch(v11(v12.Counters.CreateFavoriteForAsset .. v12.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Packages.Promise);
local l_PerformFetch_0 = require(l_CorePackages_0.Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v4 = require(l_Parent_0.Thunk);
local v5 = require(l_Parent_0.Services.Network);
local v6 = require(l_Parent_0.Services.Analytics);
local v7 = require(l_Parent_0.Actions.SetFavoriteBundle);
local v8 = require(l_Parent_0.Actions.SetBundles);
local v9 = require(l_Parent_0.Models.BundleInfo);
local v10 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v11 = require(l_Parent_0.Thunks.SendCounter);
local v12 = require(l_Parent_0.Constants);
local v13 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v14 = {
    v5,
    v6
};
local v15 = v10("createFavoriteForBundle");
return function(v16)
    return v4.new(script.Name, v14, function(v17, v18)
        local v19 = v18[v5];
        local v20 = v18[v6];
        return l_PerformFetch_0.Single(v15(v17:getState().storeId, v16), function()
            return v19.createFavoriteForBundle(v16):andThen(function()
                v17:dispatch(v7(v16, true));
                local l_numFavorites_0 = v17:getState().bundles[v16].numFavorites;
                v17:dispatch(v8({
                    (v9.fromGetBundleFavoriteCount(v16, l_numFavorites_0 + 1))
                }));
                v20.reportFavoriteItem("Bundle", v16, true, true, "", l_numFavorites_0 + 1);
                if v13() then
                    v17:dispatch(v11(v12.Counters.CreateFavoriteForBundle .. v12.CounterSuffix.RequestSucceeded));
                end;
                return v1.resolve();
            end, function(v22)
                if v13() then
                    v17:dispatch(v11(v12.Counters.CreateFavoriteForBundle .. v12.CounterSuffix.RequestRejected));
                end;
                return v1.reject((tostring(v22.StatusMessage)));
            end);
        end)(v17):catch(function(v23)
            v20.reportFavoriteItem("Bundle", v16, true, false, v23, v17:getState().bundles[v16].numFavorites);
            if v13() then
                v17:dispatch(v11(v12.Counters.CreateFavoriteForBundle .. v12.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Packages.Promise);
local l_PerformFetch_0 = require(l_CorePackages_0.Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v4 = require(l_Parent_0.Thunk);
local v5 = require(l_Parent_0.Services.Network);
local v6 = require(l_Parent_0.Services.Analytics);
local v7 = require(l_Parent_0.Actions.SetFavoriteAsset);
local v8 = require(l_Parent_0.Actions.SetAssets);
local v9 = require(l_Parent_0.Models.AssetInfo);
local v10 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v11 = require(l_Parent_0.Thunks.SendCounter);
local v12 = require(l_Parent_0.Constants);
local v13 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v14 = {
    v5,
    v6
};
local v15 = v10("deleteFavoriteForAsset");
return function(v16)
    return v4.new(script.Name, v14, function(v17, v18)
        local v19 = v18[v5];
        local v20 = v18[v6];
        return l_PerformFetch_0.Single(v15(v17:getState().storeId, v16), function(_)
            return v19.deleteFavoriteForAsset(v16):andThen(function()
                v17:dispatch(v7(v16, false));
                local l_numFavorites_0 = v17:getState().assets[v16].numFavorites;
                v17:dispatch(v8({
                    (v9.fromGetAssetFavoriteCount(v16, l_numFavorites_0 - 1))
                }));
                v20.reportFavoriteItem("Asset", v16, false, true, "", l_numFavorites_0 - 1);
                if v13() then
                    v17:dispatch(v11(v12.Counters.DeleteFavoriteForAsset .. v12.CounterSuffix.RequestSucceeded));
                end;
                return v1.resolve();
            end, function(v23)
                if v13() then
                    v17:dispatch(v11(v12.Counters.DeleteFavoriteForAsset .. v12.CounterSuffix.RequestRejected));
                end;
                return v1.reject((tostring(v23.StatusMessage)));
            end);
        end)(v17):catch(function(v24)
            v20.reportFavoriteItem("Asset", v16, false, false, v24, v17:getState().assets[v16].numFavorites);
            if v13() then
                v17:dispatch(v11(v12.Counters.DeleteFavoriteForAsset .. v12.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Packages.Promise);
local l_PerformFetch_0 = require(l_CorePackages_0.Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v4 = require(l_Parent_0.Thunk);
local v5 = require(l_Parent_0.Services.Network);
local v6 = require(l_Parent_0.Services.Analytics);
local v7 = require(l_Parent_0.Actions.SetFavoriteBundle);
local v8 = require(l_Parent_0.Actions.SetBundles);
local v9 = require(l_Parent_0.Models.BundleInfo);
local v10 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v11 = require(l_Parent_0.Thunks.SendCounter);
local v12 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v13 = require(l_Parent_0.Constants);
local v14 = {
    v5,
    v6
};
local v15 = v10("deleteFavoriteForBundle");
return function(v16)
    return v4.new(script.Name, v14, function(v17, v18)
        local v19 = v18[v5];
        local v20 = v18[v6];
        return l_PerformFetch_0.Single(v15(v17:getState().storeId, v16), function()
            return v19.deleteFavoriteForBundle(v16):andThen(function()
                v17:dispatch(v7(v16, false));
                local l_numFavorites_0 = v17:getState().bundles[v16].numFavorites;
                v17:dispatch(v8({
                    (v9.fromGetBundleFavoriteCount(v16, l_numFavorites_0 - 1))
                }));
                v20.reportFavoriteItem("Bundle", v16, false, true, "", l_numFavorites_0 - 1);
                if v12() then
                    v17:dispatch(v11(v13.Counters.DeleteFavoriteForBundle .. v13.CounterSuffix.RequestSucceeded));
                end;
                return v1.resolve();
            end, function(v22)
                if v12() then
                    v17:dispatch(v11(v13.Counters.DeleteFavoriteForBundle .. v13.CounterSuffix.RequestRejected));
                end;
                return v1.reject((tostring(v22.StatusMessage)));
            end);
        end)(v17):catch(function(v23)
            v20.reportFavoriteItem("Bundle", v16, false, false, v23, v17:getState().bundles[v16].numFavorites);
            if v12() then
                v17:dispatch(v11(v13.Counters.DeleteFavoriteForBundle .. v13.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.Models.BundleInfo);
local v5 = require(l_Parent_0.Actions.SetBundles);
local v6 = require(l_Parent_0.Actions.SetBundlesAssetIsPartOf);
local v7 = require(l_Parent_0.Thunks.GetProductInfo);
local v8 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v9 = require(l_Parent_0.Actions.SetAssetToBundlesMapping);
local v10 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v11 = require(l_Parent_0.Thunks.SendCounter);
local v12 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v13 = require(l_Parent_0.Constants);
local v14 = {
    v3
};
local v15 = v8("getAssetBundles");
return function(v16)
    return v2.new(script.Name, v14, function(v17, v18)
        local v19 = v18[v3];
        return l_PerformFetch_0.Single(v15(v17:getState().storeId, v16), function(_)
            return v19.getAssetBundles(v16):andThen(function(v21)
                local v22 = {};
                local v23 = {};
                for _, v25 in pairs(v21.data) do
                    local v26 = v4.fromGetAssetBundles(v25);
                    table.insert(v23, v26);
                    table.insert(v22, (tostring(v26.bundleId)));
                    local v27 = false;
                    for _, v29 in pairs(v25.items) do
                        if v29.type == "UserOutfit" then
                            v27 = true;
                            break;
                        end;
                    end;
                    if not v27 then
                        for _, v31 in pairs(v25.items) do
                            if not v17:getState().assets[v31.id] then
                                coroutine.wrap(function()
                                    v17:dispatch(v7(v31.id));
                                end)();
                            end;
                        end;
                    end;
                end;
                v17:dispatch(v5(v23));
                if not v10() then
                    v17:dispatch(v6(tostring(v16), v22));
                else
                    v17:dispatch(v9(tostring(v16), v22));
                end;
                if v12() then
                    v17:dispatch(v11(v13.Counters.GetAssetBundles .. v13.CounterSuffix.RequestSucceeded));
                end;
            end, if not v12() then nil else function(_)
                v17:dispatch(v11(v13.Counters.GetAssetBundles .. v13.CounterSuffix.RequestRejected));
            end);
        end)(v17):catch(function(_)
            if v12() then
                v17:dispatch(v11(v13.Counters.GetAssetBundles .. v13.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.Actions.SetAssets);
local v5 = require(l_Parent_0.Models.AssetInfo);
local v6 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v7 = require(l_Parent_0.Thunks.SendCounter);
local v8 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v9 = require(l_Parent_0.Constants);
local v10 = {
    v3
};
local v11 = v6("getAssetFavoriteCount");
return function(v12)
    return v2.new(script.Name, v10, function(v13, v14)
        local v15 = v14[v3];
        return l_PerformFetch_0.Single(v11(v13:getState().storeId, v12), function(_)
            return v15.getAssetFavoriteCount(v12):andThen(function(v17)
                if v17 then
                    v13:dispatch(v4({
                        (v5.fromGetAssetFavoriteCount(v12, v17))
                    }));
                end;
                if v8() then
                    v13:dispatch(v7(v9.Counters.GetAssetFavoriteCount .. v9.CounterSuffix.RequestSucceeded));
                end;
            end, if not v8() then nil else function(_)
                v13:dispatch(v7(v9.Counters.GetAssetFavoriteCount .. v9.CounterSuffix.RequestRejected));
            end);
        end)(v13):catch(function(_)
            if v8() then
                v13:dispatch(v7(v9.Counters.GetAssetFavoriteCount .. v9.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.Thunk);
local v2 = require(l_Parent_0.Thunks.GetProductInfo);
local v3 = require(l_Parent_0.Thunks.GetVersionInfo);
local v4 = require(l_Parent_0.Models.AssetInfo);
local v5 = require(l_Parent_0.Actions.SetAssets);
local v6 = require(l_Parent_0.Actions.SetEquippedAssets);
local v7 = require(l_Parent_0.Constants);
local v8 = require(l_Parent_0.Thunks.GetAssetBundles);
local v9 = require(l_Parent_0.Flags.FFlagAttributionInInspectAndBuy);
local v10 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v11 = {};
local function v24(v12)
    local v13 = {};
    for v14, v15 in pairs(v7.AssetTypeIdStringToHumanoidDescriptionProp) do
        if v7.AssetTypeIdToAccessoryTypeEnum[v14] == nil then
            for _, v17 in pairs(string.split(v12[v15] or "")) do
                if tonumber(v17) and v17 ~= "0" then
                    table.insert(v13, v4.fromHumanoidDescription(v17));
                end;
            end;
        end;
    end;
    for _, v19 in pairs((v12:GetAccessories(true))) do
        v13[#v13 + 1] = v4.fromHumanoidDescription(v19.AssetId);
    end;
    for _, v21 in pairs((v12:GetEmotes())) do
        for _, v23 in pairs(v21) do
            v13[#v13 + 1] = v4.fromHumanoidDescription(v23);
        end;
    end;
    return v13;
end;
return function(v25, v26)
    return v1.new(script.Name, v11, function(v27, _)
        local v29 = v24(v25);
        if v26 then
            v27:dispatch(v6(v29));
            return ;
        else
            for _, v31 in ipairs(v29) do
                coroutine.wrap(function()
                    v27:dispatch(v2(v31.assetId));
                    if v10() and v31.parentBundleId == nil then
                        v27:dispatch(v8(v31.assetId));
                    end;
                    if v9 then
                        v27:dispatch(v3(v31.assetId));
                    end;
                end)();
            end;
            v27:dispatch(v5(v29));
            return ;
        end;
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.Actions.SetBundles);
local v5 = require(l_Parent_0.Models.BundleInfo);
local v6 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v7 = require(l_Parent_0.Thunks.SendCounter);
local v8 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v9 = require(l_Parent_0.Constants);
local v10 = {
    v3
};
local v11 = v6("getBundleFavoriteCount");
return function(v12)
    return v2.new(script.Name, v10, function(v13, v14)
        local v15 = v14[v3];
        return l_PerformFetch_0.Single(v11(v13:getState().storeId, v12), function(_)
            return v15.getBundleFavoriteCount(v12):andThen(function(v17)
                if v17 then
                    v13:dispatch(v4({
                        (v5.fromGetBundleFavoriteCount(v12, v17))
                    }));
                end;
                if v8() then
                    v13:dispatch(v7(v9.Counters.GetBundleFavoriteCount .. v9.CounterSuffix.RequestSucceeded));
                end;
            end, if not v8() then nil else function(_)
                v13:dispatch(v7(v9.Counters.GetBundleFavoriteCount .. v9.CounterSuffix.RequestRejected));
            end);
        end)(v13):catch(function(_)
            if v8() then
                v13:dispatch(v7(v9.Counters.GetBundleFavoriteCount .. v9.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v5 = require(l_Parent_0.Thunks.SendCounter);
local v6 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v7 = require(l_Parent_0.Constants);
local v8 = {
    v3
};
local v9 = v4("getPlayerModel");
return function(v10, v11, v12)
    return v2.new(script.Name, v8, function(v13, v14)
        local v15 = v14[v3];
        return l_PerformFetch_0.Single(v9(v13:getState().storeId, v10, v11), function()
            return v15.getModelFromUserId(v10):andThen(function(v16)
                v12(v16);
                if v6() then
                    v13:dispatch(v5(v7.Counters.GetCharacterModelFromUserId .. v7.CounterSuffix.RequestSucceeded));
                end;
            end, if not v6() then nil else function(_)
                v13:dispatch(v5(v7.Counters.GetCharacterModelFromUserId .. v7.CounterSuffix.RequestRejected));
            end);
        end)(v13):catch(function(_)
            if v6() then
                v13:dispatch(v5(v7.Counters.GetCharacterModelFromUserId .. v7.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.Actions.SetCollectibleResellableInstances);
local v5 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v6 = require(l_Parent_0.Thunks.SendCounter);
local v7 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v8 = require(l_Parent_0.Constants);
local v9 = {
    v3
};
local v10 = v5("getCollectibleResellableInstances");
return function(v11, v12)
    return v2.new(script.Name, v9, function(v13, v14)
        local v15 = v14[v3];
        return l_PerformFetch_0.Single(v10(v13:getState().storeId, v11, v12), function()
            return v15.getCollectibleResellableInstances(v11, v12):andThen(function(v16)
                local v17 = v16 and v16.itemInstances;
                if v17 then
                    v13:dispatch(v4(v11, v17));
                end;
                if v7() then
                    if not v17 then
                        v13:dispatch(v6(v8.Counters.GetCollectibleResellableInstancesRequestSucceededWithoutResult));
                    else
                        v13:dispatch(v6(v8.Counters.GetCollectibleResellableInstances .. v8.CounterSuffix.RequestSucceeded));
                        return ;
                    end;
                end;
            end, if not v7() then nil else function(_)
                v13:dispatch(v6(v8.Counters.GetCollectibleResellableInstances .. v8.CounterSuffix.RequestRejected));
            end);
        end)(v13):catch(function(_)
            if v7() then
                v13:dispatch(v6(v8.Counters.GetCollectibleResellableInstances .. v8.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Models.AssetInfo);
local v4 = require(l_Parent_0.Models.BundleInfo);
local v5 = require(l_Parent_0.Services.Network);
local v6 = require(l_Parent_0.Actions.SetAssets);
local v7 = require(l_Parent_0.Actions.SetBundles);
local v8 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v9 = require(l_Parent_0.Thunks.SendCounter);
local v10 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v11 = require(l_Parent_0.Constants);
local v12 = {
    v5
};
local v13 = v8("getEconomyProductInfo");
return function(v14, v15, v16)
    return v2.new(script.Name, v12, function(v17, v18)
        local v19 = v18[v5];
        return l_PerformFetch_0.Single(v13(v17:getState().storeId, v14), function()
            return v19.getEconomyProductInfo(v14):andThen(function(v20)
                local v21;
                if not v20.purchasable then
                    v21 = true;
                    if not (v20.reason ~= "AlreadyOwned") then
                        goto label0;
                    end;
                end;
                v21 = false;
                ::label0::;
                local v22 = v20.price or 0;
                local l_purchasable_0 = v20.purchasable;
                local l_premiumPricing_0 = v20.premiumPricing;
                if not v20.purchasable and v20.reason == "InsufficientFunds" then
                    l_purchasable_0 = true;
                end;
                if v15 then
                    v17:dispatch(v7({
                        (v4.fromGetEconomyProductInfo(v21, v16, v22, l_purchasable_0))
                    }));
                else
                    v17:dispatch(v6({
                        (v3.fromGetEconomyProductInfo(v20, v21, v22, l_purchasable_0, l_premiumPricing_0))
                    }));
                end;
                if v10() then
                    v17:dispatch(v9(v11.Counters.GetEconomyProductInfo .. v11.CounterSuffix.RequestSucceeded));
                end;
            end, if not v10() then nil else function(_)
                v17:dispatch(v9(v11.Counters.GetEconomyProductInfo .. v11.CounterSuffix.RequestRejected));
            end);
        end)(v17):catch(function(_)
            if v10() then
                v17:dispatch(v9(v11.Counters.GetEconomyProductInfo .. v11.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v5 = require(l_Parent_0.Models.ExperienceInfo);
local v6 = require(l_Parent_0.Actions.SetExperienceInfo);
local v7 = require(l_Parent_0.Thunks.SendCounter);
local v8 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v9 = require(l_Parent_0.Constants);
local v10 = {
    v3
};
local v11 = v4("getExperienceInfo");
return function(v12)
    v12 = tostring(v12);
    return v2.new(script.Name, v10, function(v13, v14)
        local v15 = v14[v3];
        return l_PerformFetch_0.Single(v11(v13:getState().storeId, v12), function()
            return v15.getExperienceInfo(v12):andThen(function(v16)
                v13:dispatch(v6((v5.fromGetExperienceInfo(v16.data[1]))));
                if v8() then
                    v13:dispatch(v7(v9.Counters.GetExperienceInfo .. v9.CounterSuffix.RequestSucceeded));
                end;
            end, if not v8() then nil else function(_)
                v13:dispatch(v7(v9.Counters.GetExperienceInfo .. v9.CounterSuffix.RequestRejected));
            end);
        end)(v13):catch(function(_)
            if v8() then
                v13:dispatch(v7(v9.Counters.GetExperienceInfo .. v9.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v5 = require(l_Parent_0.Models.ExperienceInfo);
local v6 = require(l_Parent_0.Actions.SetExperienceInfo);
local v7 = require(l_Parent_0.Thunks.SendCounter);
local v8 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v9 = require(l_Parent_0.Constants);
local v10 = {
    v3
};
local v11 = v4("getExperiencePlayabilityStatus");
return function(v12)
    return v2.new(script.Name, v10, function(v13, v14)
        local v15 = v14[v3];
        return l_PerformFetch_0.Single(v11(v13:getState().storeId, v12), function()
            return v15.getExperiencePlayability(v12):andThen(function(v16)
                v13:dispatch(v6((v5.fromGetPlayabilityStatus(v16[1]))));
                if v8() then
                    v13:dispatch(v7(v9.Counters.GetExperiencePlayability .. v9.CounterSuffix.RequestSucceeded));
                end;
            end, if not v8() then nil else function(_)
                v13:dispatch(v7(v9.Counters.GetExperiencePlayability .. v9.CounterSuffix.RequestRejected));
            end);
        end)(v13):catch(function(_)
            if v8() then
                v13:dispatch(v7(v9.Counters.GetExperiencePlayability .. v9.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.Actions.SetFavoriteAsset);
local v5 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v6 = require(l_Parent_0.Thunks.SendCounter);
local v7 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v8 = require(l_Parent_0.Constants);
local v9 = {
    v3
};
local v10 = v5("getFavoriteForAsset");
return function(v11)
    return v2.new(script.Name, v9, function(v12, v13)
        local v14 = v13[v3];
        return l_PerformFetch_0.Single(v10(v12:getState().storeId, v11), function(_)
            return v14.getFavoriteForAsset(v11):andThen(function(v16)
                if v16 == "null" then
                    v12:dispatch(v4(tostring(v11), false));
                else
                    v12:dispatch(v4(tostring(v11), true));
                end;
                if v7() then
                    v12:dispatch(v6(v8.Counters.GetFavoriteForAsset .. v8.CounterSuffix.RequestSucceeded));
                end;
            end, if not v7() then nil else function(_)
                v12:dispatch(v6(v8.Counters.GetFavoriteForAsset .. v8.CounterSuffix.RequestRejected));
            end);
        end)(v12):catch(function(_)
            if v7() then
                v12:dispatch(v6(v8.Counters.GetFavoriteForAsset .. v8.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.Actions.SetFavoriteBundle);
local v5 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v6 = require(l_Parent_0.Thunks.SendCounter);
local v7 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v8 = require(l_Parent_0.Constants);
local v9 = {
    v3
};
local v10 = v5("getFavoriteForBundle");
return function(v11)
    return v2.new(script.Name, v9, function(v12, v13)
        local v14 = v13[v3];
        return l_PerformFetch_0.Single(v10(v12:getState().storeId, v11), function(_)
            return v14.getFavoriteForBundle(v11):andThen(function(v16)
                if v16 == "null" then
                    v12:dispatch(v4(tostring(v11), false));
                else
                    v12:dispatch(v4(tostring(v11), true));
                end;
                if v7() then
                    v12:dispatch(v6(v8.Counters.GetFavoriteForBundle .. v8.CounterSuffix.RequestSucceeded));
                end;
            end, if not v7() then nil else function(_)
                v12:dispatch(v6(v8.Counters.GetFavoriteForBundle .. v8.CounterSuffix.RequestRejected));
            end);
        end)(v12):catch(function(_)
            if v7() then
                v12:dispatch(v6(v8.Counters.GetFavoriteForBundle .. v8.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v5 = require(l_Parent_0.Thunks.SendCounter);
local v6 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v7 = require(l_Parent_0.Constants);
local v8 = {
    v3
};
local v9 = v4("getHumanoidDescriptionFromCostumeId");
return function(v10, v11)
    return v2.new(script.Name, v8, function(v12, v13)
        local v14 = v13[v3];
        return l_PerformFetch_0.Single(v9(v12:getState().storeId, v10), function()
            return v14.getHumanoidDescriptionFromCostumeId(v10):andThen(function(v15)
                v11(v15);
                if v6() then
                    v12:dispatch(v5(v7.Counters.GetHumanoidDescriptionFromCostumeId .. v7.CounterSuffix.RequestSucceeded));
                end;
            end, if not v6() then nil else function(_)
                v12:dispatch(v5(v7.Counters.GetHumanoidDescriptionFromCostumeId .. v7.CounterSuffix.RequestRejected));
            end);
        end)(v12):catch(function(_)
            if v6() then
                v12:dispatch(v5(v7.Counters.GetHumanoidDescriptionFromCostumeId .. v7.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.Actions.SetPlayerName);
local v5 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v6 = require(l_Parent_0.Thunks.SendCounter);
local v7 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v8 = require(l_Parent_0.Constants);
local v9 = {
    v3
};
local v10 = v5("getPlayerName");
return function(v11)
    return v2.new(script.Name, v9, function(v12, v13)
        local v14 = v13[v3];
        return l_PerformFetch_0.Single(v10(v12:getState().storeId, v11), function()
            return v14.getPlayerName(v11):andThen(function(v15)
                v12:dispatch(v4(v15));
                if v7() then
                    v12:dispatch(v6(v8.Counters.GetPlayerName .. v8.CounterSuffix.RequestSucceeded));
                end;
            end, if not v7() then nil else function(_)
                v12:dispatch(v6(v8.Counters.GetPlayerName .. v8.CounterSuffix.RequestRejected));
            end);
        end)(v12):catch(function(_)
            if v7() then
                v12:dispatch(v6(v8.Counters.GetPlayerName .. v8.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.Models.AssetInfo);
local v5 = require(l_Parent_0.Actions.SetAssets);
local v6 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v7 = require(l_Parent_0.Thunks.SendCounter);
local v8 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v9 = require(l_Parent_0.Constants);
local v10 = {
    v3
};
local v11 = v6("getProductInfo");
return function(v12)
    return v2.new(script.Name, v10, function(v13, v14)
        local v15 = v14[v3];
        return l_PerformFetch_0.Single(v11(v13:getState().storeId, v12), function()
            return v15.getProductInfo(v12):andThen(function(v16)
                v13:dispatch(v5({
                    (v4.fromGetProductInfo(v16))
                }));
                if v8() then
                    v13:dispatch(v7(v9.Counters.GetProductInfo .. v9.CounterSuffix.RequestSucceeded));
                end;
            end, if not v8() then nil else function(_)
                v13:dispatch(v7(v9.Counters.GetProductInfo .. v9.CounterSuffix.RequestRejected));
            end);
        end)(v13):catch(function(_)
            if v8() then
                v13:dispatch(v7(v9.Counters.GetProductInfo .. v9.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_PerformFetch_0 = require(game:GetService("CorePackages").Workspace.Packages.Http).PerformFetch;
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_Parent_0.Thunk);
local v3 = require(l_Parent_0.Services.Network);
local v4 = require(l_Parent_0.Models.AssetInfo);
local v5 = require(l_Parent_0.Actions.SetAssets);
local v6 = require(l_Parent_0.createInspectAndBuyKeyMapper);
local v7 = require(l_Parent_0.Thunks.GetExperiencePlayability);
local v8 = require(l_Parent_0.Thunks.GetExperienceInfo);
local v9 = require(l_Parent_0.Thunks.SendCounter);
local v10 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v11 = require(l_Parent_0.Constants);
local v12 = {
    v3
};
local v13 = v6("getVersionInfo");
return function(v14)
    return v2.new(script.Name, v12, function(v15, v16)
        local v17 = v16[v3];
        return l_PerformFetch_0.Single(v13(v15:getState().storeId, v14), function()
            return v17.getVersionInfo(v14):andThen(function(v18)
                local v19 = v18.data[1];
                local v20 = if not v19 then nil else v19.creatingUniverseId;
                if v20 then
                    v20 = tostring(v20);
                    v15:dispatch(v5({
                        (v4.fromGetVersionInfo(v14, v19))
                    }));
                    v15:dispatch(v7(v20));
                    v15:dispatch(v8(v20));
                end;
                if v10() then
                    v15:dispatch(v9(v11.Counters.GetVersionInfo .. v11.CounterSuffix.RequestSucceeded));
                end;
            end, if not v10() then nil else function(_)
                v15:dispatch(v9(v11.Counters.GetVersionInfo .. v11.CounterSuffix.RequestRejected));
            end);
        end)(v15):catch(function(_)
            if v10() then
                v15:dispatch(v9(v11.Counters.GetVersionInfo .. v11.CounterSuffix.RequestFailed));
            end;
        end);
    end);
end;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.Thunk);
local v2 = require(l_Parent_0.Services.Analytics);
local v3 = require(l_Parent_0.UtilityFunctions);
local v4 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v5 = require(l_Parent_0.Thunks.SendCounter);
local v6 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v7 = require(l_Parent_0.Constants);
local v8 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedBundle);
local v9 = {
    v2
};
return function(v10)
    return v1.new(script.Name, v9, function(v11, v12)
        local v13 = v12[v2];
        local v14 = (v10 and v10.bundlesAssetIsIn) and #v10.bundlesAssetIsIn == 1;
        if v4() then
            v14 = v10 and v10.parentBundleId ~= nil;
        end;
        local v15 = v14 and not v10.isForSale;
        if v8() then
            v15 = v14;
        end;
        local v16 = nil;
        local v17 = nil;
        if not v15 then
            v16 = "Asset";
            v17 = v10.assetId;
        else
            v16 = "Bundle";
            v17 = v3.getBundleId(v10);
        end;
        v13.reportItemDetailPageOpened(v16, v17);
        if v6() then
            v11:dispatch(v5(v7.Counters.ItemDetailPageOpened));
        end;
    end);
end;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.Thunk);
local v2 = require(l_Parent_0.Services.Analytics);
local v3 = {
    v2
};
return function(v4)
    return v1.new(script.Name, v3, function(_, v6)
        v6[v2].sendCounter(v4);
    end);
end;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.Thunk);
local v2 = require(l_Parent_0.Services.Analytics);
local v3 = require(l_Parent_0.Actions.SetTryingOnInfo);
local v4 = require(l_Parent_0.Thunks.SendCounter);
local v5 = require(l_Parent_0.Flags.GetFFlagIBEnableSendCounters);
local v6 = require(l_Parent_0.Constants);
local v7 = {
    v2
};
return function(v8, v9, v10, v11, v12)
    return v1.new(script.Name, v7, function(v13, v14)
        local v15 = v14[v2];
        local v16 = nil;
        local v17 = nil;
        if not v11 then
            v16 = "Asset";
            v17 = v9;
        else
            v16 = "Bundle";
            v17 = v12;
        end;
        v15.reportTryOnButtonClicked(v16, v17);
        v13:dispatch(v3(v8, v9, v10));
        if v5() then
            v13:dispatch(v4(v6.Counters.TryOnButtonClicked));
        end;
    end);
end;


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.Thunk);
local v2 = require(l_Parent_0.Constants);
local v3 = require(l_Parent_0.Models.BundleInfo);
local v4 = require(l_Parent_0.Models.AssetInfo);
local v5 = require(l_Parent_0.Actions.SetBundles);
local v6 = require(l_Parent_0.Actions.SetAssets);
return function(v7, v8)
    return v1.new(script.Name, {}, function(v9, _)
        local v11 = v9:getState();
        if v8 == v2.ItemType.Asset then
            if v11.assets[v7] then
                v9:dispatch(v6({
                    (v4.fromPurchaseSuccess(v7))
                }));
                return ;
            end;
        elseif not (not (v8 == v2.ItemType.Bundle) or not v11.bundles[v7]) then
            v9:dispatch(v5({
                (v3.fromPurchaseSuccess(v7))
            }));
        end;
    end);
end;


local l_Parent_0 = script.Parent;
local v1 = require(l_Parent_0.Constants);
local v2 = require(l_Parent_0.Flags.GetFFlagIBGateUGC4ACollectibleAssetsBundles);
local v3 = require(l_Parent_0.Flags.GetFFlagIBEnableCollectiblesSystemSupport);
local v4 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedItemBugFixAndAlignment);
local v5 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v8 = {
    getBundleId = function(v6)
        if not v5() then
            if v6.bundlesAssetIsIn then
                return v6.bundlesAssetIsIn[1];
            else
                return nil;
            end;
        elseif v6.parentBundleId ~= nil then
            return v6.parentBundleId;
        else
            return nil;
        end;
    end,
    isCollectibles = function(v7)
        return (v7 and v7.productType) and v7.productType == v1.ProductType.CollectibleItem;
    end
};
if not (not v2() and not v3()) then
    v8.hasLimitedQuantity = function(v9)
        if v9 then
            return (v9.isLimited or if not v3() then nil else v9.isLimitedUnique) or v9.collectibleIsLimited;
        else
            return nil;
        end;
    end;
    if v4() then
        v8.isLimited1Point0 = function(v10)
            if v10 then
                return v10.isLimited or v10.isLimitedUnique;
            else
                return nil;
            end;
        end;
        v8.isLimited1Point0_LimitedUnique = function(v11)
            if v11 then
                return v11.isLimitedUnique;
            else
                return nil;
            end;
        end;
        v8.isLimited2Point0_Or_LimitedCollectible = function(v12)
            if v12 then
                return v12.collectibleIsLimited;
            else
                return nil;
            end;
        end;
    end;
    v8.isUnlimitedCollectibleAsset = function(v13, v14)
        if v13 and v14 then
            return (not v8.hasLimitedQuantity(v14) and v14.productType == v1.ProductType.CollectibleItem) and v13 == v1.ItemType.Asset;
        else
            return nil;
        end;
    end;
    v8.isLimitedBundle = function(v15, v16)
        if v15 and v16 then
            return v16.collectibleIsLimited and v15 == v1.ItemType.Bundle;
        else
            return nil;
        end;
    end;
    v8.isUnlimitedCollectibleBundle = function(v17, v18)
        if v17 and v18 then
            return (not v18.collectibleIsLimited and v18.productType == v1.ProductType.CollectibleItem) and v17 == v1.ItemType.Bundle;
        else
            return nil;
        end;
    end;
    v8.isLimitedCollectible = function(v19)
        if v19 then
            return v8.hasLimitedQuantity(v19) and v19.productType == v1.ProductType.CollectibleItem;
        else
            return nil;
        end;
    end;
end;
return v8;


local v0 = require(script.Parent.Colors);
local v1 = require(script.Parent.Parent.TopBar.Constants);
local v2 = {
    ContainerBackgroundTransparency = 0,
    ContainerBackgroundColor = v0.Carbon,
    UseContainerAspectRatio = false,
    ContainerAspectRatio = nil,
    MaxAssetCardsPerRow = 4,
    ContainerSize = UDim2.new(1, 0, 1, -v1.TopBarHeight),
    ContainerAnchorPoint = Vector2.new(0.5, 0),
    ContainerPosition = UDim2.new(0.5, 0, 0, v1.TopBarHeight),
    AvatarHeadShotSize = 48,
    TopSizeY = 50,
    PlayerViewportSize = UDim2.new(0.33, 0, 1, -42),
    AssetListSize = UDim2.new(0.67, 0, 1, -42),
    AssetListPosition = UDim2.new(0.33, 0, 0, 42),
    CloseButtonPosition = UDim2.new(0, 6, 0, -20),
    DetailsThumbnailFrameSize = UDim2.new(0.4, 0, 1, -30),
    DetailsThumbnailFramePosition = UDim2.new(0, 25, 0, 30),
    DetailsThumbnailAnchorPoint = Vector2.new(0.5, 0),
    DetailsThumbnailPosition = UDim2.new(0.5, 0, 0, 0),
    DetailsThumbnailARDominantAxis = Enum.DominantAxis.Width,
    DetailsFramePosition = UDim2.new(0.4, 30, 0, 30),
    DetailsFrameSize = UDim2.new(0.6, -30, 1, -30),
    AssetCardMaxSizeX = 190,
    AssetCardMaxSizeY = 279,
    DefaultCameraOffset = CFrame.new(0, 2, -5),
    ToolOffset = CFrame.new(0, 2, -8),
    TryOnPosition = UDim2.new(0, 25, 0, 30),
    TryOnSize = UDim2.new(0.4, 0, 1, -30),
    BorderPaddingSize = 20,
    AssetTextMaxSize = 14
};
setmetatable(v2, {
    __newindex = function(_, _, _)
    end,
    __index = function(_, v7)
        error("WideLandscapeView table has no value: " .. tostring(v7));
    end
});
return v2;


local v0 = require(script.Parent.Colors);
local v1 = require(script.Parent.Parent.TopBar.Constants);
local v2 = {
    UseContainerAspectRatio = not game:DefineFastFlag("DisableUseContainerAspectRatio", false) and true or false,
    ContainerBackgroundTransparency = 0.3,
    ContainerBackgroundColor = v0.Black,
    ContainerAspectRatio = 0.9,
    MaxAssetCardsPerRow = 4,
    ContainerSize = UDim2.new(0.7, 0, 0.95, -v1.TopBarHeight),
    ContainerAnchorPoint = Vector2.new(0.5, 0.5),
    ContainerPosition = UDim2.new(0.5, 0, 0.5, v1.TopBarHeight),
    AvatarHeadShotSize = 48,
    TopSizeY = 50,
    ClipsDescendants = true,
    PlayerViewportSize = UDim2.new(0.33, 0, 1, -42),
    AssetListSize = UDim2.new(0.67, 0, 1, -42),
    AssetListPosition = UDim2.new(0.33, 0, 0, 42),
    CloseButtonPosition = UDim2.new(0, 6, 0, -30),
    DetailsThumbnailFrameSize = UDim2.new(0.4, 0, 1, -30),
    DetailsThumbnailFramePosition = UDim2.new(0, 25, 0, 30),
    DetailsThumbnailAnchorPoint = Vector2.new(0.5, 0),
    DetailsThumbnailPosition = UDim2.new(0.5, 0, 0, 0),
    DetailsThumbnailARDominantAxis = Enum.DominantAxis.Width,
    DetailsFramePosition = UDim2.new(0.4, 30, 0, 30),
    DetailsFrameSize = UDim2.new(0.6, -30, 1, -30),
    AssetCardMaxSizeX = 190,
    AssetCardMaxSizeY = 279,
    DefaultCameraOffset = CFrame.new(0, 2, -5),
    ToolOffset = CFrame.new(0, 2, -8),
    TryOnPosition = UDim2.new(0, 25, 0, 30),
    TryOnSize = UDim2.new(0.4, 0, 1, -30),
    BorderPaddingSize = 40,
    AssetTextMaxSize = 18
};
setmetatable(v2, {
    __newindex = function(_, _, _)
    end,
    __index = function(_, v7)
        error("WideView table has no value: " .. tostring(v7));
    end
});
return v2;


return function(v0)
    return function(v1, ...)
        local v2 = "inspectAndBuy." .. v1 .. "." .. v0;
        for v3 = 1, select("#", ...) do
            v2 = v2 .. "." .. tostring(select(v3, ...));
        end;
        return v2;
    end;
end;


local v0 = require(script.Parent.Colors);
return function()
    local l_ImageLabel_0 = Instance.new("ImageLabel");
    l_ImageLabel_0.Image = "rbxasset://textures/ui/InspectMenu/selection_regular.png";
    l_ImageLabel_0.ImageColor3 = v0.White;
    l_ImageLabel_0.ScaleType = Enum.ScaleType.Slice;
    l_ImageLabel_0.SliceCenter = Rect.new(5, 5, 120, 20);
    l_ImageLabel_0.BackgroundTransparency = 1;
    l_ImageLabel_0.Size = UDim2.new(1, 0, 1, 0);
    return l_ImageLabel_0;
end;


local v0 = require(script.Parent.Colors);
return function()
    local l_ImageLabel_0 = Instance.new("ImageLabel");
    l_ImageLabel_0.Image = "rbxasset://textures/ui/InspectMenu/selection_rounded.png";
    l_ImageLabel_0.ImageColor3 = v0.White;
    l_ImageLabel_0.ScaleType = Enum.ScaleType.Slice;
    l_ImageLabel_0.SliceCenter = Rect.new(5, 5, 120, 20);
    l_ImageLabel_0.BackgroundTransparency = 1;
    l_ImageLabel_0.Size = UDim2.new(1, 0, 1, 0);
    return l_ImageLabel_0;
end;


local v0 = require(game:GetService("CorePackages").Packages.t);
return v0.union(v0.instanceIsA("Player"), v0.interface({
    UserId = v0.integer,
    Name = v0.string,
    DisplayName = v0.string
}));


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(script.Parent.Flags.GetFFlagEnableV3MenuABTest);
local v2 = require(script.Parent.Flags.GetFFlagEnableMenuControlsABTest);
local l_GetFFlagEnableMenuModernizationABTest_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagEnableMenuModernizationABTest;
local l_GetFFlagEnableInGameMenuChromeABTest_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagEnableInGameMenuChromeABTest;
return function()
    return game:GetEngineFeature("ExperienceMenuABTest") and (((v1() or v2()) or l_GetFFlagEnableMenuModernizationABTest_0()) or l_GetFFlagEnableInGameMenuChromeABTest_0());
end;


local l_Players_0 = game:GetService("Players");
local l_GuiService_0 = game:GetService("GuiService");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_GameSettings_0 = UserSettings().GameSettings;
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local l_SendNotificationInfo_0 = l_RobloxGui_0:WaitForChild("SendNotificationInfo");
local l_RobloxTranslator_0 = require(l_RobloxGui_0:WaitForChild("Modules"):WaitForChild("RobloxTranslator"));
local v8 = require(l_RobloxGui_0.Modules.Flags.GetFFlagFixMissingPlayerGuiCrash);
local v9 = nil;
local function _(v10, v11)
    pcall(function()
        v11 = l_RobloxTranslator_0:FormatByKey(v10);
    end);
    return v11;
end;
local function v22(_, v14, v15)
    if v14 ~= Enum.UserInputState.Begin then
        return Enum.ContextActionResult.Pass;
    else
        local l_SelectedObject_0 = l_GuiService_0.SelectedObject;
        if l_SelectedObject_0 == nil then
            return Enum.ContextActionResult.Pass;
        else
            local v17 = nil;
            if l_SelectedObject_0.ClassName == "ScrollingFrame" then
                v17 = l_SelectedObject_0;
            else
                local l_l_SelectedObject_0_FirstAncestorOfClass_0 = l_SelectedObject_0:FindFirstAncestorOfClass("ScrollingFrame");
                if l_l_SelectedObject_0_FirstAncestorOfClass_0 ~= nil then
                    v17 = l_l_SelectedObject_0_FirstAncestorOfClass_0;
                end;
            end;
            if v17 == nil then
                return Enum.ContextActionResult.Pass;
            else
                local v19 = 0;
                if not (v15.KeyCode ~= Enum.KeyCode.PageUp) or v15.KeyCode == Enum.KeyCode.Home then
                    v19 = -100;
                elseif not (v15.KeyCode ~= Enum.KeyCode.PageDown) or v15.KeyCode == Enum.KeyCode.End then
                    v19 = 100;
                end;
                local l_X_0 = v17.CanvasPosition.X;
                local l_Y_0 = v17.CanvasPosition.Y;
                if not (v15.KeyCode ~= Enum.KeyCode.PageUp) or v15.KeyCode == Enum.KeyCode.PageDown then
                    l_Y_0 = math.max(0, (math.min(l_Y_0 + v19, v17.AbsoluteCanvasSize.Y)));
                elseif not (v15.KeyCode ~= Enum.KeyCode.Home) or v15.KeyCode == Enum.KeyCode.End then
                    l_X_0 = math.max(0, (math.min(l_X_0 + v19, v17.AbsoluteCanvasSize.X)));
                end;
                v17.CanvasPosition = Vector2.new(l_X_0, l_Y_0);
                return Enum.ContextActionResult.Pass;
            end;
        end;
    end;
end;
local function v34(_, v24, _)
    if l_GameSettings_0.UiNavigationKeyBindEnabled then
        if v24 ~= Enum.UserInputState.Begin then
            return Enum.ContextActionResult.Pass;
        elseif l_GuiService_0.AutoSelectGuiEnabled then
            if not l_GuiService_0.SelectedObject then
                if not v8() then
                    if v9 == nil then
                        v9 = l_Players_0.LocalPlayer:WaitForChild("PlayerGui");
                    end;
                elseif v9 == nil then
                    v9 = l_Players_0.LocalPlayer:FindFirstChildOfClass("PlayerGui");
                end;
                l_GuiService_0:Select(v9);
                if l_GuiService_0.SelectedObject then
                    local v26 = nil;
                    local l_pcall_0 = pcall;
                    local v28 = "NotificationScript2.UINavigation.Title";
                    local v29;
                    do
                        local l_v26_0 = v26;
                        l_pcall_0(function()
                            l_v26_0 = l_RobloxTranslator_0:FormatByKey(v28);
                        end);
                        v29 = l_v26_0;
                    end;
                    l_pcall_0 = nil;
                    local l_pcall_1 = pcall;
                    local v32 = "NotificationScript2.UINavigation.Text";
                    do
                        local l_l_pcall_0_0 = l_pcall_0;
                        l_pcall_1(function()
                            l_l_pcall_0_0 = l_RobloxTranslator_0:FormatByKey(v32);
                        end);
                        v26 = l_l_pcall_0_0;
                    end;
                    l_SendNotificationInfo_0:Fire({
                        Title = v29,
                        Text = v26,
                        Duration = 3
                    });
                end;
                return Enum.ContextActionResult.Sink;
            else
                l_GuiService_0.SelectedObject = nil;
                return Enum.ContextActionResult.Sink;
            end;
        else
            return Enum.ContextActionResult.Pass;
        end;
    else
        return Enum.ContextActionResult.Pass;
    end;
end;
local v35 = {};
v35.__index = v35;
v35.new = function()
    local v36 = setmetatable({}, v35);
    l_ContextActionService_0:BindAction("EnableKeyboardUINavigation", v34, false, Enum.KeyCode.BackSlash);
    l_ContextActionService_0:BindAction("ScrollSelectedElement", v22, false, Enum.KeyCode.PageUp, Enum.KeyCode.PageDown, Enum.KeyCode.Home, Enum.KeyCode.End);
    l_GameSettings_0:GetPropertyChangedSignal("UiNavigationKeyBindEnabled"):Connect(function()
        if not l_GameSettings_0.UiNavigationKeyBindEnabled then
            l_GuiService_0.SelectedObject = nil;
        end;
    end);
    return v36;
end;
return v35.new();


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Rodux);
local v2 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
return v1.makeActionCreator(script.Name, function(v3)
    v2.isType(v3, "table", "SetGameProductInfo action expects productInfo to be a table");
    return {
        productInfo = v3
    };
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Rodux);
local v2 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
return v1.makeActionCreator(script.Name, function(v3)
    v2.isType(v3, "boolean", "SetIsSubjectToChinaPolicies action expects isSubjectToChinaPolicies to be a boolean");
    return {
        isSubjectToChinaPolicies = v3
    };
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Rodux);
local v2 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
return v1.makeActionCreator(script.Name, function(v3)
    v2.isType(v3, "table", "SetUniverseId action expects gameIds to be a table");
    return {
        universeId = v3.universeId,
        placeId = v3.placeId
    };
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local v2 = require(l_CorePackages_0.Rodux);
return v2.combineReducers({
    isSubjectToChinaPolicies = v2.createReducer(nil, {
        [require(l_CoreGui_0.RobloxGui.Modules.LoadingScreen.Actions.SetIsSubjectToChinaPolicies).name] = function(_, v4)
            return v4.isSubjectToChinaPolicies;
        end
    }),
    productInfo = v2.createReducer(nil, {
        [require(l_CoreGui_0.RobloxGui.Modules.LoadingScreen.Actions.SetGameProductInfo).name] = function(_, v6)
            return v6.productInfo;
        end
    }),
    gameIds = v2.createReducer(nil, {
        [require(l_CoreGui_0.RobloxGui.Modules.LoadingScreen.Actions.SetUniverseId).name] = function(_, v8)
            return {
                universeId = v8.universeId,
                placeId = v8.placeId
            };
        end
    })
});


local l_CoreGui_0 = game:GetService("CoreGui");
local l_MarketplaceService_0 = game:GetService("MarketplaceService");
local v2 = require(l_CoreGui_0.RobloxGui.Modules.LoadingScreen.Actions.SetGameProductInfo);
return function(v3)
    return function(v4)
        coroutine.wrap(function()
            local l_v3_0 = v3;
            if not l_v3_0 or l_v3_0 <= 0 then
                while game.PlaceId <= 0 do
                    wait();
                end;
                l_v3_0 = game.PlaceId;
            end;
            local l_status_0, l_result_0 = pcall(function()
                v4:dispatch(v2((l_MarketplaceService_0:GetProductInfo(l_v3_0))));
            end);
            if not l_status_0 then
                print("LoadingScreen:GetGameProductInfo: %s", l_result_0);
            end;
        end)();
    end;
end;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.Common.PolicyService);
local v2 = require(l_Modules_0.LoadingScreen.Actions.SetIsSubjectToChinaPolicies);
return function()
    return function(v3)
        coroutine.wrap(function()
            v3:dispatch(v2((v1:IsSubjectToChinaPolicies())));
        end)();
    end;
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_RunService_0 = game:GetService("RunService");
local l_MarketplaceService_0 = game:GetService("MarketplaceService");
local _ = game:GetService("UserInputService");
local l_ReplicatedFirst_0 = game:GetService("ReplicatedFirst");
local l_GuiService_0 = game:GetService("GuiService");
local v7 = require(l_CoreGui_0:WaitForChild("RobloxGui").Modules.Settings.Utility);
local l_SplashScreenManager_0 = require(l_CorePackages_0.Workspace.Packages.SplashScreenManager).SplashScreenManager;
local v9 = game:DefineFastFlag("LoadingRemoveRemoteCallErrorPrint", false);
local function v10(v11, v12, v13)
    v13 = v13 or 0.5;
    if v11 == nil then
        return ;
    else
        if not (not v11:IsA("ImageLabel") and not v11:IsA("ImageButton")) then
            v7:TweenProperty(v11, "ImageTransparency", v11.ImageTransparency, v12, v13, v7:GetEaseInOutQuad());
        end;
        if v11:IsA("GuiObject") then
            v7:TweenProperty(v11, "BackgroundTransparency", v11.BackgroundTransparency, v12, v13, v7:GetEaseInOutQuad());
        end;
        if not (not (v11:IsA("TextLabel") or v11:IsA("TextBox")) and not v11:IsA("TextButton")) then
            v7:TweenProperty(v11, "TextTransparency", v11.TextTransparency, v12, v13, v7:GetEaseInOutQuad());
        end;
        for _, v15 in pairs(v11:GetChildren()) do
            v10(v15, v12, v13);
        end;
        return ;
    end;
end;
local v16 = {};
local l_BindableEvent_0 = Instance.new("BindableEvent");
v16.Finished = false;
v16.GameAssetInfo = nil;
v16.LoadingFinishedEvent = l_BindableEvent_0.Event;
v16.GetGameName = function(v18)
    if v18.GameAssetInfo ~= nil then
        return v18.GameAssetInfo.Name;
    else
        return "";
    end;
end;
v16.GetCreatorName = function(v19)
    if v19.GameAssetInfo ~= nil then
        return v19.GameAssetInfo.Creator.Name;
    else
        return "";
    end;
end;
v16.IsReady = function(v20)
    return v20.Finished;
end;
local l_l_BindableEvent_0_0 = l_BindableEvent_0 --[[ copy: 13 -> 31 ]];
v16.LoadAssetsAsync = function(v22)
    spawn(function()
        while game.PlaceId <= 0 do
            wait();
        end;
        local l_status_0, l_result_0 = pcall(function()
            v22.GameAssetInfo = l_MarketplaceService_0:GetProductInfo(game.PlaceId);
        end);
        if not (v9 or l_status_0) then
            print("LoadingScript->GameInfoProvider:LoadAssets:", l_result_0);
        end;
        v22.Finished = true;
        l_l_BindableEvent_0_0:Fire();
    end);
end;
l_BindableEvent_0 = {};
local v25 = v7:Create("Frame")({
    Name = "VRLoadingScreenContainer",
    Size = UDim2.new(1, 0, 1, 0),
    BackgroundTransparency = 1,
    BackgroundColor3 = Color3.new(0, 0, 0)
});
local v26 = v7:Create("ImageLabel")({
    Name = "LoadingBackground",
    Position = UDim2.new(0.25, 0, 0.25, 0),
    Size = UDim2.new(0.5, 0, 0.5, 0),
    Image = "rbxasset://textures/ui/LoadingScreen/BackgroundLight.png",
    ScaleType = Enum.ScaleType.Slice,
    SliceCenter = Rect.new(70, 70, 110, 110),
    BackgroundTransparency = 1,
    Parent = v25,
    ImageColor3 = Color3.new(0, 0, 0)
});
local v27 = 0;
local v28 = v7:Create("ImageLabel")({
    Name = "Spinner",
    Size = UDim2.new(0.25, 0, 0.25, 0),
    Position = UDim2.new(0.375, 0, 0.325, 0),
    Image = "rbxasset://textures/ui/LoadingScreen/LoadingSpinner.png",
    BackgroundTransparency = 1,
    Parent = v26
});
local v29 = v7:Create("TextLabel")({
    Name = "LoadingText",
    Text = "Loading...",
    BackgroundTransparency = 1,
    Font = Enum.Font.SourceSans,
    FontSize = Enum.FontSize.Size60,
    Position = UDim2.new(0.5, 0, 0.2, 0),
    Parent = v26,
    TextColor3 = Color3.new(0.30196078431372547, 0.6392156862745098, 0.8784313725490196)
});
local v30 = v7:Create("TextLabel")({
    Name = "GameNameText",
    Text = "",
    BackgroundTransparency = 1,
    Font = Enum.Font.SourceSans,
    FontSize = Enum.FontSize.Size60,
    Size = UDim2.new(0.9, 0, 0.1, 0),
    Position = UDim2.new(0.05, 0, 0.65, 0),
    ClipsDescendants = true,
    Parent = v26,
    TextColor3 = Color3.new(0.058823529411764705, 0.9294117647058824, 1)
});
local v31 = v7:Create("Frame")({
    Name = "CreatorTextContainer",
    Size = UDim2.new(0.9, 0, 0.1, 0),
    Position = UDim2.new(0.05, 0, 0.77, 0),
    BackgroundTransparency = 1,
    ClipsDescendants = true,
    Parent = v26
});
local v32 = 0;
local v33 = v7:Create("TextLabel")({
    Name = "CreatorText",
    Text = "",
    BackgroundTransparency = 1,
    Font = Enum.Font.SourceSans,
    FontSize = Enum.FontSize.Size42,
    Size = UDim2.new(1, 0, 1, 0),
    Parent = v31,
    TextColor3 = Color3.new(0.058823529411764705, 0.9294117647058824, 1)
});
local function _(v34)
    local l_CurrentCamera_0 = workspace.CurrentCamera;
    if not l_CurrentCamera_0 then
        return Vector2.new(0, 0);
    else
        local v36 = l_CurrentCamera_0.ViewportSize.x / l_CurrentCamera_0.ViewportSize.y;
        local v37 = (2 * v34) * math.tan((math.rad(l_CurrentCamera_0.FieldOfView / 2)));
        return Vector2.new(v37 * v36, v37);
    end;
end;
local v39 = false;
local v40 = true;
delay(2.5, function()
    v40 = false;
end);
local function v43(v41)
    if v33.TextBounds.X < v31.AbsoluteSize.X then
        v33.Position = UDim2.new(0, 0, 0, 0);
        v33.Size = UDim2.new(1, 0, 1, 0);
    elseif v41 ~= nil then
        v33.Size = UDim2.new(0, v33.TextBounds.X, 1, 0);
        if not v40 then
            local v42 = v32 - v41 * 25;
            if v42 + v33.AbsoluteSize.X < v31.AbsoluteSize.X then
                v40 = true;
                spawn(function()
                    v7:TweenProperty(v33, "TextTransparency", v33.TextTransparency, 1, 1, v7:GetEaseInOutQuad());
                    wait(1.5);
                    if not v39 then
                        v32 = 0;
                        v7:TweenProperty(v33, "TextTransparency", v33.TextTransparency, 0, 1, v7:GetEaseInOutQuad());
                        wait(1.5);
                        v40 = false;
                        return ;
                    else
                        return ;
                    end;
                end);
            else
                v32 = v42;
            end;
        end;
        v33.Position = UDim2.new(0, v32, 0, 0);
    end;
    if not v30.TextFits then
        v30.Size = UDim2.new(0.9, 0, 0.3, 0);
        v30.Position = UDim2.new(0.05, 0, 0.5, 0);
        v30.TextScaled = true;
        v30.TextWrapped = true;
        v28.Position = UDim2.new(0.375, 0, 0.225, 0);
        v29.Position = UDim2.new(0.5, 0, 0.15, 0);
    end;
end;
local function _()
    if not v39 then
        v39 = true;
        v10(v25, 1, 2.5);
        wait(2.5);
        l_RunService_0:UnbindFromRenderStep("LoadingGui3D");
        v25.Parent = nil;
        return ;
    else
        return ;
    end;
end;
local function v46()
    local v45;
    v45 = v16:GetCreatorName() and (v45 ~= "" and string.format("By %s", (tostring(v45))));
    v30.Text = v16:GetGameName();
    v33.Text = v45;
end;
local function v47()
    if not v39 then
        v39 = true;
        v10(v25, 1, 2.5);
        wait(2.5);
        l_RunService_0:UnbindFromRenderStep("LoadingGui3D");
        v25.Parent = nil;
        return ;
    else
        return ;
    end;
end;
local v48 = tick();
do
    local l_v48_0 = v48;
    l_RunService_0:BindToRenderStep("LoadingGui3D", Enum.RenderPriority.Last.Value, function()
        local v50 = tick();
        local v51 = v50 - l_v48_0;
        v43(v51);
        v27 = v27 + (v51 * 0.5) * 360;
        v28.Rotation = v27;
        l_v48_0 = v50;
    end);
    v43();
end;
v16:LoadAssetsAsync();
if v16:IsReady() then
    v48 = v16:GetCreatorName() and (v48 ~= "" and string.format("By %s", (tostring(v48))));
    v30.Text = v16:GetGameName();
    v33.Text = v48;
end;
v16.LoadingFinishedEvent:Connect(v46);
if not l_ReplicatedFirst_0:IsDefaultLoadingGuiRemoved() then
    l_ReplicatedFirst_0.RemoveDefaultLoadingGuiSignal:connect(v47);
elseif not v39 then
    v39 = true;
    v10(v25, 1, 2.5);
    wait(2.5);
    l_RunService_0:UnbindFromRenderStep("LoadingGui3D");
    v25.Parent = nil;
end;
l_GuiService_0.ErrorMessageChanged:connect(function()
end);
l_GuiService_0.UiMessageChanged:connect(function(_, _)
end);
l_SplashScreenManager_0.addStatusChangeListener(function(v54)
    if v54 then
        if not v39 then
            v39 = true;
            v10(v25, 1, 2.5);
            wait(2.5);
            l_RunService_0:UnbindFromRenderStep("LoadingGui3D");
            v25.Parent = nil;
        else
            return ;
        end;
    end;
end);
return v25;


local v0 = require(game:GetService("CorePackages").Lumberyak).Logger.new(nil, "CoreLogger");
local v1 = v0.Levels.fromString((game:DefineFastString("DebugLuaLogLevel", "")));
local v2 = game:DefineFastString("DebugLuaLogPattern", "");
v0:setContext({
    prefix = "[{loggerName}] - "
});
v0:addSink({
    maxLevel = v1,
    log = function(_, v4, _)
        if string.match(v4, v2) then
            print(v4);
        end;
    end
});
return v0;


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Rodux).makeActionCreator(script.Name, function(v0)
    local v1 = true;
    if v0 ~= nil then
        v1 = typeof(v0) == "DateTime";
    end;
    assert(v1, "Expected the passed unlock time must be a valid `DateTime` or nil");
    return {
        accountPinUnlockedUntil = v0
    };
end);


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.LuaApp.Enum.AccountSecurity.DisplayType);
local v2 = require(l_Modules_0.LuaApp.Enum.AccountSecurity.PromptType);
return require(l_Modules_0.Common.Rodux).makeActionCreator(script.Name, function(v3, v4, v5)
    local v6 = true;
    if v4 ~= nil then
        v6 = v2.isEnumValue(v4);
        if not v6 then
            v6 = v3;
            if v6 then
                v6 = false;
                if typeof(v5) == "table" then
                    v6 = v1.isEnumValue(v1.fromRawValue(v5.displayType));
                end;
            end;
        end;
    end;
    assert(v6, "Expected the passed prompt type must either be a valid enum value or nil");
    return {
        isGeneric = v3,
        promptType = v4,
        metadata = v5,
        lastUpdatedPromptTypeAt = DateTime.now()
    };
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_makeActionCreator_0 = require(l_CorePackages_0.Rodux).makeActionCreator;
local v2 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
return l_makeActionCreator_0(script.Name, function(v3, v4)
    v2.isType(v3, "string", "Actions.AddAutocompleteSuggestion.prefix");
    v2.isType(v4, "table", "Actions.AddAutocompleteSuggestion.autocompleteSuggestion");
    return {
        prefix = v3,
        autocompleteSuggestion = v4
    };
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_makeActionCreator_0 = require(l_CorePackages_0.Rodux).makeActionCreator;
local v2 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
return l_makeActionCreator_0(script.Name, function(v3)
    v2.isType(v3, "table", "Actions.AddAutocompleteSuggestionTable.suggestionTable");
    return {
        suggestionTable = v3
    };
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_makeActionCreator_0 = require(l_CorePackages_0.Rodux).makeActionCreator;
local v2 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
return l_makeActionCreator_0(script.Name, function(v3, v4)
    v2.isType(v3, "string", "Actions.AddFriendFollowing.id");
    v2.isType(v4, "boolean", "Actions.AddFriendFollowing.following");
    return {
        id = v3,
        following = v4
    };
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_makeActionCreator_0 = require(l_CorePackages_0.Rodux).makeActionCreator;
local v2 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
return l_makeActionCreator_0(script.Name, function(v3, v4)
    v2.isType(v3, "string", "Actions.AddFriendStatus.id");
    v2.isType(v4, "EnumItem", "Actions.AddFriendStatus.status");
    return {
        id = v3,
        status = v4
    };
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_makeActionCreator_0 = require(l_CorePackages_0.Rodux).makeActionCreator;
local v2 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
return l_makeActionCreator_0(script.Name, function(v3, v4, v5)
    v2.isType(v3, "string", "Actions.AddUsersSearchResults.keyword");
    if v4 then
        v2.isType(v4, "string", "Actions.AddUsersSearchResults.nextPageCursor");
    end;
    v2.isType(v5, "table", "Actions.AddUsersSearchResults.entries");
    return {
        keyword = v3,
        nextPageCursor = v4,
        entries = v5
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0, v1)
    return {
        searchUuid = v0,
        searchInGames = v1
    };
end);


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.Common.Action);
local v2 = require(l_Modules_0.LuaApp.ArgCheck);
return v1(script.Name, function(v3)
    return {
        navigationState = v2.isTypeOrNil(v3, "table", "navigationState")
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function()
    return {};
end);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
return require(l_Modules_0.Common.Action)(script.Name, function(v3)
    v2.isType(v3, "table", "tableOfHumanoidDescriptionProperties passed into SetHumanoidDescriptionProperties");
    for v4, v5 in pairs(v3) do
        v2.isNonEmptyString(v4, "tableOfHumanoidDescriptionProperties's key (outfitId)");
        v2.isType(v5, "table", "tableOfHumanoidDescriptionProperties's value (table of HumanoidDescription properties)");
    end;
    return {
        tableOfHumanoidDescriptionProperties = v3
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0)
    return {
        loginResult = v0
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0)
    return {
        birthday = v0
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0)
    return {
        bundles = v0
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0)
    return {
        signupPassword = v0
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0)
    return {
        bundleId = v0
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0)
    return {
        signupUsername = v0
    };
end);


return require(game:GetService("CoreGui"):FindFirstChild("RobloxGui").Modules.Common.Action)(script.Name, function()
    return {};
end);


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.Common.Action);
local v2 = require(l_Modules_0.LuaApp.Enum.RetrievalStatus);
return v1(script.Name, function(v3)
    return {
        userId = v3,
        status = v2.Fetching
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0)
    return {
        contentMetadata = v0.metadata
    };
end);


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.Common.Action);
local _ = require(l_Modules_0.LuaApp.Models.GameSort);
return v1(script.Name, function(v3)
    return {
        sorts = v3
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0)
    assert(type(v0) == "table", string.format("AddGames action expects games to be a table, was %s", (type(v0))));
    return {
        games = v0
    };
end);


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.Common.Action);
local v2 = require(l_Modules_0.Personalization.Flags.GetFFlagLuaAppAddSortsTopicLayoutDataInAppend);
return v1(script.Name, function(v3, v4, v5)
    return {
        groupId = v3,
        sorts = v4,
        sortsTopicLayoutData = if not v2() then nil else v5
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0)
    assert(type(v0) == "number", "SetCanTurnOnExperienceNotificationsCount: count must be a number");
    return {
        count = v0
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0)
    assert(type(v0) == "number", "SetCanTurnOnExperienceNotificationsLimit: limit must be a number");
    return {
        limit = v0
    };
end);


return require(game:GetService("CoreGui").RobloxGui.Modules.Common.Action)(script.Name, function(v0, v1)
    assert(type(v0) == "string", "SetGameFavorite: universeId must be a string");
    assert(type(v1) == "boolean", "SetGameFavorite: isFavorited must be a boolean");
    return {
        universeId = v0,
        isFavorited = v1
    };
end);


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.Common.Action);
local v2 = require(l_Modules_0.LuaApp.ArgCheck);
return v1(script.Name, function(v3, v4)
    v2.isType(v3, "string", "universeId");
    v2.isType(v4, "table", "passes");
    return {
        universeId = v3,
        passes = v4
    };
end);