/**** (c) Valve Corporation. Use is governed by the terms of the Steam Subscriber Agreement http://store.steampowered.com/subscriber_agreement/.
 ****/
(self.webpackChunkcsgo_react = self.webpackChunkcsgo_react || []).push([
  [179],
  {
    5175: (e, t, r) => {
      var n = {
        "./main_brazilian.json": [3407, 9431],
        "./main_bulgarian.json": [8809, 3359],
        "./main_czech.json": [4142, 647],
        "./main_danish.json": [1068, 3323],
        "./main_dutch.json": [5190, 698],
        "./main_english.json": [3260, 6815],
        "./main_finnish.json": [7349, 3768],
        "./main_french.json": [1618, 1117],
        "./main_german.json": [2881, 799],
        "./main_greek.json": [3541, 9568],
        "./main_hungarian.json": [3335, 8051],
        "./main_italian.json": [3824, 8155],
        "./main_japanese.json": [5312, 727],
        "./main_koreana.json": [2399, 4722],
        "./main_latam.json": [1912, 6087],
        "./main_norwegian.json": [7750, 7951],
        "./main_polish.json": [1986, 2767],
        "./main_portuguese.json": [9774, 7236],
        "./main_romanian.json": [657, 3277],
        "./main_russian.json": [1072, 4860],
        "./main_schinese.json": [5876, 9980],
        "./main_spanish.json": [9712, 6817],
        "./main_swedish.json": [1485, 3185],
        "./main_tchinese.json": [4151, 2942],
        "./main_thai.json": [8575, 7890],
        "./main_turkish.json": [4336, 9663],
        "./main_ukrainian.json": [2422, 2848],
        "./main_vietnamese.json": [8150, 8168],
      };
      function i(e) {
        if (!r.o(n, e))
          return Promise.resolve().then(() => {
            var t = new Error("Cannot find module '" + e + "'");
            throw ((t.code = "MODULE_NOT_FOUND"), t);
          });
        var t = n[e],
          i = t[0];
        return r.e(t[1]).then(() => r.t(i, 19));
      }
      (i.keys = () => Object.keys(n)), (i.id = 5175), (e.exports = i);
    },
    9790: (e, t, r) => {
      var n = {
        "./main_brazilian.json": [3407, 9431],
        "./main_bulgarian.json": [8809, 3359],
        "./main_czech.json": [4142, 647],
        "./main_danish.json": [1068, 3323],
        "./main_dutch.json": [5190, 698],
        "./main_english.json": [3260, 6815],
        "./main_finnish.json": [7349, 3768],
        "./main_french.json": [1618, 1117],
        "./main_german.json": [2881, 799],
        "./main_greek.json": [3541, 9568],
        "./main_hungarian.json": [3335, 8051],
        "./main_italian.json": [3824, 8155],
        "./main_japanese.json": [5312, 727],
        "./main_koreana.json": [2399, 4722],
        "./main_latam.json": [1912, 6087],
        "./main_norwegian.json": [7750, 7951],
        "./main_polish.json": [1986, 2767],
        "./main_portuguese.json": [9774, 7236],
        "./main_romanian.json": [657, 3277],
        "./main_russian.json": [1072, 4860],
        "./main_schinese.json": [5876, 9980],
        "./main_spanish.json": [9712, 6817],
        "./main_swedish.json": [1485, 3185],
        "./main_tchinese.json": [4151, 2942],
        "./main_thai.json": [8575, 7890],
        "./main_turkish.json": [4336, 9663],
        "./main_ukrainian.json": [2422, 2848],
        "./main_vietnamese.json": [8150, 8168],
      };
      function i(e) {
        if (!r.o(n, e))
          return Promise.resolve().then(() => {
            var t = new Error("Cannot find module '" + e + "'");
            throw ((t.code = "MODULE_NOT_FOUND"), t);
          });
        var t = n[e],
          i = t[0];
        return r.e(t[1]).then(() => r.t(i, 19));
      }
      (i.keys = () => Object.keys(n)), (i.id = 9790), (e.exports = i);
    },
    558: (e) => {
      e.exports = { CSGORoot: "app_CSGORoot_2I6Vt" };
    },
    929: (e) => {
      e.exports = {
        BetaCS2: "blogcapsule_BetaCS2_1UEiH",
        IntroSection: "blogcapsule_IntroSection_327IG",
        IntroDesc: "blogcapsule_IntroDesc_2u1EE",
        StandardButton: "blogcapsule_StandardButton_3Ep64",
        ButtonText: "blogcapsule_ButtonText_3L4H5",
        SteamLogo: "blogcapsule_SteamLogo_2zGXC",
        MicroButton: "blogcapsule_MicroButton_1XhIA",
        RightArrow: "blogcapsule_RightArrow_3Qhm_",
        UpRightArrow: "blogcapsule_UpRightArrow_1etvv",
        BlogCapsule: "blogcapsule_BlogCapsule_3OBoG",
        Entry: "blogcapsule_Entry_2P4kN",
        EntryImage: "blogcapsule_EntryImage_2NWzN",
        Image: "blogcapsule_Image_Nh_xZ",
        EntryContent: "blogcapsule_EntryContent_4huid",
        Date: "blogcapsule_Date_3kp_O",
        Desc: "blogcapsule_Desc_471NM",
        Title: "blogcapsule_Title_39UGs",
        FeaturedLink: "blogcapsule_FeaturedLink_310Fe",
        ForwardArrow: "blogcapsule_ForwardArrow_3iZak",
        Divider: "blogcapsule_Divider_1HLky",
      };
    },
    5043: (e) => {
      e.exports = {
        BetaCS2: "comparisonimage_BetaCS2_uCgT8",
        IntroSection: "comparisonimage_IntroSection_2qEf_",
        IntroDesc: "comparisonimage_IntroDesc_MrD2p",
        StandardButton: "comparisonimage_StandardButton_mgvs9",
        ButtonText: "comparisonimage_ButtonText_2MUkI",
        SteamLogo: "comparisonimage_SteamLogo_2GSNh",
        MicroButton: "comparisonimage_MicroButton_2dgeD",
        RightArrow: "comparisonimage_RightArrow_1dgL-",
        UpRightArrow: "comparisonimage_UpRightArrow_1oJgv",
        ComparisonImage: "comparisonimage_ComparisonImage_3SX3h",
        ImageLabel: "comparisonimage_ImageLabel_3bKKQ",
        IsNew: "comparisonimage_IsNew_S0b_n",
        TabbedMapComparison: "comparisonimage_TabbedMapComparison_3o6_K",
        TabHeader: "comparisonimage_TabHeader_2kgUP",
        Tab: "comparisonimage_Tab_1wY4I",
        Active: "comparisonimage_Active_ZBQE3",
        TabContents: "comparisonimage_TabContents_15E7R",
        TabContentContainer: "comparisonimage_TabContentContainer_2tKRo",
      };
    },
    6317: (e) => {
      e.exports = {
        BetaCS2: "fade_BetaCS2_1CzWt",
        IntroSection: "fade_IntroSection_2JjH8",
        IntroDesc: "fade_IntroDesc_1Hlm8",
        StandardButton: "fade_StandardButton_XEfbH",
        ButtonText: "fade_ButtonText_LsuO5",
        SteamLogo: "fade_SteamLogo_12vlI",
        MicroButton: "fade_MicroButton_3uGRT",
        RightArrow: "fade_RightArrow_2XWKH",
        UpRightArrow: "fade_UpRightArrow_2uF0a",
        FadeContainer: "fade_FadeContainer_1JDI3",
        Top: "fade_Top_3x_ct",
        Bottom: "fade_Bottom_1NXAh",
        Left: "fade_Left_2Ubxh",
        Right: "fade_Right_28o6N",
        Fade: "fade_Fade_1keus",
      };
    },
    1970: (e) => {
      e.exports = {
        BetaCS2: "homepageblogcapsule_BetaCS2_2dctu",
        IntroSection: "homepageblogcapsule_IntroSection_3WSPm",
        IntroDesc: "homepageblogcapsule_IntroDesc_3pJqX",
        StandardButton: "homepageblogcapsule_StandardButton_14y0V",
        ButtonText: "homepageblogcapsule_ButtonText_WQhVf",
        SteamLogo: "homepageblogcapsule_SteamLogo_3QiDL",
        MicroButton: "homepageblogcapsule_MicroButton_3ATsU",
        RightArrow: "homepageblogcapsule_RightArrow_3Fxa5",
        UpRightArrow: "homepageblogcapsule_UpRightArrow_zug4N",
        BlogCapsule: "homepageblogcapsule_BlogCapsule_3Rq9D",
        Title: "homepageblogcapsule_Title_3CDlg",
        Entry: "homepageblogcapsule_Entry_1SI2i",
        EntryImage: "homepageblogcapsule_EntryImage_5b155",
        Image: "homepageblogcapsule_Image_25Bg1",
        EntryContent: "homepageblogcapsule_EntryContent_1pRJz",
        Date: "homepageblogcapsule_Date_PT1jB",
        Desc: "homepageblogcapsule_Desc_MuN9z",
        FeaturedLink: "homepageblogcapsule_FeaturedLink_2Dj0Z",
        ForwardArrow: "homepageblogcapsule_ForwardArrow_1z88W",
        Divider: "homepageblogcapsule_Divider_1RtI8",
      };
    },
    5912: (e) => {
      e.exports = {
        BetaCS2: "languageselector_BetaCS2_3nGS-",
        IntroSection: "languageselector_IntroSection_3o4CH",
        IntroDesc: "languageselector_IntroDesc_1NkJg",
        StandardButton: "languageselector_StandardButton_2bKb2",
        ButtonText: "languageselector_ButtonText_uehim",
        SteamLogo: "languageselector_SteamLogo_1MNdR",
        MicroButton: "languageselector_MicroButton_3lXuc",
        RightArrow: "languageselector_RightArrow_3b32-",
        UpRightArrow: "languageselector_UpRightArrow_CcXpr",
        LanguageSelector: "languageselector_LanguageSelector_1C-JM",
        InnerWrapper: "languageselector_InnerWrapper_A5ZD2",
        MobileWrapper: "languageselector_MobileWrapper_1Tjgw",
        MobileDropdown: "languageselector_MobileDropdown_kZoIo",
        LanguageList: "languageselector_LanguageList_1vJep",
        ShowLanguages: "languageselector_ShowLanguages_1vnBC",
        LanguageOption: "languageselector_LanguageOption_Kd1K6",
        LanguageIcon: "languageselector_LanguageIcon_yTASe",
        DownArrow: "languageselector_DownArrow_37icj",
      };
    },
    9807: (e) => {
      e.exports = {
        BetaCS2: "microheader_BetaCS2_5N2_d",
        IntroSection: "microheader_IntroSection_hF0uZ",
        IntroDesc: "microheader_IntroDesc_1jKFi",
        StandardButton: "microheader_StandardButton_3mkXB",
        ButtonText: "microheader_ButtonText_jIe9r",
        SteamLogo: "microheader_SteamLogo_3qSrv",
        MicroButton: "microheader_MicroButton_3WoQ4",
        RightArrow: "microheader_RightArrow_l2ca0",
        UpRightArrow: "microheader_UpRightArrow_RsneX",
        MonthlyPlayers: "microheader_MonthlyPlayers_2Uld8",
        NavLink: "microheader_NavLink_15Uwp",
        MicroHeader: "microheader_MicroHeader_U7wdC",
        HeaderContents: "microheader_HeaderContents_RsnZk",
        CSLogo: "microheader_CSLogo_2a1MT",
        NavItems: "microheader_NavItems_3WYkc",
        Overlapping: "microheader_Overlapping_2RDnz",
        Active: "microheader_Active_3ulNR",
        GameDropdown: "microheader_GameDropdown_2cfJE",
        StoreLink: "microheader_StoreLink_VEHD2",
        DownArrow: "microheader_DownArrow_1VjIj",
        GameDropdownContents: "microheader_GameDropdownContents_18ww9",
        Hidden: "microheader_Hidden_3P4BK",
        PlayerCountContainer: "microheader_PlayerCountContainer_3yuWa",
        PlayerCount: "microheader_PlayerCount_2JbO9",
        CS2LimitedTestFAQ: "microheader_CS2LimitedTestFAQ_15K3m",
        NavLeft: "microheader_NavLeft_3A8n0",
        NavRight: "microheader_NavRight_2xbB0",
        OptionsSide: "microheader_OptionsSide_11feq",
        AccountLanguage: "microheader_AccountLanguage_22B7Z",
        Login: "microheader_Login_1RIIB",
        Account: "microheader_Account_lcq6h",
        Logout: "microheader_Logout_rirOy",
        PlayForFree: "microheader_PlayForFree_3viea",
        MobileHamburger: "microheader_MobileHamburger_MM-C2",
        HamburgerSlice: "microheader_HamburgerSlice_vkYBh",
        MobilePopup: "microheader_MobilePopup_27Q74",
        Show: "microheader_Show_hLuNN",
        Header: "microheader_Header_2H33B",
        DotaLogo: "microheader_DotaLogo_ZFf5S",
        CloseButton: "microheader_CloseButton_1cGE-",
        MobileOption: "microheader_MobileOption_3IxVZ",
        Arrow: "microheader_Arrow_3k0_X",
        MobileSubOptionList: "microheader_MobileSubOptionList_3GiVq",
        MobileSubOption: "microheader_MobileSubOption_2HVs2",
        LineSeparator: "microheader_LineSeparator_YWlJq",
        BottomSection: "microheader_BottomSection_1E5o8",
        LoginLanguage: "microheader_LoginLanguage_204pi",
      };
    },
    940: (e) => {
      e.exports = {
        BetaCS2: "rootfooter_BetaCS2_2uleN",
        IntroSection: "rootfooter_IntroSection_8YwsF",
        IntroDesc: "rootfooter_IntroDesc_OoZCj",
        StandardButton: "rootfooter_StandardButton_3oalD",
        ButtonText: "rootfooter_ButtonText_36TBd",
        SteamLogo: "rootfooter_SteamLogo_1fUV9",
        MicroButton: "rootfooter_MicroButton_1UX1_",
        RightArrow: "rootfooter_RightArrow_21T95",
        UpRightArrow: "rootfooter_UpRightArrow_3VYCt",
        RootFooter: "rootfooter_RootFooter_H4Gkw",
        Logos: "rootfooter_Logos_3rH3-",
        FooterLogo: "rootfooter_FooterLogo_2XaNu",
        Legal: "rootfooter_Legal_3kpHd",
      };
    },
    7588: (e) => {
      e.exports = {
        BetaCS2: "traileroverlay_BetaCS2_L01VZ",
        IntroSection: "traileroverlay_IntroSection_3fN_X",
        IntroDesc: "traileroverlay_IntroDesc_Qqvni",
        StandardButton: "traileroverlay_StandardButton_2Zab1",
        ButtonText: "traileroverlay_ButtonText_2a3Eu",
        SteamLogo: "traileroverlay_SteamLogo_3iteS",
        MicroButton: "traileroverlay_MicroButton_3BuY7",
        RightArrow: "traileroverlay_RightArrow_ESgJp",
        UpRightArrow: "traileroverlay_UpRightArrow_3kacH",
        TrailerOverlay: "traileroverlay_TrailerOverlay_1qRBJ",
        FadeBottom: "traileroverlay_FadeBottom_2pwPA",
        BackgroundImage: "traileroverlay_BackgroundImage_3QPOX",
        BackgroundVideo: "traileroverlay_BackgroundVideo_cPWWJ",
        TrailerContainer: "traileroverlay_TrailerContainer_6N_fn",
        Playing: "traileroverlay_Playing_20hTL",
        PlayButtonContainer: "traileroverlay_PlayButtonContainer_1pJy6",
        Hide: "traileroverlay_Hide_3QkmI",
        Button: "traileroverlay_Button_YbfaF",
        Label: "traileroverlay_Label_1rT4F",
        LogoElementContainer: "traileroverlay_LogoElementContainer_382RQ",
        TitleIn: "traileroverlay_TitleIn_3jZp2",
        LogoTop: "traileroverlay_LogoTop_29trU",
        LogoBottom: "traileroverlay_LogoBottom_D97oH",
        LogoLeft: "traileroverlay_LogoLeft_3NesB",
        LogoRight: "traileroverlay_LogoRight_20t2E",
        LogoCenter: "traileroverlay_LogoCenter_3KsW9",
      };
    },
    8075: (e) => {
      e.exports = {
        BetaCS2: "updatecapsule_BetaCS2_2fRts",
        IntroSection: "updatecapsule_IntroSection_1qu44",
        IntroDesc: "updatecapsule_IntroDesc_1CJiL",
        StandardButton: "updatecapsule_StandardButton_2es3S",
        ButtonText: "updatecapsule_ButtonText_2mKcP",
        SteamLogo: "updatecapsule_SteamLogo_3h6zM",
        MicroButton: "updatecapsule_MicroButton_3hBea",
        RightArrow: "updatecapsule_RightArrow_2574I",
        UpRightArrow: "updatecapsule_UpRightArrow_3kk8l",
        UpdateCapsule: "updatecapsule_UpdateCapsule_-Eouv",
        Date: "updatecapsule_Date_gvPzK",
        Title: "updatecapsule_Title_13NfC",
        Desc: "updatecapsule_Desc_2s0cU",
      };
    },
    728: (e) => {
      e.exports = {
        BetaCS2: "blogentrypage_BetaCS2_2b-2w",
        IntroSection: "blogentrypage_IntroSection_284fh",
        IntroDesc: "blogentrypage_IntroDesc_2YDD6",
        StandardButton: "blogentrypage_StandardButton_axn8m",
        ButtonText: "blogentrypage_ButtonText_2kUH4",
        SteamLogo: "blogentrypage_SteamLogo_-z4m9",
        MicroButton: "blogentrypage_MicroButton_1-_ho",
        RightArrow: "blogentrypage_RightArrow_3LHrd",
        UpRightArrow: "blogentrypage_UpRightArrow_3aHRr",
        BlogEntryPage: "blogentrypage_BlogEntryPage_3PVZq",
        CommunityLink: "blogentrypage_CommunityLink_-1Ftw",
        TitleContainer: "blogentrypage_TitleContainer_24V3X",
        TitleBackground: "blogentrypage_TitleBackground_2Jkng",
        TitleContainerInClient: "blogentrypage_TitleContainerInClient_37vS7",
        BackToOverview: "blogentrypage_BackToOverview_3yBA_",
        BackArrow: "blogentrypage_BackArrow_mC3pI",
        Title: "blogentrypage_Title_2HW6u",
        Date: "blogentrypage_Date_2JNhX",
        Body: "blogentrypage_Body_30GVv",
        LatestNews: "blogentrypage_LatestNews_2j9no",
        LatestNewsHeader: "blogentrypage_LatestNewsHeader_rLc6u",
        LatestNewsContainer: "blogentrypage_LatestNewsContainer_3_5ne",
        "loading-in": "blogentrypage_loading-in_14IUI",
      };
    },
    4198: (e) => {
      e.exports = {
        BetaCS2: "blogoverviewpage_BetaCS2_2Q9Pm",
        IntroSection: "blogoverviewpage_IntroSection_2rJ3q",
        IntroDesc: "blogoverviewpage_IntroDesc_2gfQg",
        StandardButton: "blogoverviewpage_StandardButton_3f666",
        ButtonText: "blogoverviewpage_ButtonText_3TMy_",
        SteamLogo: "blogoverviewpage_SteamLogo_XQMfV",
        MicroButton: "blogoverviewpage_MicroButton_2HpP4",
        RightArrow: "blogoverviewpage_RightArrow_2uZQ3",
        UpRightArrow: "blogoverviewpage_UpRightArrow_1lqYB",
        BlogOverviewPage: "blogoverviewpage_BlogOverviewPage_1mf6e",
        TitleContainer: "blogoverviewpage_TitleContainer_z6t_w",
        TitleBackground: "blogoverviewpage_TitleBackground_3i5CM",
        TitleContent: "blogoverviewpage_TitleContent_2hLgT",
        DotaNews: "blogoverviewpage_DotaNews_31mRF",
        Sub: "blogoverviewpage_Sub_1HiMU",
        NewsHeader: "blogoverviewpage_NewsHeader_3XEJX",
        S2Bumper: "blogoverviewpage_S2Bumper_30aSz",
        IntroContainer: "blogoverviewpage_IntroContainer_n7bC5",
        IntroText: "blogoverviewpage_IntroText_1LdBj",
        CS2Logo: "blogoverviewpage_CS2Logo_1zwoJ",
        LimitedTestContainer: "blogoverviewpage_LimitedTestContainer_3hv2l",
        LimitedTestBG: "blogoverviewpage_LimitedTestBG_15EEH",
        LimitedTestLabel: "blogoverviewpage_LimitedTestLabel_3OnL7",
        CS2Content: "blogoverviewpage_CS2Content_xCZkn",
        IntroLine: "blogoverviewpage_IntroLine_x74B9",
        Body: "blogoverviewpage_Body_fWoUo",
        Pending: "blogoverviewpage_Pending_2j_9N",
        Error: "blogoverviewpage_Error_whOyf",
        Heading: "blogoverviewpage_Heading_2uSU3",
        LargeEntry: "blogoverviewpage_LargeEntry_2E3rt",
        FeaturedContent: "blogoverviewpage_FeaturedContent_3x-xx",
        HeadingImage: "blogoverviewpage_HeadingImage_2e1Tr",
        FadeContainer: "blogoverviewpage_FadeContainer_3vuXp",
        BottomFade: "blogoverviewpage_BottomFade_2AvsW",
        Date: "blogoverviewpage_Date_37cbM",
        Tag: "blogoverviewpage_Tag_1JseK",
        Title: "blogoverviewpage_Title_3QQKY",
        FeaturedLink: "blogoverviewpage_FeaturedLink_SffNe",
        ForwardArrow: "blogoverviewpage_ForwardArrow_343-b",
        TabContainer: "blogoverviewpage_TabContainer_3Abu7",
        TabsLeft: "blogoverviewpage_TabsLeft_2hM8T",
        Tab: "blogoverviewpage_Tab_1ZGUM",
        Active: "blogoverviewpage_Active_2QA0p",
        BottomSection: "blogoverviewpage_BottomSection_1rCwx",
        SubEntries: "blogoverviewpage_SubEntries_3hyKA",
        SubUpdates: "blogoverviewpage_SubUpdates_31uv5",
        Pages: "blogoverviewpage_Pages_BieN0",
        PageNumber: "blogoverviewpage_PageNumber_FafYQ",
        Hidden: "blogoverviewpage_Hidden_106H5",
        SelectedPage: "blogoverviewpage_SelectedPage_16vx6",
        ArchiveLink: "blogoverviewpage_ArchiveLink_1eDOm",
      };
    },
    6491: (e) => {
      e.exports = {
        BetaCS2: "homepage_BetaCS2_3q_gd",
        IntroSection: "homepage_IntroSection_2r-EV",
        IntroDesc: "homepage_IntroDesc_1jklq",
        StandardButton: "homepage_StandardButton_1W4Sc",
        ButtonText: "homepage_ButtonText_1YB3f",
        SteamLogo: "homepage_SteamLogo_2OrkR",
        MicroButton: "homepage_MicroButton_1piDD",
        RightArrow: "homepage_RightArrow_3Uluv",
        UpRightArrow: "homepage_UpRightArrow_3UUxW",
        QuoteText: "homepage_QuoteText_19K41",
        HeaderText: "homepage_HeaderText_37wqy",
        VideoHeaderText: "homepage_VideoHeaderText_3LOie",
        TrailerOverlay: "homepage_TrailerOverlay_16TGj",
        BodyText: "homepage_BodyText_3Wyl0",
        LabelText: "homepage_LabelText_3FOc7",
        Permission: "homepage_Permission_2Zq-U",
        Latest: "homepage_Latest_1w0mx",
        ViewAll: "homepage_ViewAll_1gww9",
        IntroText: "homepage_IntroText_3FK5t",
        TopFade: "homepage_TopFade_10Pr8",
        BottomFade: "homepage_BottomFade_1yhhn",
        HorizBar: "homepage_HorizBar_2RJH7",
        PlayButton: "homepage_PlayButton_2yA33",
        RightSide: "homepage_RightSide_1oC4f",
        PlayForFree: "homepage_PlayForFree_QtAu0",
        Download: "homepage_Download_T3dgN",
        HomePage: "homepage_HomePage_owcSF",
        HeaderSection: "homepage_HeaderSection_156Aj",
        BackgroundVideoContainer: "homepage_BackgroundVideoContainer_33v9_",
        LogoContainer: "homepage_LogoContainer_3CG18",
        CSLogo: "homepage_CSLogo_12ejT",
        QuoteCredit: "homepage_QuoteCredit_gcx17",
        PlayButtonPositioner: "homepage_PlayButtonPositioner_19TjK",
        S2Bumper: "homepage_S2Bumper_2oYTT",
        IntroContainer: "homepage_IntroContainer_1jY7G",
        CS2Logo: "homepage_CS2Logo_1FJUu",
        LimitedTestContainer: "homepage_LimitedTestContainer_1M1WA",
        LimitedTestBG: "homepage_LimitedTestBG_qKOsD",
        LimitedTestLabel: "homepage_LimitedTestLabel_jkSny",
        HypeContainer: "homepage_HypeContainer_T87wP",
        ContentSection: "homepage_ContentSection_2AEIV",
        SubHeaderText: "homepage_SubHeaderText_6hT7Z",
        InlineVideoContainer: "homepage_InlineVideoContainer_2TENn",
        YoutubePlayer: "homepage_YoutubePlayer_2essz",
        VideoTitleContainer: "homepage_VideoTitleContainer_3UCm4",
        VideoSubHeaderText: "homepage_VideoSubHeaderText_1_7u9",
        NewsSection: "homepage_NewsSection_2qquN",
        NewsTop: "homepage_NewsTop_2Lzj9",
        NewsCapsules: "homepage_NewsCapsules_9yLqT",
        CapsulePladeholder: "homepage_CapsulePladeholder_livMY",
        Divider: "homepage_Divider_2WPoh",
        BattleSection: "homepage_BattleSection_1qlKD",
        CSGOWorkshopImages: "homepage_CSGOWorkshopImages_1Bt0M",
        BattleBG: "homepage_BattleBG_2_sRL",
        BattleImg: "homepage_BattleImg_3cY9y",
        BattleImgMobile: "homepage_BattleImgMobile_2uq_D",
        LeftHalf: "homepage_LeftHalf_3Rqq1",
        EsportsSection: "homepage_EsportsSection_1ih6H",
        CSGOCompetitiveLogo: "homepage_CSGOCompetitiveLogo_3dxWu",
        CompetitiveContainer: "homepage_CompetitiveContainer_20eX1",
        CompetitiveContent: "homepage_CompetitiveContent_1b_t4",
        CompetitiveLinks: "homepage_CompetitiveLinks_3jUt7",
        PrimaryLink: "homepage_PrimaryLink_SZnjf",
        MapsSection: "homepage_MapsSection_2SzHf",
        TextArea: "homepage_TextArea_QEUX5",
        SectionIntro: "homepage_SectionIntro_2WQjj",
        SlideContainer: "homepage_SlideContainer_8wT2K",
        NextBack: "homepage_NextBack_jbNbN",
        BackButton: "homepage_BackButton_2lT6v",
        NextButton: "homepage_NextButton_TFpem",
        CarouselDots: "homepage_CarouselDots_2frc7",
        MapSelector: "homepage_MapSelector_38QJ7",
        JoinBattleSection: "homepage_JoinBattleSection_Ifm8h",
        SystemReqs: "homepage_SystemReqs_2aMXE",
        WindowsAppleLogos: "homepage_WindowsAppleLogos_1RC1Y",
        GreenButton: "homepage_GreenButton_3PIyH",
        Text: "homepage_Text_3H7S2",
        rotate: "homepage_rotate_TjbdB",
        MinorTextIn: "homepage_MinorTextIn_2S9Lk",
        AnimateLeft: "homepage_AnimateLeft_9JWE5",
      };
    },
    5205: (e) => {
      e.exports = {
        BetaCS2: "beta_source2_BetaCS2_3plBW",
        IntroSection: "beta_source2_IntroSection_1HJse",
        IntroDesc: "beta_source2_IntroDesc_1zr3p",
        StandardButton: "beta_source2_StandardButton_1S7TH",
        ButtonText: "beta_source2_ButtonText_3tayH",
        SteamLogo: "beta_source2_SteamLogo_1ELLo",
        MicroButton: "beta_source2_MicroButton_1EbT7",
        RightArrow: "beta_source2_RightArrow_XZhon",
        UpRightArrow: "beta_source2_UpRightArrow_2xvPa",
        LabelText: "beta_source2_LabelText_2IVTs",
        HeaderText: "beta_source2_HeaderText_3LQgz",
        SubHeaderText: "beta_source2_SubHeaderText_33eDu",
        SubSectionText: "beta_source2_SubSectionText_1UHKX",
        BodyText: "beta_source2_BodyText_11Nzn",
        SectionDivider: "beta_source2_SectionDivider_q2wkl",
        MapIntro: "beta_source2_MapIntro_2QTMo",
        SmokesSubIntro: "beta_source2_SmokesSubIntro_erW-O",
        InlineVideoRow: "beta_source2_InlineVideoRow_3xlV-",
        InlineVideo: "beta_source2_InlineVideo_1lDQo",
        InlineHeaderText: "beta_source2_InlineHeaderText_3rjL7",
        InlineBodyText: "beta_source2_InlineBodyText_3K4Mk",
        InlineBodyExample: "beta_source2_InlineBodyExample_3fytQ",
        VideoPlaceholder: "beta_source2_VideoPlaceholder_VPbOb",
        AudioImage: "beta_source2_AudioImage_1OZTg",
        FullwidthVideo: "beta_source2_FullwidthVideo_1Xr4i",
        VideoTitleContainer: "beta_source2_VideoTitleContainer_2UcaN",
        VideoSubHeaderText: "beta_source2_VideoSubHeaderText_2cSGX",
        VideoHeaderText: "beta_source2_VideoHeaderText_2iOM-",
        PlayContainer: "beta_source2_PlayContainer_ubQFq",
        PlayBtn: "beta_source2_PlayBtn__0RsB",
        HeaderSection: "beta_source2_HeaderSection_1C-QD",
        HeaderBG: "beta_source2_HeaderBG_1u8z4",
        CS2Art: "beta_source2_CS2Art_1yn5a",
        ArtFront: "beta_source2_ArtFront_1wrzj",
        PlayButtonPositioner: "beta_source2_PlayButtonPositioner_ZZKmS",
        IntroContainer: "beta_source2_IntroContainer_N-MX8",
        IntroText: "beta_source2_IntroText_lq4fd",
        CS2Logo: "beta_source2_CS2Logo_2XIXk",
        LimitedTestContainer: "beta_source2_LimitedTestContainer_AD3Ja",
        LimitedTestBG: "beta_source2_LimitedTestBG_3CK1T",
        LimitedTestLabel: "beta_source2_LimitedTestLabel_2t8WL",
        IntroBox: "beta_source2_IntroBox_38JsH",
        CSLogo: "beta_source2_CSLogo_3JJPN",
        MainContent: "beta_source2_MainContent_1Plbi",
        InlineVideoContainer: "beta_source2_InlineVideoContainer_3ozor",
        YoutubePlayer: "beta_source2_YoutubePlayer_2c3Qu",
        ListContainer: "beta_source2_ListContainer_1b9pE",
        ListRow: "beta_source2_ListRow_2rKtA",
        Icon: "beta_source2_Icon_3WVPe",
        ListTitle: "beta_source2_ListTitle_2yX_l",
        ListBody: "beta_source2_ListBody_3YBBg",
        ContentSection: "beta_source2_ContentSection_1zKcw",
        TicksContainer: "beta_source2_TicksContainer_3i5dw",
        MMContainer: "beta_source2_MMContainer_gX9kQ",
        MapsContainer: "beta_source2_MapsContainer_3S5FI",
        SmokesContainer: "beta_source2_SmokesContainer_vJUjW",
        VFXContainer: "beta_source2_VFXContainer_32xoP",
        AudioContainer: "beta_source2_AudioContainer_3JzkM",
        InventoryContainer: "beta_source2_InventoryContainer_23VZc",
        ComingSoonContainer: "beta_source2_ComingSoonContainer_3O9to",
        AntiCheatContainer: "beta_source2_AntiCheatContainer_2EGsg",
        CompareSlider: "beta_source2_CompareSlider_zsMT_",
        ParticleGrid: "beta_source2_ParticleGrid_3oeRw",
        GridItem: "beta_source2_GridItem_28I8i",
        GridVideo: "beta_source2_GridVideo_1hDlQ",
        GridTitle: "beta_source2_GridTitle_2V0rb",
        MinorTextIn: "beta_source2_MinorTextIn_BFhZb",
        AnimateLeft: "beta_source2_AnimateLeft_2U71H",
      };
    },
    4915: (e) => {
      e.exports = {
        Bold: "bbcodes_Bold_YFA7u",
        Italic: "bbcodes_Italic_zA7ad",
        Paragraph: "bbcodes_Paragraph_2c6V3",
        Header1: "bbcodes_Header1_3nmkN",
        Header2: "bbcodes_Header2_2C1Hj",
        Header3: "bbcodes_Header3_2q6Vr",
        Header4: "bbcodes_Header4_1zThg",
        Header5: "bbcodes_Header5_3c6Cp",
        CenterSpan: "bbcodes_CenterSpan_33gKK",
        SmallText: "bbcodes_SmallText_38kjs",
        Underline: "bbcodes_Underline_2r-_U",
        Strike: "bbcodes_Strike_2Maum",
        Spoiler: "bbcodes_Spoiler_29sJ0",
        Revealed: "bbcodes_Revealed_1oNwd",
        SpoilerText: "bbcodes_SpoilerText_2at_a",
        DisabledMouseEvents: "bbcodes_DisabledMouseEvents_2AA99",
        BlockQuote: "bbcodes_BlockQuote_1O7-X",
        QuoteAuthor: "bbcodes_QuoteAuthor_2yKU0",
        PullQuote: "bbcodes_PullQuote_jjgQP",
        Code: "bbcodes_Code_3VS8-",
        CodeBlock: "bbcodes_CodeBlock_1p0Bk",
        List: "bbcodes_List_20uQh",
        OrderedList: "bbcodes_OrderedList_24Od_",
        ListItem: "bbcodes_ListItem_1BF9I",
        HR: "bbcodes_HR_25UY0",
        Table: "bbcodes_Table_30RMh",
        NoBorder: "bbcodes_NoBorder_3hanR",
        TableRow: "bbcodes_TableRow_pAlt4",
        TableData: "bbcodes_TableData_15DlH",
        TableHeader: "bbcodes_TableHeader_1np5h",
        EqualCells: "bbcodes_EqualCells_T0qIp",
        ExpandSectionBlock: "bbcodes_ExpandSectionBlock_1KRtd",
        ExpandSectionHeader: "bbcodes_ExpandSectionHeader_PlB0t",
        EmbedArrow: "bbcodes_EmbedArrow_3FT4d",
        ExpandSectionBody: "bbcodes_ExpandSectionBody_RpylK",
        ExpandSection_WithTitle: "bbcodes_ExpandSection_WithTitle_1FbuV",
        LinkButton: "bbcodes_LinkButton_14_Fn",
        Image: "bbcodes_Image_8rxY3",
      };
    },
    4735: (e) => {
      e.exports = {
        FocusRingRoot: "focusring_FocusRingRoot_2BQL2",
        FocusRing: "focusring_FocusRing_3ARGF",
        flash: "focusring_flash_3YJwx",
        growOutline: "focusring_growOutline_3xRIc",
        fadeOutline: "focusring_fadeOutline_2CNye",
        blinker: "focusring_blinker_y4OFc",
        DebugFocusRing: "focusring_DebugFocusRing_1HN59",
        FocusRingOnHiddenItem: "focusring_FocusRingOnHiddenItem_qFZkI",
      };
    },
    8373: (e) => {
      e.exports = {
        ScrollPanel: "scrollpanel_ScrollPanel_3ozfo",
        ScrollY: "scrollpanel_ScrollY_3MFgE",
        ScrollX: "scrollpanel_ScrollX_m0VVu",
        ScrollBoth: "scrollpanel_ScrollBoth_Ffrn-",
      };
    },
    8639: (e) => {
      e.exports = {
        Login: "newlogindialog_Login_1sORI",
        SideBySide: "newlogindialog_SideBySide_2b0ik",
        QRSection: "newlogindialog_QRSection_3yeMc",
        MessagingContainer: "newlogindialog_MessagingContainer_1Ss-O",
        MessagingTag: "newlogindialog_MessagingTag_YCGcS",
        MessagingSubtitleCtn: "newlogindialog_MessagingSubtitleCtn_21Q4o",
        MessagingIcon: "newlogindialog_MessagingIcon_3Pfxq",
        MessagingSubtitle: "newlogindialog_MessagingSubtitle_36kpt",
        MessagingButton: "newlogindialog_MessagingButton_eCMTs",
        MessagingLink: "newlogindialog_MessagingLink_ZepVY",
        ScanQRButton: "newlogindialog_ScanQRButton_tv94H",
        QRIcon: "newlogindialog_QRIcon_1txy1",
        QRCodeContainer: "newlogindialog_QRCodeContainer_18JxK",
        QR: "newlogindialog_QR_1hjk3",
        QRHideLink: "newlogindialog_QRHideLink_3tLnZ",
        HideButton: "newlogindialog_HideButton_2ugOM",
        UseMobileAppForQR: "newlogindialog_UseMobileAppForQR_3s39E",
        InClient: "newlogindialog_InClient_2_z8K",
        TextField: "newlogindialog_TextField_2x9JJ",
        TextInput: "newlogindialog_TextInput_oMxPn",
        Danger: "newlogindialog_Danger_kQ8P-",
        LoginForm: "newlogindialog_LoginForm_2NlBq",
        FieldLabel: "newlogindialog_FieldLabel_3eBHQ",
        Highlight: "newlogindialog_Highlight_1upnT",
        CheckboxField: "newlogindialog_CheckboxField_1KTan",
        CheckboxFieldLabel: "newlogindialog_CheckboxFieldLabel_20rH_",
        Checkbox: "newlogindialog_Checkbox_2Tm6x",
        Check: "newlogindialog_Check_35gTE",
        RefreshButtonContainer: "newlogindialog_RefreshButtonContainer_3MI38",
        SignInButtonContainer: "newlogindialog_SignInButtonContainer_QYZ5y",
        RefreshQuitButton: "newlogindialog_RefreshQuitButton_2jfZg",
        OfferOfflineButton: "newlogindialog_OfferOfflineButton_1l7am",
        TryAgainButton: "newlogindialog_TryAgainButton_3SalL",
        SubmitButton: "newlogindialog_SubmitButton_1fgOu",
        Loading: "newlogindialog_Loading_1yva_",
        LoadingContainer: "newlogindialog_LoadingContainer_2eVxY",
        Text: "newlogindialog_Text_3EW_V",
        Center: "newlogindialog_Center_331uf",
        TextLink: "newlogindialog_TextLink_fbsam",
        FormError: "newlogindialog_FormError_973JC",
        TextAlignCenter: "newlogindialog_TextAlignCenter_3-LlZ",
        FlexCol: "newlogindialog_FlexCol_2KGiK",
        AlignItemsCenter: "newlogindialog_AlignItemsCenter_3CERI",
        JustifyContentCenter: "newlogindialog_JustifyContentCenter_1RROk",
        ProtectingAccount: "newlogindialog_ProtectingAccount_1eawW",
        Label: "newlogindialog_Label_2TD8Z",
        AccountName: "newlogindialog_AccountName_wtvh_",
        Description: "newlogindialog_Description_3NQDK",
        ConfirmationContainer: "newlogindialog_ConfirmationContainer_19SiV",
        AwaitingMobileConfText: "newlogindialog_AwaitingMobileConfText_2uk5-",
        ConfirmationEntryContainer:
          "newlogindialog_ConfirmationEntryContainer_2YAUJ",
        AwaitingMobileConfIcon: "newlogindialog_AwaitingMobileConfIcon_2-LaW",
        AwaitingEmailConfIcon: "newlogindialog_AwaitingEmailConfIcon_25Iz9",
        LinkContainer: "newlogindialog_LinkContainer_3r7XV",
        EnterCodeInsteadLink: "newlogindialog_EnterCodeInsteadLink_3DTj1",
        EnterBackupCodeContainer:
          "newlogindialog_EnterBackupCodeContainer_2CFo9",
        EnterCodeFromMobileContainer:
          "newlogindialog_EnterCodeFromMobileContainer_2hXVu",
        EnterCodeFromEmailContainer:
          "newlogindialog_EnterCodeFromEmailContainer_1_U2w",
        EnterCodeFromMobile: "newlogindialog_EnterCodeFromMobile_mrtUl",
        EnterCodeFromEmail: "newlogindialog_EnterCodeFromEmail_1O8C_",
        EnterCodeEmailAddress: "newlogindialog_EnterCodeEmailAddress_3BXYi",
        CodeInputFieldContainer: "newlogindialog_CodeInputFieldContainer_EWSKn",
        CodeInputField: "newlogindialog_CodeInputField_38t2w",
        SegmentContainer: "newlogindialog_SegmentContainer_1BdzN",
        Segment: "newlogindialog_Segment_1vawt",
        RefreshTitle: "newlogindialog_RefreshTitle_wQfk_",
        RefreshReason: "newlogindialog_RefreshReason_3jOfK",
        InsecureComputer: "newlogindialog_InsecureComputer_F_qh_",
        StandardLayout: "newlogindialog_StandardLayout_23HHn",
        PrimaryHeader: "newlogindialog_PrimaryHeader_3Ze3S",
        FormContainer: "newlogindialog_FormContainer_2kJQe",
        Embedded: "newlogindialog_Embedded_uif43",
        Compact: "newlogindialog_Compact_3tWBu",
        HeaderLogo: "newlogindialog_HeaderLogo_2Xzuj",
        LogoContainer: "newlogindialog_LogoContainer_Rp7yO",
        BackArrowContainer: "newlogindialog_BackArrowContainer_12dr2",
        BackArrow: "newlogindialog_BackArrow_3--em",
        EmbeddedRoot: "newlogindialog_EmbeddedRoot_EKQN-",
        RefreshReasonContainer: "newlogindialog_RefreshReasonContainer_HaHpW",
        Universe: "newlogindialog_Universe_u4K7l",
        EmbeddedRootFooter: "newlogindialog_EmbeddedRootFooter_1t0uA",
        AccountCreation: "newlogindialog_AccountCreation_18joL",
        AccountCreationPrompt: "newlogindialog_AccountCreationPrompt_1TgPu",
        FailureTitle: "newlogindialog_FailureTitle_1eeXc",
        FailureDescription: "newlogindialog_FailureDescription_9bAS3",
        FailureButtons: "newlogindialog_FailureButtons_710iC",
        OfferOffline: "newlogindialog_OfferOffline_3n4pJ",
        LoadingSpinner: "newlogindialog_LoadingSpinner_3w3PN",
        LoadAmin: "newlogindialog_LoadAmin_23jnf",
        Small: "newlogindialog_Small_15BDe",
        Medium: "newlogindialog_Medium_cxDNR",
        Large: "newlogindialog_Large_3lG0O",
        MutedErrorReference: "newlogindialog_MutedErrorReference_2vwQi",
        WaitingForTokenContainer:
          "newlogindialog_WaitingForTokenContainer_5AnG1",
        Client: "newlogindialog_Client_1xvNu",
      };
    },
    2498: (e) => {
      e.exports = {
        LoginQR: "qrlogin_LoginQR_2HBjO",
        NonPublic: "qrlogin_NonPublic_3fvLA",
        QRLoginDeck: "qrlogin_QRLoginDeck_AZCmv",
        Blur: "qrlogin_Blur_1Ga3O",
        Overlay: "qrlogin_Overlay_5iKPL",
        Box: "qrlogin_Box_2hPoE",
        Column: "qrlogin_Column_20qFy",
        Loading: "qrlogin_Loading_3tuBr",
        LoadAmin: "qrlogin_LoadAmin_1uDnS",
        Small: "qrlogin_Small_31SoY",
        Medium: "qrlogin_Medium_2X0CE",
        Large: "qrlogin_Large_2HI3C",
      };
    },
    6194: (e) => {
      e.exports = {
        HoverPosition: "hoverposition_HoverPosition_1tQrX",
        Ready: "hoverposition_Ready_12dDx",
        NoSpace: "hoverposition_NoSpace_2RE0x",
        EnablePointerEvents: "hoverposition_EnablePointerEvents_346UO",
        HoverAboveModal: "hoverposition_HoverAboveModal_2znvo",
        HoverPositionOuter: "hoverposition_HoverPositionOuter_3EjMl",
      };
    },
    2174: (e) => {
      e.exports = {
        DynamicLinkBox: "youtubeembed_DynamicLinkBox_1QopE",
        DynamicLink_Preview: "youtubeembed_DynamicLink_Preview_3-eez",
        DynamicLink_Author: "youtubeembed_DynamicLink_Author_30kmA",
        DynamicLink_Description: "youtubeembed_DynamicLink_Description_3sqJF",
        DynamicLink_Content: "youtubeembed_DynamicLink_Content_iGJXx",
        DynamicLink_Name: "youtubeembed_DynamicLink_Name_2-qnu",
        DynamicLink_YoutubeViews: "youtubeembed_DynamicLink_YoutubeViews_3ALy1",
        Dynamiclink_Content: "youtubeembed_Dynamiclink_Content_1OZDu",
        DynamicLink_URL: "youtubeembed_DynamicLink_URL_Zo5Wg",
        DynamicLink_AuthorName: "youtubeembed_DynamicLink_AuthorName_WkET8",
        DynamicLink_Date: "youtubeembed_DynamicLink_Date_3KWqB",
        PreviewYouTubeVideo: "youtubeembed_PreviewYouTubeVideo_3ebu4",
        sizeThumb: "youtubeembed_sizeThumb_gQnf7",
        sizeFull: "youtubeembed_sizeFull_WaUEM",
        floatLeft: "youtubeembed_floatLeft_HphUI",
        floatRight: "youtubeembed_floatRight_3NCOz",
      };
    },
    6832: (e) => {
      e.exports = {
        "duration-app-launch": "800ms",
        carouselNavButton: "carousel_carouselNavButton_2aDk-",
        left: "carousel_left_1UJsC",
        carouselBtnCtn: "carousel_carouselBtnCtn_2pHZR",
        right: "carousel_right_3c5Rn",
        carouselBody: "carousel_carouselBody_Ddtl_",
        sliderBody: "carousel_sliderBody_1pbmb",
        slideTrayCustomize: "carousel_slideTrayCustomize_1nAWw",
        breadcrumbContainer: "carousel_breadcrumbContainer_7T5ex",
        pipList: "carousel_pipList_ySooA",
        pipScrollerContainer: "carousel_pipScrollerContainer_lZK0K",
        pipScrollButton: "carousel_pipScrollButton_1CBMC",
        scrollNavDiv: "carousel_scrollNavDiv_1u09A",
        scrollNavButton: "carousel_scrollNavButton_20w4K",
        pipScroller: "carousel_pipScroller_1-1oD",
        scrollBackground: "carousel_scrollBackground_1XZth",
        scrollForeground: "carousel_scrollForeground_30Mw0",
        pipContainer: "carousel_pipContainer_2-04r",
        pip: "carousel_pip_Y10KP",
        pipNumber: "carousel_pipNumber_270FF",
        innerSlide: "carousel_innerSlide_2pX3m",
        DisableSliderMotion: "carousel_DisableSliderMotion_1eXFC",
      };
    },
    5372: (e) => {
      e.exports = {
        "duration-app-launch": "800ms",
        ContextMenuMouseOverlay: "contextmenu_ContextMenuMouseOverlay_3EgM8",
        ContextMenuFocusContainer:
          "contextmenu_ContextMenuFocusContainer_2QK-x",
        contextMenu: "contextmenu_contextMenu_4fpUg",
        ContextMenuPopup: "contextmenu_ContextMenuPopup_152-v",
        contextMenuContents: "contextmenu_contextMenuContents_3te6b",
        contextMenuItem: "contextmenu_contextMenuItem_3hJA5",
        active: "contextmenu_active_1NWFM",
        MenuSectionHeader: "contextmenu_MenuSectionHeader_2b55g",
        ContextMenuSeparator: "contextmenu_ContextMenuSeparator_LXVyl",
        NoSeparation: "contextmenu_NoSeparation_2ct40",
        UpperCase: "contextmenu_UpperCase_3aR4r",
        SubMenu: "contextmenu_SubMenu_2o_UY",
        Label: "contextmenu_Label_KM3XP",
        Arrow: "contextmenu_Arrow_2hT07",
        IconContainer: "contextmenu_IconContainer_2LpD6",
        ContextMenuHRSeparator: "contextmenu_ContextMenuHRSeparator_11giZ",
        ForceDesktop: "contextmenu_ForceDesktop_1w_41",
        PopoutSubMenu: "contextmenu_PopoutSubMenu_3TVcU",
        PopoutSubMenuItems: "contextmenu_PopoutSubMenuItems_2Et1H",
      };
    },
    333: (e) => {
      e.exports = {
        DialogDropDownMenu_Item: "dropdown_DialogDropDownMenu_Item_3HD54",
        DialogDropDownMenu: "dropdown_DialogDropDownMenu_27Awt",
      };
    },
    3554: (e) => {
      e.exports = {
        DropDownLabelContainer: "dropdownlabel_DropDownLabelContainer_WGRg7",
        DropDownLabelIconContainer:
          "dropdownlabel_DropDownLabelIconContainer_2dv-t",
        DropDownLabelTextColumn: "dropdownlabel_DropDownLabelTextColumn_scqOy",
        DropDownLabelTitle: "dropdownlabel_DropDownLabelTitle_HieKH",
        DropDownLabelUpperDescription:
          "dropdownlabel_DropDownLabelUpperDescription_1eudT",
        DropDownLabelDescription:
          "dropdownlabel_DropDownLabelDescription_whGzP",
      };
    },
    6254: (e) => {
      e.exports = {
        "duration-app-launch": "800ms",
        GamepadDialogContent: "gamepaddialog_GamepadDialogContent_Gn6rC",
        GamepadDialogContent_InnerWidth:
          "gamepaddialog_GamepadDialogContent_InnerWidth_2XvVd",
        Field: "gamepaddialog_Field_BBGW4",
        Button: "gamepaddialog_Button_32WBl",
        NoMinWidth: "gamepaddialog_NoMinWidth_1Gs-J",
        ActiveAndUnfocused: "gamepaddialog_ActiveAndUnfocused_vSuyp",
        StandaloneFieldSeparator:
          "gamepaddialog_StandaloneFieldSeparator_cuCR0",
        StandardPadding: "gamepaddialog_StandardPadding_1274I",
        CompactPadding: "gamepaddialog_CompactPadding_1QOVw",
        WithDescription: "gamepaddialog_WithDescription_3IwtA",
        WithBottomSeparatorStandard:
          "gamepaddialog_WithBottomSeparatorStandard_7Y04w",
        WithBottomSeparatorThick:
          "gamepaddialog_WithBottomSeparatorThick_3B93D",
        HighlightOnFocus: "gamepaddialog_HighlightOnFocus_vOOfL",
        Clickable: "gamepaddialog_Clickable_2fjtl",
        Disabled: "gamepaddialog_Disabled_kT2gh",
        WithBottomSeparator: "gamepaddialog_WithBottomSeparator_1K_Du",
        "ItemFocusAnim-darkerGrey":
          "gamepaddialog_ItemFocusAnim-darkerGrey_1SQEV",
        "ItemFocusAnim-darkGrey": "gamepaddialog_ItemFocusAnim-darkGrey_3liXd",
        FieldChildrenWithIcon: "gamepaddialog_FieldChildrenWithIcon_2c6Fz",
        FieldChildrenInner: "gamepaddialog_FieldChildrenInner_zVc1G",
        FieldClickTarget: "gamepaddialog_FieldClickTarget_3HsGH",
        FieldIcon: "gamepaddialog_FieldIcon_3Eezw",
        Front: "gamepaddialog_Front_MM_wV",
        BeforeChildren: "gamepaddialog_BeforeChildren_q6Mn2",
        FieldLabelRow: "gamepaddialog_FieldLabelRow_1aLsN",
        VerticalAlignCenter: "gamepaddialog_VerticalAlignCenter_2XWce",
        InlineWrapShiftsChildrenBelow:
          "gamepaddialog_InlineWrapShiftsChildrenBelow_3bpNt",
        ExtraPaddingOnChildrenBelow:
          "gamepaddialog_ExtraPaddingOnChildrenBelow_3jQEm",
        ChildrenWidthFixed: "gamepaddialog_ChildrenWidthFixed_27hhE",
        ChildrenWidthGrow: "gamepaddialog_ChildrenWidthGrow_2ulAJ",
        WithFirstRow: "gamepaddialog_WithFirstRow_m6tAB",
        WithChildrenBelow: "gamepaddialog_WithChildrenBelow_3swGA",
        FieldLabel: "gamepaddialog_FieldLabel_s3mAa",
        FieldLabelValue: "gamepaddialog_FieldLabelValue_2L-70",
        FieldDescription: "gamepaddialog_FieldDescription_kxDRY",
        ModalPosition: "gamepaddialog_ModalPosition_1A0Q4",
        VR: "gamepaddialog_VR_3_qSD",
        WithStandardPadding: "gamepaddialog_WithStandardPadding_3KUsh",
        NoHeaderPadding: "gamepaddialog_NoHeaderPadding_HEGHg",
        ModalClickToDismiss: "gamepaddialog_ModalClickToDismiss_39ylk",
        slideInAnimation: "gamepaddialog_slideInAnimation_3qcui",
        BasicTextInput: "gamepaddialog_BasicTextInput_3jspG",
        Toggle: "gamepaddialog_Toggle_3JiNt",
        ToggleRail: "gamepaddialog_ToggleRail_2QwKd",
        On: "gamepaddialog_On_3cF-A",
        ToggleSwitch: "gamepaddialog_ToggleSwitch_3MvdQ",
        LabelFieldValue: "gamepaddialog_LabelFieldValue_1tI2h",
        DropDownControlButtonContents:
          "gamepaddialog_DropDownControlButtonContents_3Tc9l",
        Spacer: "gamepaddialog_Spacer_zXCsm",
        ControlsListOuterPanel: "gamepaddialog_ControlsListOuterPanel_YU3Po",
        StandardSpacing: "gamepaddialog_StandardSpacing_1lK_L",
        ExtraSpacing: "gamepaddialog_ExtraSpacing_1GNX9",
        ItemMaxSizeDesktop: "gamepaddialog_ItemMaxSizeDesktop_2q0HX",
        AlignRight: "gamepaddialog_AlignRight_8c09x",
        AlignLeft: "gamepaddialog_AlignLeft_3nfmw",
        AlignCenter: "gamepaddialog_AlignCenter_2KB4B",
        FullWidth: "gamepaddialog_FullWidth_2tn54",
        ControlsListChild: "gamepaddialog_ControlsListChild_3uFQq",
        "QuickAccess-Menu": "gamepaddialog_QuickAccess-Menu_1Nj5h",
        BottomButtons: "gamepaddialog_BottomButtons_2MJWF",
        BackgroundAnimation: "gamepaddialog_BackgroundAnimation_2D3fA",
        "ItemFocusAnim-darkerGrey-nocolor":
          "gamepaddialog_ItemFocusAnim-darkerGrey-nocolor_IT9mg",
        "ItemFocusAnim-grey": "gamepaddialog_ItemFocusAnim-grey_2zufd",
        "ItemFocusAnim-translucent-white-10":
          "gamepaddialog_ItemFocusAnim-translucent-white-10_2jODc",
        "ItemFocusAnim-translucent-white-20":
          "gamepaddialog_ItemFocusAnim-translucent-white-20_1LhhX",
        "ItemFocusAnimBorder-darkGrey":
          "gamepaddialog_ItemFocusAnimBorder-darkGrey_3arwo",
        "ItemFocusAnim-green": "gamepaddialog_ItemFocusAnim-green_3e65F",
        focusAnimation: "gamepaddialog_focusAnimation_3ZUTX",
        hoverAnimation: "gamepaddialog_hoverAnimation_1DVq-",
      };
    },
    9895: (e) => {
      e.exports = {
        "duration-app-launch": "800ms",
        DropDownControlButton: "gamepaddropdown_DropDownControlButton_2Mewn",
      };
    },
    4788: (e) => {
      e.exports = {
        TogglePasswordVisibilityBtn:
          "gamepadinput_TogglePasswordVisibilityBtn_1Ozw-",
        Digits: "gamepadinput_Digits_KKca5",
        PinDigit: "gamepadinput_PinDigit_1OYU3",
      };
    },
    6047: (e) => {
      e.exports = {
        "duration-app-launch": "800ms",
        PagedSettingsDialog: "gamepadpagedsettings_PagedSettingsDialog_1T6t4",
        PagedSettingsDialog_PageContent:
          "gamepadpagedsettings_PagedSettingsDialog_PageContent_2Jsay",
        NoPadding: "gamepadpagedsettings_NoPadding_13dbi",
        PagedSettingsDialog_PageListColumn:
          "gamepadpagedsettings_PagedSettingsDialog_PageListColumn_3Xe9v",
        PagedSettingsDialog_Title:
          "gamepadpagedsettings_PagedSettingsDialog_Title_1wHaQ",
        PagedSettingsDialog_PageList:
          "gamepadpagedsettings_PagedSettingsDialog_PageList_1zky_",
        PagedSettingsDialog_PageList_DisableScrolling:
          "gamepadpagedsettings_PagedSettingsDialog_PageList_DisableScrolling_1BVcL",
        PagedSettingsDialog_PageList_ShowTitle:
          "gamepadpagedsettings_PagedSettingsDialog_PageList_ShowTitle_3fmuC",
        PageSettingsDialog_PageList_NoHeaderPadding:
          "gamepadpagedsettings_PageSettingsDialog_PageList_NoHeaderPadding_3UW1l",
        PagedSettingsDialog_PageListItem:
          "gamepadpagedsettings_PagedSettingsDialog_PageListItem_2syih",
        DisabledItem: "gamepadpagedsettings_DisabledItem_1DIL_",
        Active: "gamepadpagedsettings_Active_3Qg3h",
        "ItemFocusAnim-darkerGrey":
          "gamepadpagedsettings_ItemFocusAnim-darkerGrey_GpvlZ",
        "ItemFocusAnim-darkGrey":
          "gamepadpagedsettings_ItemFocusAnim-darkGrey_2bogt",
        PageListItem_Icon: "gamepadpagedsettings_PageListItem_Icon_1d7b6",
        PageListItem_Title: "gamepadpagedsettings_PageListItem_Title_IT_TZ",
        Separator: "gamepadpagedsettings_Separator_1JhNo",
        PagedSettingDialog_ContentColumn:
          "gamepadpagedsettings_PagedSettingDialog_ContentColumn_3nGJH",
        Up: "gamepadpagedsettings_Up_2QzBg",
        ContentTransition: "gamepadpagedsettings_ContentTransition_6AYoY",
        Enter: "gamepadpagedsettings_Enter_2jEMo",
        EnterActive: "gamepadpagedsettings_EnterActive_GwNxQ",
        Exit: "gamepadpagedsettings_Exit_25tBd",
        ExitActive: "gamepadpagedsettings_ExitActive_tZVuk",
        Down: "gamepadpagedsettings_Down_3gXsY",
        BackgroundAnimation: "gamepadpagedsettings_BackgroundAnimation_3L7b9",
        "ItemFocusAnim-darkerGrey-nocolor":
          "gamepadpagedsettings_ItemFocusAnim-darkerGrey-nocolor_2fKE6",
        "ItemFocusAnim-grey": "gamepadpagedsettings_ItemFocusAnim-grey_2FB9p",
        "ItemFocusAnim-translucent-white-10":
          "gamepadpagedsettings_ItemFocusAnim-translucent-white-10_23vdh",
        "ItemFocusAnim-translucent-white-20":
          "gamepadpagedsettings_ItemFocusAnim-translucent-white-20_lhVxC",
        "ItemFocusAnimBorder-darkGrey":
          "gamepadpagedsettings_ItemFocusAnimBorder-darkGrey_2srJq",
        "ItemFocusAnim-green": "gamepadpagedsettings_ItemFocusAnim-green_2Jedu",
        focusAnimation: "gamepadpagedsettings_focusAnimation_2C5Uw",
        hoverAnimation: "gamepadpagedsettings_hoverAnimation_3sbAz",
      };
    },
    717: (e) => {
      e.exports = {
        "duration-app-launch": "800ms",
        "error-shake-duration": "500ms",
        SliderControlPanelGroup: "gamepadslider_SliderControlPanelGroup_2FiKP",
        SliderControlAndNotches: "gamepadslider_SliderControlAndNotches_tyDyU",
        WithDefaultValue: "gamepadslider_WithDefaultValue_3zNZ9",
        SliderControl: "gamepadslider_SliderControl_3RYrN",
        Disabled: "gamepadslider_Disabled_DE-u8",
        SliderTrack: "gamepadslider_SliderTrack_2htJF",
        SliderHasNotches: "gamepadslider_SliderHasNotches_1_uHC",
        SliderTrackDark: "gamepadslider_SliderTrackDark_1GcWd",
        SliderHandleContainer: "gamepadslider_SliderHandleContainer_2u5M0",
        VerticalLineSliderHandleContainer:
          "gamepadslider_VerticalLineSliderHandleContainer_3yrYJ",
        ParenSliderHandleContainer:
          "gamepadslider_ParenSliderHandleContainer_2HSG5",
        SliderHandle: "gamepadslider_SliderHandle_55Klw",
        SliderHandleFocusPop: "gamepadslider_SliderHandleFocusPop_u42Ju",
        VerticalLineSliderHandle:
          "gamepadslider_VerticalLineSliderHandle_102f1",
        ParenSliderHandle: "gamepadslider_ParenSliderHandle_3uwod",
        Left: "gamepadslider_Left_1gID_",
        Icon: "gamepadslider_Icon_1OZbC",
        SliderNotchContainer: "gamepadslider_SliderNotchContainer_1s6G7",
        SliderNotch: "gamepadslider_SliderNotch_3Lp8H",
        AlignToEnds: "gamepadslider_AlignToEnds_3lZ1i",
        SliderNotchLabel: "gamepadslider_SliderNotchLabel_1O0FK",
        AlignToLeft: "gamepadslider_AlignToLeft_nYcbu",
        AlignToRight: "gamepadslider_AlignToRight_1bxes",
        SliderNotchTick: "gamepadslider_SliderNotchTick_1j-G1",
        TickActive: "gamepadslider_TickActive_11vJ-",
        LabelText: "gamepadslider_LabelText_3E4NA",
        DescriptionValue: "gamepadslider_DescriptionValue_1Z1gH",
        EditableValue: "gamepadslider_EditableValue_1jD_v",
        FakeEditableValue: "gamepadslider_FakeEditableValue_ZQ0Hf",
        RedBorder: "gamepadslider_RedBorder_376Wv",
        ErrorShake: "gamepadslider_ErrorShake_2ve0H",
        "error-shake": "gamepadslider_error-shake_OOvXe",
        CompoundSlider: "gamepadslider_CompoundSlider_32YoA",
        CompoundSliderSubSlider: "gamepadslider_CompoundSliderSubSlider_2o_DG",
        Right: "gamepadslider_Right_1Btfw",
        CompoundSliderSubSliderLabelContainer:
          "gamepadslider_CompoundSliderSubSliderLabelContainer_bOIXu",
        CompoundSliderSubSliderLabelPositioner:
          "gamepadslider_CompoundSliderSubSliderLabelPositioner__FRNU",
        CompoundSliderSubSliderLabel:
          "gamepadslider_CompoundSliderSubSliderLabel_3MipV",
        CompoundSliderSubSliderLabelInternal:
          "gamepadslider_CompoundSliderSubSliderLabelInternal_375SK",
        DefaultValueTickContainer:
          "gamepadslider_DefaultValueTickContainer_2Brdj",
        DefaultValueTick: "gamepadslider_DefaultValueTick_2xwn6",
        BackgroundAnimation: "gamepadslider_BackgroundAnimation_3DiX_",
        "ItemFocusAnim-darkerGrey-nocolor":
          "gamepadslider_ItemFocusAnim-darkerGrey-nocolor_EAg0h",
        "ItemFocusAnim-darkerGrey":
          "gamepadslider_ItemFocusAnim-darkerGrey_em86h",
        "ItemFocusAnim-darkGrey": "gamepadslider_ItemFocusAnim-darkGrey_1FSOC",
        "ItemFocusAnim-grey": "gamepadslider_ItemFocusAnim-grey_3vRFe",
        "ItemFocusAnim-translucent-white-10":
          "gamepadslider_ItemFocusAnim-translucent-white-10_1F6jO",
        "ItemFocusAnim-translucent-white-20":
          "gamepadslider_ItemFocusAnim-translucent-white-20_-G6NU",
        "ItemFocusAnimBorder-darkGrey":
          "gamepadslider_ItemFocusAnimBorder-darkGrey_yEb0D",
        "ItemFocusAnim-green": "gamepadslider_ItemFocusAnim-green_2j5Q_",
      };
    },
    4730: (e) => {
      e.exports = {
        "duration-app-launch": "800ms",
        PagedSettingsDialog: "pagedsettings_PagedSettingsDialog_379hM",
        PagedSettingsDialog_PageContent:
          "pagedsettings_PagedSettingsDialog_PageContent_26LM5",
        NoPadding: "pagedsettings_NoPadding_3lgYN",
        PagedSettingsDialog_PageListColumn:
          "pagedsettings_PagedSettingsDialog_PageListColumn_2Cma8",
        Hidden: "pagedsettings_Hidden_1jiGk",
        NewNoteButton: "pagedsettings_NewNoteButton_1HPFk",
        PagedSettingsDialog_Title:
          "pagedsettings_PagedSettingsDialog_Title_3gBLR",
        PagedSettingsDialog_PageList:
          "pagedsettings_PagedSettingsDialog_PageList_2f7v2",
        PagedSettingsDialog_PageList_DisableScrolling:
          "pagedsettings_PagedSettingsDialog_PageList_DisableScrolling_e76ZQ",
        PagedSettingsDialog_PageListItem:
          "pagedsettings_PagedSettingsDialog_PageListItem_15qhi",
        PageListItem_Icon: "pagedsettings_PageListItem_Icon_2HTG8",
        PageListItem_Title: "pagedsettings_PageListItem_Title_10Odj",
        DisabledItem: "pagedsettings_DisabledItem_2CiVW",
        Active: "pagedsettings_Active_bTXaV",
        PageListSpacer: "pagedsettings_PageListSpacer_1uU8O",
        PageListSeparator: "pagedsettings_PageListSeparator_17Ug7",
        Transparent: "pagedsettings_Transparent_pR-Zm",
        HidePageListButton: "pagedsettings_HidePageListButton_xhtqn",
      };
    },
    1039: (e) => {
      e.exports = {
        Group: "radio_Group_1x1SX",
        Button: "radio_Button_YWN38",
        Active: "radio_Active_giqX0",
      };
    },
    6143: (e) => {
      e.exports = {
        Toggle: "toggle_Toggle_10LNB",
        Disabled: "toggle_Disabled_dVUuX",
        ToggleRail: "toggle_ToggleRail_3gngp",
        Highlight: "toggle_Highlight_1X2-V",
        On: "toggle_On_2ma00",
        Off: "toggle_Off_1sqAs",
        ToggleSwitch: "toggle_ToggleSwitch_1mv6S",
        ToggleRow: "toggle_ToggleRow_2IcZR",
        Label: "toggle_Label_1cff4",
      };
    },
    5495: (e) => {
      e.exports = {
        Header1: "eventbbcodeparser_Header1_2zuQq",
        Header2: "eventbbcodeparser_Header2_1XW7a",
        Header3: "eventbbcodeparser_Header3_2W0fw",
        Link: "eventbbcodeparser_Link_3NcRW",
        LinkHost: "eventbbcodeparser_LinkHost_2T5nC",
        LinkButton: "eventbbcodeparser_LinkButton_2l4XS",
        UnorderedList: "eventbbcodeparser_UnorderedList_2s0zA",
        OrderedList: "eventbbcodeparser_OrderedList_2tEkD",
        StoreWidget: "eventbbcodeparser_StoreWidget_2z0k4",
        MedalTVWidget: "eventbbcodeparser_MedalTVWidget_3pE8b",
        LoyaltyRewardCtn: "eventbbcodeparser_LoyaltyRewardCtn_1-myD",
        SaleSectionCtn: "eventbbcodeparser_SaleSectionCtn_3gzGa",
        SaleTextCtn: "eventbbcodeparser_SaleTextCtn_7qEEp",
        ReminderCtn: "eventbbcodeparser_ReminderCtn_1bSdg",
        BlockQuote: "eventbbcodeparser_BlockQuote_3EN2v",
        SocialLink: "eventbbcodeparser_SocialLink_2A_sW",
        SocialIcon: "eventbbcodeparser_SocialIcon_3zUWn",
        LocalizeBlock: "eventbbcodeparser_LocalizeBlock_1Bebk",
        CheckMark: "eventbbcodeparser_CheckMark_2XDu5",
        ScreenshotCarousel: "eventbbcodeparser_ScreenshotCarousel_vjafh",
      };
    },
    885: (e) => {
      e.exports = {
        FlexColumnContainer: "eventreminder_FlexColumnContainer_1y5Hb",
        FullStartTime: "eventreminder_FullStartTime_3NRHo",
        ReminderDialog: "eventreminder_ReminderDialog_1DoQh",
        ReminderOptions: "eventreminder_ReminderOptions_2yPmn",
        ReminderBackground: "eventreminder_ReminderBackground_2wcJ6",
        ReminderExpandsLeft: "eventreminder_ReminderExpandsLeft_1VfAs",
        ReminderOption: "eventreminder_ReminderOption_2RU5s",
        Unverified: "eventreminder_Unverified_2teRM",
        CheckboxWrapper: "eventreminder_CheckboxWrapper_kv-CG",
        ReminderCheckBox: "eventreminder_ReminderCheckBox_1CkWt",
        IconMode: "eventreminder_IconMode_28RJz",
        RemindBell: "eventreminder_RemindBell_zVT8n",
        RemindCheck: "eventreminder_RemindCheck_P-2Xu",
        ReminderDefault: "eventreminder_ReminderDefault_2V4hj",
        TextMode: "eventreminder_TextMode_tRnjq",
        ReminderCheck: "eventreminder_ReminderCheck_1WJ3v",
        ReminderOpennedOptions: "eventreminder_ReminderOpennedOptions_tbZ1S",
        ReminderOptionsHeader: "eventreminder_ReminderOptionsHeader_1irbS",
        ReminderCalendarOptions: "eventreminder_ReminderCalendarOptions_2MSZH",
        ReminderSettings: "eventreminder_ReminderSettings_3bSG8",
        ReminderNotes: "eventreminder_ReminderNotes_1N2eu",
        RpcThrobber: "eventreminder_RpcThrobber_2TbzG",
      };
    },
    7867: (e) => {
      e.exports = {
        "duration-app-launch": "800ms",
        PartnerEventFont: "partnereventshared_PartnerEventFont_jl62C",
        Clear: "partnereventshared_Clear_2wTCS",
        Divider: "partnereventshared_Divider_1YSSb",
        EventDefaultRowContainer:
          "partnereventshared_EventDefaultRowContainer_2PZFs",
        EventStartPublic: "partnereventshared_EventStartPublic_2Z9-l",
        EventOptions: "partnereventshared_EventOptions_lTs6D",
        FlexColumnContainer: "partnereventshared_FlexColumnContainer_1xuKN",
        FlexRowContainer: "partnereventshared_FlexRowContainer_ObERh",
        Centered: "partnereventshared_Centered_1ui9Q",
        FlexContainSpaceBetween:
          "partnereventshared_FlexContainSpaceBetween_2hZlk",
        FlexRowWrapSpaceBetweenContainer:
          "partnereventshared_FlexRowWrapSpaceBetweenContainer_1tkkJ",
        FlexRowWrapFlexStartContainer:
          "partnereventshared_FlexRowWrapFlexStartContainer_1j2ti",
        SaveBackground: "partnereventshared_SaveBackground_sD4zz",
        SupportedGroupLabel: "partnereventshared_SupportedGroupLabel_2ALDc",
        LanguageWithContent: "partnereventshared_LanguageWithContent_26qgE",
        LargeInput: "partnereventshared_LargeInput_1JVsm",
        InputBorder: "partnereventshared_InputBorder_3GXan",
        RadioOption: "partnereventshared_RadioOption_qDLh8",
        FlexGrow: "partnereventshared_FlexGrow_sP2Th",
        EventEditorTextTitleCtn:
          "partnereventshared_EventEditorTextTitleCtn_3Stjq",
        doclink: "partnereventshared_doclink_pv25B",
        EventEditorUnpaddedTextTitle:
          "partnereventshared_EventEditorUnpaddedTextTitle_3YEdx",
        EventEditorTextTitle: "partnereventshared_EventEditorTextTitle_KxUwI",
        EventEditorTextTitleLengthInfo:
          "partnereventshared_EventEditorTextTitleLengthInfo_RI6jm",
        CollapsableSectionTitle:
          "partnereventshared_CollapsableSectionTitle_3xn_L",
        SectionTitle: "partnereventshared_SectionTitle_375x6",
        EventSectionTitleCtn: "partnereventshared_EventSectionTitleCtn_Gh36G",
        EventSectionTitle: "partnereventshared_EventSectionTitle_ymEPg",
        EventSectionSpacer: "partnereventshared_EventSectionSpacer_3hmAE",
        EventSectionMoreBtn: "partnereventshared_EventSectionMoreBtn_2aMUA",
        EventEditorSpacerPadding:
          "partnereventshared_EventEditorSpacerPadding_3z_Go",
        EventEditorVisibilityCtn:
          "partnereventshared_EventEditorVisibilityCtn_2dXkh",
        EventEditorTextSubTitle:
          "partnereventshared_EventEditorTextSubTitle_1W9TB",
        FloatingTitle: "partnereventshared_FloatingTitle_YRPD0",
        EventEditorEventStatus:
          "partnereventshared_EventEditorEventStatus_3BjtK",
        EventHidden: "partnereventshared_EventHidden_2blH9",
        EventVisible: "partnereventshared_EventVisible_2pKDi",
        EventBarTitleCtn: "partnereventshared_EventBarTitleCtn_2xTVL",
        EventBarTitle: "partnereventshared_EventBarTitle_1GkOW",
        EventBarBack: "partnereventshared_EventBarBack_1geYX",
        EditPreviewButton: "partnereventshared_EditPreviewButton_1Hpie",
        Delete: "partnereventshared_Delete_2joF8",
        Disabled: "partnereventshared_Disabled_2cDVx",
        BrowseMoreButton: "partnereventshared_BrowseMoreButton_jJY9v",
        Button: "partnereventshared_Button_5getH",
        Icon: "partnereventshared_Icon_2uxNd",
        Primary: "partnereventshared_Primary_1sBXO",
        ClearThings: "partnereventshared_ClearThings_17W4T",
        OnIndicator: "partnereventshared_OnIndicator_mCly3",
        OffIndicator: "partnereventshared_OffIndicator_1fdn1",
        IconImage: "partnereventshared_IconImage_25pKO",
        RightColumnContainer: "partnereventshared_RightColumnContainer_3NXvh",
        EventPublishButton: "partnereventshared_EventPublishButton_1YB4W",
        FloatRight: "partnereventshared_FloatRight_2Jln2",
        TTip: "partnereventshared_TTip_1Yc3L",
        ValveSupportOnly: "partnereventshared_ValveSupportOnly_Jx5QV",
        ArtworkAgeNotAppropriate:
          "partnereventshared_ArtworkAgeNotAppropriate_2Iqn7",
        EventDashboardHeader: "partnereventshared_EventDashboardHeader_342N0",
        ContainerSpaceBetween: "partnereventshared_ContainerSpaceBetween_2oeIf",
        EventDashboardTitles: "partnereventshared_EventDashboardTitles_2ffzx",
        EventDashboardActions: "partnereventshared_EventDashboardActions_2abPG",
        EventDashboardStatsCtn:
          "partnereventshared_EventDashboardStatsCtn_RcSUI",
        EventDashboardAppCtn: "partnereventshared_EventDashboardAppCtn_6q0PO",
        maintitle: "partnereventshared_maintitle_1nB4S",
        AppTitle: "partnereventshared_AppTitle_2Yz8K",
        subtitle: "partnereventshared_subtitle_3wC5H",
        ValveOnlyBackground: "partnereventshared_ValveOnlyBackground_2-XEU",
        ValveOnlyAdminBackground:
          "partnereventshared_ValveOnlyAdminBackground_ylj53",
        Columns: "partnereventshared_Columns_1wbus",
        LeftCol: "partnereventshared_LeftCol_1nHBR",
        RightCol: "partnereventshared_RightCol_1ehsv",
        DropDownScroll: "partnereventshared_DropDownScroll_1U_du",
        DropDownScrollItem: "partnereventshared_DropDownScrollItem_3RZTV",
        CloseButton: "partnereventshared_CloseButton_3NcQW",
        CloseSectionTools: "partnereventshared_CloseSectionTools_3ShF2",
        HalfColumn: "partnereventshared_HalfColumn_1mrYu",
        tooltip_Ctn: "partnereventshared_tooltip_Ctn_RQL5G",
        SaleEditorSpacing: "partnereventshared_SaleEditorSpacing_1tCxG",
        SaleSectionHeader: "partnereventshared_SaleSectionHeader_3QqpI",
        SaleSectionSubtitle: "partnereventshared_SaleSectionSubtitle_1-hMZ",
        SaleSectionContainer: "partnereventshared_SaleSectionContainer_1In5l",
        AddSectionButton: "partnereventshared_AddSectionButton_24jC1",
        EventElementRequired: "partnereventshared_EventElementRequired_VKBNl",
        EventElementOptional: "partnereventshared_EventElementOptional_2K2lq",
        HelperTooltip: "partnereventshared_HelperTooltip_2hMwT",
        PixelOffsetCtn: "partnereventshared_PixelOffsetCtn_3tMTW",
        PixelOffsetRow: "partnereventshared_PixelOffsetRow_dE_ym",
        PixelOffsetNote: "partnereventshared_PixelOffsetNote_3Pz00",
        PixelOffsetCallout: "partnereventshared_PixelOffsetCallout_1RIiT",
        Error: "partnereventshared_Error_1Iuzp",
        GamepadOnlyScrollPanel:
          "partnereventshared_GamepadOnlyScrollPanel_Cpk7n",
      };
    },
    188: (e) => {
      e.exports = { ErrorDiv: "saleeventbbcodeparser_ErrorDiv_1RPzC" };
    },
    1019: (e) => {
      e.exports = {
        ScrollSnapCarousel: "scrollsnapcarousel_ScrollSnapCarousel_3KQkn",
      };
    },
    3101: (e) => {
      e.exports = {
        Spinner: "gamepadui_svg_library_Spinner_qznu9",
        SpinnerSpokeFade: "gamepadui_svg_library_SpinnerSpokeFade_OIpeq",
        WirelessConnectingActive:
          "gamepadui_svg_library_WirelessConnectingActive_21lCz",
        WifiBar1: "gamepadui_svg_library_WifiBar1_2YaK5",
        WifiBar1Anim: "gamepadui_svg_library_WifiBar1Anim_GI8SY",
        WifiBar2: "gamepadui_svg_library_WifiBar2_3eO2b",
        WifiBar2Anim: "gamepadui_svg_library_WifiBar2Anim_1bkP1",
        WifiBar3: "gamepadui_svg_library_WifiBar3_2ct6J",
        WifiBar3Anim: "gamepadui_svg_library_WifiBar3Anim_3JocZ",
        WifiBar4: "gamepadui_svg_library_WifiBar4_9LNC6",
        WifiBar4Anim: "gamepadui_svg_library_WifiBar4Anim_ZdAy2",
        GenericGamepadHighlight:
          "gamepadui_svg_library_GenericGamepadHighlight_1iSNJ",
      };
    },
    2118: (e) => {
      e.exports = {
        DateAndTime: "localdateandtime_DateAndTime_1mIa4",
        DateAndTimeInline: "localdateandtime_DateAndTimeInline_3qD-l",
        At: "localdateandtime_At_1_c2a",
        ActiveEvent: "localdateandtime_ActiveEvent_svTOO",
        ActiveEventCallOut: "localdateandtime_ActiveEventCallOut_3B7k4",
        RightSideTitles: "localdateandtime_RightSideTitles_2TqaV",
        DateToolTip: "localdateandtime_DateToolTip_1nzF8",
        ShortDateAndTime: "localdateandtime_ShortDateAndTime_10lxL",
        ShortDateRange: "localdateandtime_ShortDateRange_3MAl6",
      };
    },
    950: (e) => {
      e.exports = {
        BodyNoScroll: "modals_BodyNoScroll_18M-m",
        BodyNoScrollDialog: "modals_BodyNoScrollDialog_1z8lz",
        OverlayModal: "modals_OverlayModal_33Ku8",
        GamepadOnlyModalWrapper: "modals_GamepadOnlyModalWrapper_sxEIJ",
        GamepadOnlyPanelWrapper: "modals_GamepadOnlyPanelWrapper_2PCDj",
      };
    },
    8356: (e) => {
      e.exports = {
        QRBits: "qrcode_QRBits_22VuG",
        Bit: "qrcode_Bit_1cen5",
        Active: "qrcode_Active_17-Ag",
      };
    },
    784: (e) => {
      e.exports = {
        SegmentedCharacterInput:
          "segmentedinputs_SegmentedCharacterInput_-x0mI",
        Disabled: "segmentedinputs_Disabled_3myAy",
        Danger: "segmentedinputs_Danger_3xorr",
        BackupCode: "segmentedinputs_BackupCode_op4GH",
        Loading: "segmentedinputs_Loading_1APTB",
        Input: "segmentedinputs_Input_2s4A8",
      };
    },
    7677: (e) => {
      e.exports = {
        "duration-app-launch": "800ms",
        EmoticonBow: "shared_svg_library_EmoticonBow_3vBI6",
        EmoticonBow_st0: "shared_svg_library_EmoticonBow_st0_3EB-7",
        EmoticonBow_st1: "shared_svg_library_EmoticonBow_st1_2NIMu",
        SteamDeckCompatInfo: "shared_svg_library_SteamDeckCompatInfo_1t9l5",
        SteamDeckCompatLogo: "shared_svg_library_SteamDeckCompatLogo_1Ly8Y",
        SteamDeckCompatIcon: "shared_svg_library_SteamDeckCompatIcon_1wEdn",
        SteamDeckCompatVerified:
          "shared_svg_library_SteamDeckCompatVerified_1x-dZ",
        SteamDeckCompatPlayable:
          "shared_svg_library_SteamDeckCompatPlayable_1f6j0",
        SteamDeckCompatUnsupported:
          "shared_svg_library_SteamDeckCompatUnsupported_wUjbD",
        SteamDeckCompatUnknown:
          "shared_svg_library_SteamDeckCompatUnknown_2b1JZ",
      };
    },
    8837: (e) => {
      e.exports = {
        LoadingWrapper: "throbber_LoadingWrapper_chtlD",
        Static: "throbber_Static_1tnKC",
        none: "throbber_none_37O9t",
        bottomCircle: "throbber_bottomCircle_2U7m8",
        noString: "throbber_noString_1Ygce",
        Throbber: "throbber_Throbber_3upHh",
        throbber_small: "throbber_throbber_small_U-aow",
        throbber_medium: "throbber_throbber_medium_1Fobg",
        throbber_large: "throbber_throbber_large_2IrNq",
        throbber_center_wrapper: "throbber_throbber_center_wrapper_1PqOU",
        ThrobberText: "throbber_ThrobberText_4i9ro",
        blur: "throbber_blur_ksnq2",
        ThrobberRoundLoop: "throbber_ThrobberRoundLoop_2KsRJ",
        roundOuterOutline: "throbber_roundOuterOutline_1nczY",
        roundOuter: "throbber_roundOuter_1X5lV",
        roundFill: "throbber_roundFill_1vctz",
        ThrobberFillLoop: "throbber_ThrobberFillLoop_3Ffp2",
        topCircle: "throbber_topCircle_1Axol",
        circlePulse: "throbber_circlePulse_2TF6g",
        ThrobberTopCircleLoop: "throbber_ThrobberTopCircleLoop_1hClF",
        ThrobberBottomCircleLoop: "throbber_ThrobberBottomCircleLoop_1wHEq",
        roundThrobber15: "throbber_roundThrobber15_1hbf_",
        roundThrobber14: "throbber_roundThrobber14_3743K",
        roundThrobber13: "throbber_roundThrobber13_1vG0c",
        roundThrobber12: "throbber_roundThrobber12_66Spb",
        roundThrobber11: "throbber_roundThrobber11_2XCXD",
        roundThrobber10: "throbber_roundThrobber10_1kLAG",
        roundThrobber09: "throbber_roundThrobber09_3lj-a",
        roundThrobber08: "throbber_roundThrobber08_2c9JB",
        roundThrobber07: "throbber_roundThrobber07_2Shtf",
        roundThrobber06: "throbber_roundThrobber06_2iRLM",
        roundThrobber05: "throbber_roundThrobber05_1sOtP",
        roundThrobber04: "throbber_roundThrobber04_3JAdj",
        roundThrobber03: "throbber_roundThrobber03_1FqGc",
        roundThrobber02: "throbber_roundThrobber02_3dMhW",
        roundThrobber01: "throbber_roundThrobber01_6Xq-0",
        ThrobberRoundLoopThickness: "throbber_ThrobberRoundLoopThickness_3Ve7-",
        throbber_xlarge: "throbber_throbber_xlarge_2XWPE",
        throbber_xxlarge: "throbber_throbber_xxlarge_QooXb",
        ThrobberDelayAppear: "throbber_ThrobberDelayAppear_2lV2G",
        Visible: "throbber_Visible_2sPa3",
        NewThrobber: "throbber_NewThrobber_1t4Ks",
      };
    },
    708: (e) => {
      e.exports = {
        TextToolTip: "tooltip_TextToolTip_1y-4v",
        ToolTipCustom: "tooltip_ToolTipCustom_3g-WB",
        ToolTipTitle: "tooltip_ToolTipTitle_DE02N",
        Center: "tooltip_Center_3PLe5",
        ToolTipInsetContent: "tooltip_ToolTipInsetContent_1SHdU",
      };
    },
    1809: (e) => {
      e.exports = {
        TransitionGroup: "overlappingtransition_TransitionGroup_woWQ7",
        ContentWrapper: "overlappingtransition_ContentWrapper_221Xt",
      };
    },
    6616: (e, t, r) => {
      var n = {
        "./af": 4749,
        "./af.js": 4749,
        "./ar": 6161,
        "./ar-dz": 815,
        "./ar-dz.js": 815,
        "./ar-kw": 8261,
        "./ar-kw.js": 8261,
        "./ar-ly": 6264,
        "./ar-ly.js": 6264,
        "./ar-ma": 3501,
        "./ar-ma.js": 3501,
        "./ar-sa": 9344,
        "./ar-sa.js": 9344,
        "./ar-tn": 3182,
        "./ar-tn.js": 3182,
        "./ar.js": 6161,
        "./az": 2381,
        "./az.js": 2381,
        "./be": 1868,
        "./be.js": 1868,
        "./bg": 6153,
        "./bg.js": 6153,
        "./bm": 8847,
        "./bm.js": 8847,
        "./bn": 7311,
        "./bn-bd": 1703,
        "./bn-bd.js": 1703,
        "./bn.js": 7311,
        "./bo": 4436,
        "./bo.js": 4436,
        "./br": 1166,
        "./br.js": 1166,
        "./bs": 1748,
        "./bs.js": 1748,
        "./ca": 369,
        "./ca.js": 369,
        "./cs": 8341,
        "./cs.js": 8341,
        "./cv": 443,
        "./cv.js": 443,
        "./cy": 1871,
        "./cy.js": 1871,
        "./da": 715,
        "./da.js": 715,
        "./de": 7569,
        "./de-at": 5939,
        "./de-at.js": 5939,
        "./de-ch": 8234,
        "./de-ch.js": 8234,
        "./de.js": 7569,
        "./dv": 63,
        "./dv.js": 63,
        "./el": 2553,
        "./el.js": 2553,
        "./en-au": 6992,
        "./en-au.js": 6992,
        "./en-ca": 517,
        "./en-ca.js": 517,
        "./en-gb": 9209,
        "./en-gb.js": 9209,
        "./en-ie": 6602,
        "./en-ie.js": 6602,
        "./en-il": 4342,
        "./en-il.js": 4342,
        "./en-in": 7692,
        "./en-in.js": 7692,
        "./en-nz": 7654,
        "./en-nz.js": 7654,
        "./en-sg": 943,
        "./en-sg.js": 943,
        "./eo": 1315,
        "./eo.js": 1315,
        "./es": 8023,
        "./es-do": 4536,
        "./es-do.js": 4536,
        "./es-mx": 6937,
        "./es-mx.js": 6937,
        "./es-us": 6740,
        "./es-us.js": 6740,
        "./es.js": 8023,
        "./et": 6443,
        "./et.js": 6443,
        "./eu": 9868,
        "./eu.js": 9868,
        "./fa": 53,
        "./fa.js": 53,
        "./fi": 4818,
        "./fi.js": 4818,
        "./fil": 2590,
        "./fil.js": 2590,
        "./fo": 354,
        "./fo.js": 354,
        "./fr": 6606,
        "./fr-ca": 7628,
        "./fr-ca.js": 7628,
        "./fr-ch": 3796,
        "./fr-ch.js": 3796,
        "./fr.js": 6606,
        "./fy": 7376,
        "./fy.js": 7376,
        "./ga": 9123,
        "./ga.js": 9123,
        "./gd": 7524,
        "./gd.js": 7524,
        "./gl": 3094,
        "./gl.js": 3094,
        "./gom-deva": 3531,
        "./gom-deva.js": 3531,
        "./gom-latn": 4675,
        "./gom-latn.js": 4675,
        "./gu": 6549,
        "./gu.js": 6549,
        "./he": 2875,
        "./he.js": 2875,
        "./hi": 4794,
        "./hi.js": 4794,
        "./hr": 8906,
        "./hr.js": 8906,
        "./hu": 1034,
        "./hu.js": 1034,
        "./hy-am": 6450,
        "./hy-am.js": 6450,
        "./id": 1109,
        "./id.js": 1109,
        "./is": 1247,
        "./is.js": 1247,
        "./it": 7350,
        "./it-ch": 8825,
        "./it-ch.js": 8825,
        "./it.js": 7350,
        "./ja": 7805,
        "./ja.js": 7805,
        "./jv": 8462,
        "./jv.js": 8462,
        "./ka": 716,
        "./ka.js": 716,
        "./kk": 4135,
        "./kk.js": 4135,
        "./km": 7600,
        "./km.js": 7600,
        "./kn": 5623,
        "./kn.js": 5623,
        "./ko": 4881,
        "./ko.js": 4881,
        "./ku": 6872,
        "./ku.js": 6872,
        "./ky": 9912,
        "./ky.js": 9912,
        "./lb": 6387,
        "./lb.js": 6387,
        "./lo": 9733,
        "./lo.js": 9733,
        "./lt": 6724,
        "./lt.js": 6724,
        "./lv": 9705,
        "./lv.js": 9705,
        "./me": 3972,
        "./me.js": 3972,
        "./mi": 2770,
        "./mi.js": 2770,
        "./mk": 5326,
        "./mk.js": 5326,
        "./ml": 648,
        "./ml.js": 648,
        "./mn": 7227,
        "./mn.js": 7227,
        "./mr": 2482,
        "./mr.js": 2482,
        "./ms": 3859,
        "./ms-my": 5543,
        "./ms-my.js": 5543,
        "./ms.js": 3859,
        "./mt": 355,
        "./mt.js": 355,
        "./my": 1980,
        "./my.js": 1980,
        "./nb": 3921,
        "./nb.js": 3921,
        "./ne": 6866,
        "./ne.js": 6866,
        "./nl": 6020,
        "./nl-be": 6455,
        "./nl-be.js": 6455,
        "./nl.js": 6020,
        "./nn": 3945,
        "./nn.js": 3945,
        "./oc-lnc": 6198,
        "./oc-lnc.js": 6198,
        "./pa-in": 441,
        "./pa-in.js": 441,
        "./pl": 1340,
        "./pl.js": 1340,
        "./pt": 8708,
        "./pt-br": 2041,
        "./pt-br.js": 2041,
        "./pt.js": 8708,
        "./ro": 7807,
        "./ro.js": 7807,
        "./ru": 5776,
        "./ru.js": 5776,
        "./sd": 5683,
        "./sd.js": 5683,
        "./se": 7447,
        "./se.js": 7447,
        "./si": 965,
        "./si.js": 965,
        "./sk": 2384,
        "./sk.js": 2384,
        "./sl": 1714,
        "./sl.js": 1714,
        "./sq": 6173,
        "./sq.js": 6173,
        "./sr": 4999,
        "./sr-cyrl": 4148,
        "./sr-cyrl.js": 4148,
        "./sr.js": 4999,
        "./ss": 5234,
        "./ss.js": 5234,
        "./sv": 2234,
        "./sv.js": 2234,
        "./sw": 6523,
        "./sw.js": 6523,
        "./ta": 8426,
        "./ta.js": 8426,
        "./te": 8430,
        "./te.js": 8430,
        "./tet": 7739,
        "./tet.js": 7739,
        "./tg": 118,
        "./tg.js": 118,
        "./th": 2054,
        "./th.js": 2054,
        "./tk": 8517,
        "./tk.js": 8517,
        "./tl-ph": 2953,
        "./tl-ph.js": 2953,
        "./tlh": 1920,
        "./tlh.js": 1920,
        "./tr": 8318,
        "./tr.js": 8318,
        "./tzl": 5742,
        "./tzl.js": 5742,
        "./tzm": 8830,
        "./tzm-latn": 4344,
        "./tzm-latn.js": 4344,
        "./tzm.js": 8830,
        "./ug-cn": 5892,
        "./ug-cn.js": 5892,
        "./uk": 4984,
        "./uk.js": 4984,
        "./ur": 665,
        "./ur.js": 665,
        "./uz": 1673,
        "./uz-latn": 3457,
        "./uz-latn.js": 3457,
        "./uz.js": 1673,
        "./vi": 5968,
        "./vi.js": 5968,
        "./x-pseudo": 2785,
        "./x-pseudo.js": 2785,
        "./yo": 3443,
        "./yo.js": 3443,
        "./zh-cn": 5206,
        "./zh-cn.js": 5206,
        "./zh-hk": 2258,
        "./zh-hk.js": 2258,
        "./zh-mo": 9759,
        "./zh-mo.js": 9759,
        "./zh-tw": 1730,
        "./zh-tw.js": 1730,
      };
      function i(e) {
        var t = a(e);
        return r(t);
      }
      function a(e) {
        if (!r.o(n, e)) {
          var t = new Error("Cannot find module '" + e + "'");
          throw ((t.code = "MODULE_NOT_FOUND"), t);
        }
        return n[e];
      }
      (i.keys = function () {
        return Object.keys(n);
      }),
        (i.resolve = a),
        (e.exports = i),
        (i.id = 6616);
    },
    9669: (e, t, r) => {
      "use strict";
      var n;
      r.d(t, { Z: () => A });
      function i(e, t, r) {
        null != e &&
          ("number" == typeof e
            ? this.fromNumber(e, t, r)
            : null == t && "string" != typeof e
              ? this.fromString(e, 256)
              : this.fromString(e, t));
      }
      function a() {
        return new i(null);
      }
      "Microsoft Internet Explorer" == navigator.appName
        ? ((i.prototype.am = function (e, t, r, n, i, a) {
            for (var s = 32767 & t, o = t >> 15; --a >= 0; ) {
              var l = 32767 & this[e],
                c = this[e++] >> 15,
                u = o * l + c * s;
              (i =
                ((l = s * l + ((32767 & u) << 15) + r[n] + (1073741823 & i)) >>>
                  30) +
                (u >>> 15) +
                o * c +
                (i >>> 30)),
                (r[n++] = 1073741823 & l);
            }
            return i;
          }),
          (n = 30))
        : "Netscape" != navigator.appName
          ? ((i.prototype.am = function (e, t, r, n, i, a) {
              for (; --a >= 0; ) {
                var s = t * this[e++] + r[n] + i;
                (i = Math.floor(s / 67108864)), (r[n++] = 67108863 & s);
              }
              return i;
            }),
            (n = 26))
          : ((i.prototype.am = function (e, t, r, n, i, a) {
              for (var s = 16383 & t, o = t >> 14; --a >= 0; ) {
                var l = 16383 & this[e],
                  c = this[e++] >> 14,
                  u = o * l + c * s;
                (i =
                  ((l = s * l + ((16383 & u) << 14) + r[n] + i) >> 28) +
                  (u >> 14) +
                  o * c),
                  (r[n++] = 268435455 & l);
              }
              return i;
            }),
            (n = 28)),
        (i.prototype.DB = n),
        (i.prototype.DM = (1 << n) - 1),
        (i.prototype.DV = 1 << n);
      (i.prototype.FV = Math.pow(2, 52)),
        (i.prototype.F1 = 52 - n),
        (i.prototype.F2 = 2 * n - 52);
      var s,
        o,
        l = "0123456789abcdefghijklmnopqrstuvwxyz",
        c = new Array();
      for (s = "0".charCodeAt(0), o = 0; o <= 9; ++o) c[s++] = o;
      for (s = "a".charCodeAt(0), o = 10; o < 36; ++o) c[s++] = o;
      for (s = "A".charCodeAt(0), o = 10; o < 36; ++o) c[s++] = o;
      function u(e) {
        return l.charAt(e);
      }
      function d(e, t) {
        var r = c[e.charCodeAt(t)];
        return null == r ? -1 : r;
      }
      function m(e) {
        var t = a();
        return t.fromInt(e), t;
      }
      function _(e) {
        var t,
          r = 1;
        return (
          0 != (t = e >>> 16) && ((e = t), (r += 16)),
          0 != (t = e >> 8) && ((e = t), (r += 8)),
          0 != (t = e >> 4) && ((e = t), (r += 4)),
          0 != (t = e >> 2) && ((e = t), (r += 2)),
          0 != (t = e >> 1) && ((e = t), (r += 1)),
          r
        );
      }
      function h(e) {
        this.m = e;
      }
      function p(e) {
        (this.m = e),
          (this.mp = e.invDigit()),
          (this.mpl = 32767 & this.mp),
          (this.mph = this.mp >> 15),
          (this.um = (1 << (e.DB - 15)) - 1),
          (this.mt2 = 2 * e.t);
      }
      function g(e, t) {
        return e & t;
      }
      function b(e, t) {
        return e | t;
      }
      function f(e, t) {
        return e ^ t;
      }
      function v(e, t) {
        return e & ~t;
      }
      function y(e) {
        if (0 == e) return -1;
        var t = 0;
        return (
          0 == (65535 & e) && ((e >>= 16), (t += 16)),
          0 == (255 & e) && ((e >>= 8), (t += 8)),
          0 == (15 & e) && ((e >>= 4), (t += 4)),
          0 == (3 & e) && ((e >>= 2), (t += 2)),
          0 == (1 & e) && ++t,
          t
        );
      }
      function S(e) {
        for (var t = 0; 0 != e; ) (e &= e - 1), ++t;
        return t;
      }
      function w() {}
      function C(e) {
        return e;
      }
      function B(e) {
        (this.r2 = a()),
          (this.q3 = a()),
          i.ONE.dlShiftTo(2 * e.t, this.r2),
          (this.mu = this.r2.divide(e)),
          (this.m = e);
      }
      (h.prototype.convert = function (e) {
        return e.s < 0 || e.compareTo(this.m) >= 0 ? e.mod(this.m) : e;
      }),
        (h.prototype.revert = function (e) {
          return e;
        }),
        (h.prototype.reduce = function (e) {
          e.divRemTo(this.m, null, e);
        }),
        (h.prototype.mulTo = function (e, t, r) {
          e.multiplyTo(t, r), this.reduce(r);
        }),
        (h.prototype.sqrTo = function (e, t) {
          e.squareTo(t), this.reduce(t);
        }),
        (p.prototype.convert = function (e) {
          var t = a();
          return (
            e.abs().dlShiftTo(this.m.t, t),
            t.divRemTo(this.m, null, t),
            e.s < 0 && t.compareTo(i.ZERO) > 0 && this.m.subTo(t, t),
            t
          );
        }),
        (p.prototype.revert = function (e) {
          var t = a();
          return e.copyTo(t), this.reduce(t), t;
        }),
        (p.prototype.reduce = function (e) {
          for (; e.t <= this.mt2; ) e[e.t++] = 0;
          for (var t = 0; t < this.m.t; ++t) {
            var r = 32767 & e[t],
              n =
                (r * this.mpl +
                  (((r * this.mph + (e[t] >> 15) * this.mpl) & this.um) <<
                    15)) &
                e.DM;
            for (
              e[(r = t + this.m.t)] += this.m.am(0, n, e, t, 0, this.m.t);
              e[r] >= e.DV;
            )
              (e[r] -= e.DV), e[++r]++;
          }
          e.clamp(),
            e.drShiftTo(this.m.t, e),
            e.compareTo(this.m) >= 0 && e.subTo(this.m, e);
        }),
        (p.prototype.mulTo = function (e, t, r) {
          e.multiplyTo(t, r), this.reduce(r);
        }),
        (p.prototype.sqrTo = function (e, t) {
          e.squareTo(t), this.reduce(t);
        }),
        (i.prototype.copyTo = function (e) {
          for (var t = this.t - 1; t >= 0; --t) e[t] = this[t];
          (e.t = this.t), (e.s = this.s);
        }),
        (i.prototype.fromInt = function (e) {
          (this.t = 1),
            (this.s = e < 0 ? -1 : 0),
            e > 0 ? (this[0] = e) : e < -1 ? (this[0] = e + DV) : (this.t = 0);
        }),
        (i.prototype.fromString = function (e, t) {
          var r;
          if (16 == t) r = 4;
          else if (8 == t) r = 3;
          else if (256 == t) r = 8;
          else if (2 == t) r = 1;
          else if (32 == t) r = 5;
          else {
            if (4 != t) return void this.fromRadix(e, t);
            r = 2;
          }
          (this.t = 0), (this.s = 0);
          for (var n = e.length, a = !1, s = 0; --n >= 0; ) {
            var o = 8 == r ? 255 & e[n] : d(e, n);
            o < 0
              ? "-" == e.charAt(n) && (a = !0)
              : ((a = !1),
                0 == s
                  ? (this[this.t++] = o)
                  : s + r > this.DB
                    ? ((this[this.t - 1] |=
                        (o & ((1 << (this.DB - s)) - 1)) << s),
                      (this[this.t++] = o >> (this.DB - s)))
                    : (this[this.t - 1] |= o << s),
                (s += r) >= this.DB && (s -= this.DB));
          }
          8 == r &&
            0 != (128 & e[0]) &&
            ((this.s = -1),
            s > 0 && (this[this.t - 1] |= ((1 << (this.DB - s)) - 1) << s)),
            this.clamp(),
            a && i.ZERO.subTo(this, this);
        }),
        (i.prototype.clamp = function () {
          for (var e = this.s & this.DM; this.t > 0 && this[this.t - 1] == e; )
            --this.t;
        }),
        (i.prototype.dlShiftTo = function (e, t) {
          var r;
          for (r = this.t - 1; r >= 0; --r) t[r + e] = this[r];
          for (r = e - 1; r >= 0; --r) t[r] = 0;
          (t.t = this.t + e), (t.s = this.s);
        }),
        (i.prototype.drShiftTo = function (e, t) {
          for (var r = e; r < this.t; ++r) t[r - e] = this[r];
          (t.t = Math.max(this.t - e, 0)), (t.s = this.s);
        }),
        (i.prototype.lShiftTo = function (e, t) {
          var r,
            n = e % this.DB,
            i = this.DB - n,
            a = (1 << i) - 1,
            s = Math.floor(e / this.DB),
            o = (this.s << n) & this.DM;
          for (r = this.t - 1; r >= 0; --r)
            (t[r + s + 1] = (this[r] >> i) | o), (o = (this[r] & a) << n);
          for (r = s - 1; r >= 0; --r) t[r] = 0;
          (t[s] = o), (t.t = this.t + s + 1), (t.s = this.s), t.clamp();
        }),
        (i.prototype.rShiftTo = function (e, t) {
          t.s = this.s;
          var r = Math.floor(e / this.DB);
          if (r >= this.t) t.t = 0;
          else {
            var n = e % this.DB,
              i = this.DB - n,
              a = (1 << n) - 1;
            t[0] = this[r] >> n;
            for (var s = r + 1; s < this.t; ++s)
              (t[s - r - 1] |= (this[s] & a) << i), (t[s - r] = this[s] >> n);
            n > 0 && (t[this.t - r - 1] |= (this.s & a) << i),
              (t.t = this.t - r),
              t.clamp();
          }
        }),
        (i.prototype.subTo = function (e, t) {
          for (var r = 0, n = 0, i = Math.min(e.t, this.t); r < i; )
            (n += this[r] - e[r]), (t[r++] = n & this.DM), (n >>= this.DB);
          if (e.t < this.t) {
            for (n -= e.s; r < this.t; )
              (n += this[r]), (t[r++] = n & this.DM), (n >>= this.DB);
            n += this.s;
          } else {
            for (n += this.s; r < e.t; )
              (n -= e[r]), (t[r++] = n & this.DM), (n >>= this.DB);
            n -= e.s;
          }
          (t.s = n < 0 ? -1 : 0),
            n < -1 ? (t[r++] = this.DV + n) : n > 0 && (t[r++] = n),
            (t.t = r),
            t.clamp();
        }),
        (i.prototype.multiplyTo = function (e, t) {
          var r = this.abs(),
            n = e.abs(),
            a = r.t;
          for (t.t = a + n.t; --a >= 0; ) t[a] = 0;
          for (a = 0; a < n.t; ++a) t[a + r.t] = r.am(0, n[a], t, a, 0, r.t);
          (t.s = 0), t.clamp(), this.s != e.s && i.ZERO.subTo(t, t);
        }),
        (i.prototype.squareTo = function (e) {
          for (var t = this.abs(), r = (e.t = 2 * t.t); --r >= 0; ) e[r] = 0;
          for (r = 0; r < t.t - 1; ++r) {
            var n = t.am(r, t[r], e, 2 * r, 0, 1);
            (e[r + t.t] += t.am(
              r + 1,
              2 * t[r],
              e,
              2 * r + 1,
              n,
              t.t - r - 1,
            )) >= t.DV && ((e[r + t.t] -= t.DV), (e[r + t.t + 1] = 1));
          }
          e.t > 0 && (e[e.t - 1] += t.am(r, t[r], e, 2 * r, 0, 1)),
            (e.s = 0),
            e.clamp();
        }),
        (i.prototype.divRemTo = function (e, t, r) {
          var n = e.abs();
          if (!(n.t <= 0)) {
            var s = this.abs();
            if (s.t < n.t)
              return (
                null != t && t.fromInt(0), void (null != r && this.copyTo(r))
              );
            null == r && (r = a());
            var o = a(),
              l = this.s,
              c = e.s,
              u = this.DB - _(n[n.t - 1]);
            u > 0
              ? (n.lShiftTo(u, o), s.lShiftTo(u, r))
              : (n.copyTo(o), s.copyTo(r));
            var d = o.t,
              m = o[d - 1];
            if (0 != m) {
              var h = m * (1 << this.F1) + (d > 1 ? o[d - 2] >> this.F2 : 0),
                p = this.FV / h,
                g = (1 << this.F1) / h,
                b = 1 << this.F2,
                f = r.t,
                v = f - d,
                y = null == t ? a() : t;
              for (
                o.dlShiftTo(v, y),
                  r.compareTo(y) >= 0 && ((r[r.t++] = 1), r.subTo(y, r)),
                  i.ONE.dlShiftTo(d, y),
                  y.subTo(o, o);
                o.t < d;
              )
                o[o.t++] = 0;
              for (; --v >= 0; ) {
                var S =
                  r[--f] == m
                    ? this.DM
                    : Math.floor(r[f] * p + (r[f - 1] + b) * g);
                if ((r[f] += o.am(0, S, r, v, 0, d)) < S)
                  for (o.dlShiftTo(v, y), r.subTo(y, r); r[f] < --S; )
                    r.subTo(y, r);
              }
              null != t && (r.drShiftTo(d, t), l != c && i.ZERO.subTo(t, t)),
                (r.t = d),
                r.clamp(),
                u > 0 && r.rShiftTo(u, r),
                l < 0 && i.ZERO.subTo(r, r);
            }
          }
        }),
        (i.prototype.invDigit = function () {
          if (this.t < 1) return 0;
          var e = this[0];
          if (0 == (1 & e)) return 0;
          var t = 3 & e;
          return (t =
            ((t =
              ((t =
                ((t = (t * (2 - (15 & e) * t)) & 15) * (2 - (255 & e) * t)) &
                255) *
                (2 - (((65535 & e) * t) & 65535))) &
              65535) *
              (2 - ((e * t) % this.DV))) %
            this.DV) > 0
            ? this.DV - t
            : -t;
        }),
        (i.prototype.isEven = function () {
          return 0 == (this.t > 0 ? 1 & this[0] : this.s);
        }),
        (i.prototype.exp = function (e, t) {
          if (e > 4294967295 || e < 1) return i.ONE;
          var r = a(),
            n = a(),
            s = t.convert(this),
            o = _(e) - 1;
          for (s.copyTo(r); --o >= 0; )
            if ((t.sqrTo(r, n), (e & (1 << o)) > 0)) t.mulTo(n, s, r);
            else {
              var l = r;
              (r = n), (n = l);
            }
          return t.revert(r);
        }),
        (i.prototype.toString = function (e) {
          if (this.s < 0) return "-" + this.negate().toString(e);
          var t;
          if (16 == e) t = 4;
          else if (8 == e) t = 3;
          else if (2 == e) t = 1;
          else if (32 == e) t = 5;
          else {
            if (4 != e) return this.toRadix(e);
            t = 2;
          }
          var r,
            n = (1 << t) - 1,
            i = !1,
            a = "",
            s = this.t,
            o = this.DB - ((s * this.DB) % t);
          if (s-- > 0)
            for (
              o < this.DB && (r = this[s] >> o) > 0 && ((i = !0), (a = u(r)));
              s >= 0;
            )
              o < t
                ? ((r = (this[s] & ((1 << o) - 1)) << (t - o)),
                  (r |= this[--s] >> (o += this.DB - t)))
                : ((r = (this[s] >> (o -= t)) & n),
                  o <= 0 && ((o += this.DB), --s)),
                r > 0 && (i = !0),
                i && (a += u(r));
          return i ? a : "0";
        }),
        (i.prototype.negate = function () {
          var e = a();
          return i.ZERO.subTo(this, e), e;
        }),
        (i.prototype.abs = function () {
          return this.s < 0 ? this.negate() : this;
        }),
        (i.prototype.compareTo = function (e) {
          var t = this.s - e.s;
          if (0 != t) return t;
          var r = this.t;
          if (0 != (t = r - e.t)) return t;
          for (; --r >= 0; ) if (0 != (t = this[r] - e[r])) return t;
          return 0;
        }),
        (i.prototype.bitLength = function () {
          return this.t <= 0
            ? 0
            : this.DB * (this.t - 1) + _(this[this.t - 1] ^ (this.s & this.DM));
        }),
        (i.prototype.mod = function (e) {
          var t = a();
          return (
            this.abs().divRemTo(e, null, t),
            this.s < 0 && t.compareTo(i.ZERO) > 0 && e.subTo(t, t),
            t
          );
        }),
        (i.prototype.modPowInt = function (e, t) {
          var r;
          return (
            (r = e < 256 || t.isEven() ? new h(t) : new p(t)), this.exp(e, r)
          );
        }),
        (i.ZERO = m(0)),
        (i.ONE = m(1)),
        (w.prototype.convert = C),
        (w.prototype.revert = C),
        (w.prototype.mulTo = function (e, t, r) {
          e.multiplyTo(t, r);
        }),
        (w.prototype.sqrTo = function (e, t) {
          e.squareTo(t);
        }),
        (B.prototype.convert = function (e) {
          if (e.s < 0 || e.t > 2 * this.m.t) return e.mod(this.m);
          if (e.compareTo(this.m) < 0) return e;
          var t = a();
          return e.copyTo(t), this.reduce(t), t;
        }),
        (B.prototype.revert = function (e) {
          return e;
        }),
        (B.prototype.reduce = function (e) {
          for (
            e.drShiftTo(this.m.t - 1, this.r2),
              e.t > this.m.t + 1 && ((e.t = this.m.t + 1), e.clamp()),
              this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3),
              this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);
            e.compareTo(this.r2) < 0;
          )
            e.dAddOffset(1, this.m.t + 1);
          for (e.subTo(this.r2, e); e.compareTo(this.m) >= 0; )
            e.subTo(this.m, e);
        }),
        (B.prototype.mulTo = function (e, t, r) {
          e.multiplyTo(t, r), this.reduce(r);
        }),
        (B.prototype.sqrTo = function (e, t) {
          e.squareTo(t), this.reduce(t);
        });
      var E = [
          2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61,
          67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137,
          139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211,
          223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283,
          293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379,
          383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461,
          463, 467, 479, 487, 491, 499, 503, 509,
        ],
        I = (1 << 26) / E[E.length - 1];
      (i.prototype.chunkSize = function (e) {
        return Math.floor((Math.LN2 * this.DB) / Math.log(e));
      }),
        (i.prototype.toRadix = function (e) {
          if ((null == e && (e = 10), 0 == this.signum() || e < 2 || e > 36))
            return "0";
          var t = this.chunkSize(e),
            r = Math.pow(e, t),
            n = m(r),
            i = a(),
            s = a(),
            o = "";
          for (this.divRemTo(n, i, s); i.signum() > 0; )
            (o = (r + s.intValue()).toString(e).substr(1) + o),
              i.divRemTo(n, i, s);
          return s.intValue().toString(e) + o;
        }),
        (i.prototype.fromRadix = function (e, t) {
          this.fromInt(0), null == t && (t = 10);
          for (
            var r = this.chunkSize(t),
              n = Math.pow(t, r),
              a = !1,
              s = 0,
              o = 0,
              l = 0;
            l < e.length;
            ++l
          ) {
            var c = d(e, l);
            c < 0
              ? "-" == e.charAt(l) && 0 == this.signum() && (a = !0)
              : ((o = t * o + c),
                ++s >= r &&
                  (this.dMultiply(n), this.dAddOffset(o, 0), (s = 0), (o = 0)));
          }
          s > 0 && (this.dMultiply(Math.pow(t, s)), this.dAddOffset(o, 0)),
            a && i.ZERO.subTo(this, this);
        }),
        (i.prototype.fromNumber = function (e, t, r) {
          if ("number" == typeof t)
            if (e < 2) this.fromInt(1);
            else
              for (
                this.fromNumber(e, r),
                  this.testBit(e - 1) ||
                    this.bitwiseTo(i.ONE.shiftLeft(e - 1), b, this),
                  this.isEven() && this.dAddOffset(1, 0);
                !this.isProbablePrime(t);
              )
                this.dAddOffset(2, 0),
                  this.bitLength() > e &&
                    this.subTo(i.ONE.shiftLeft(e - 1), this);
          else {
            var n = new Array(),
              a = 7 & e;
            (n.length = 1 + (e >> 3)),
              t.nextBytes(n),
              a > 0 ? (n[0] &= (1 << a) - 1) : (n[0] = 0),
              this.fromString(n, 256);
          }
        }),
        (i.prototype.bitwiseTo = function (e, t, r) {
          var n,
            i,
            a = Math.min(e.t, this.t);
          for (n = 0; n < a; ++n) r[n] = t(this[n], e[n]);
          if (e.t < this.t) {
            for (i = e.s & this.DM, n = a; n < this.t; ++n)
              r[n] = t(this[n], i);
            r.t = this.t;
          } else {
            for (i = this.s & this.DM, n = a; n < e.t; ++n) r[n] = t(i, e[n]);
            r.t = e.t;
          }
          (r.s = t(this.s, e.s)), r.clamp();
        }),
        (i.prototype.changeBit = function (e, t) {
          var r = i.ONE.shiftLeft(e);
          return this.bitwiseTo(r, t, r), r;
        }),
        (i.prototype.addTo = function (e, t) {
          for (var r = 0, n = 0, i = Math.min(e.t, this.t); r < i; )
            (n += this[r] + e[r]), (t[r++] = n & this.DM), (n >>= this.DB);
          if (e.t < this.t) {
            for (n += e.s; r < this.t; )
              (n += this[r]), (t[r++] = n & this.DM), (n >>= this.DB);
            n += this.s;
          } else {
            for (n += this.s; r < e.t; )
              (n += e[r]), (t[r++] = n & this.DM), (n >>= this.DB);
            n += e.s;
          }
          (t.s = n < 0 ? -1 : 0),
            n > 0 ? (t[r++] = n) : n < -1 && (t[r++] = this.DV + n),
            (t.t = r),
            t.clamp();
        }),
        (i.prototype.dMultiply = function (e) {
          (this[this.t] = this.am(0, e - 1, this, 0, 0, this.t)),
            ++this.t,
            this.clamp();
        }),
        (i.prototype.dAddOffset = function (e, t) {
          for (; this.t <= t; ) this[this.t++] = 0;
          for (this[t] += e; this[t] >= this.DV; )
            (this[t] -= this.DV),
              ++t >= this.t && (this[this.t++] = 0),
              ++this[t];
        }),
        (i.prototype.multiplyLowerTo = function (e, t, r) {
          var n,
            i = Math.min(this.t + e.t, t);
          for (r.s = 0, r.t = i; i > 0; ) r[--i] = 0;
          for (n = r.t - this.t; i < n; ++i)
            r[i + this.t] = this.am(0, e[i], r, i, 0, this.t);
          for (n = Math.min(e.t, t); i < n; ++i)
            this.am(0, e[i], r, i, 0, t - i);
          r.clamp();
        }),
        (i.prototype.multiplyUpperTo = function (e, t, r) {
          --t;
          var n = (r.t = this.t + e.t - t);
          for (r.s = 0; --n >= 0; ) r[n] = 0;
          for (n = Math.max(t - this.t, 0); n < e.t; ++n)
            r[this.t + n - t] = this.am(t - n, e[n], r, 0, 0, this.t + n - t);
          r.clamp(), r.drShiftTo(1, r);
        }),
        (i.prototype.modInt = function (e) {
          if (e <= 0) return 0;
          var t = this.DV % e,
            r = this.s < 0 ? e - 1 : 0;
          if (this.t > 0)
            if (0 == t) r = this[0] % e;
            else
              for (var n = this.t - 1; n >= 0; --n) r = (t * r + this[n]) % e;
          return r;
        }),
        (i.prototype.millerRabin = function (e) {
          var t = this.subtract(i.ONE),
            r = t.getLowestSetBit();
          if (r <= 0) return !1;
          var n = t.shiftRight(r);
          (e = (e + 1) >> 1) > E.length && (e = E.length);
          for (var s = a(), o = 0; o < e; ++o) {
            s.fromInt(E[o]);
            var l = s.modPow(n, this);
            if (0 != l.compareTo(i.ONE) && 0 != l.compareTo(t)) {
              for (var c = 1; c++ < r && 0 != l.compareTo(t); )
                if (0 == (l = l.modPowInt(2, this)).compareTo(i.ONE)) return !1;
              if (0 != l.compareTo(t)) return !1;
            }
          }
          return !0;
        }),
        (i.prototype.clone = function () {
          var e = a();
          return this.copyTo(e), e;
        }),
        (i.prototype.intValue = function () {
          if (this.s < 0) {
            if (1 == this.t) return this[0] - this.DV;
            if (0 == this.t) return -1;
          } else {
            if (1 == this.t) return this[0];
            if (0 == this.t) return 0;
          }
          return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];
        }),
        (i.prototype.byteValue = function () {
          return 0 == this.t ? this.s : (this[0] << 24) >> 24;
        }),
        (i.prototype.shortValue = function () {
          return 0 == this.t ? this.s : (this[0] << 16) >> 16;
        }),
        (i.prototype.signum = function () {
          return this.s < 0
            ? -1
            : this.t <= 0 || (1 == this.t && this[0] <= 0)
              ? 0
              : 1;
        }),
        (i.prototype.toByteArray = function () {
          var e = this.t,
            t = new Array();
          t[0] = this.s;
          var r,
            n = this.DB - ((e * this.DB) % 8),
            i = 0;
          if (e-- > 0)
            for (
              n < this.DB &&
              (r = this[e] >> n) != (this.s & this.DM) >> n &&
              (t[i++] = r | (this.s << (this.DB - n)));
              e >= 0;
            )
              n < 8
                ? ((r = (this[e] & ((1 << n) - 1)) << (8 - n)),
                  (r |= this[--e] >> (n += this.DB - 8)))
                : ((r = (this[e] >> (n -= 8)) & 255),
                  n <= 0 && ((n += this.DB), --e)),
                0 != (128 & r) && (r |= -256),
                0 == i && (128 & this.s) != (128 & r) && ++i,
                (i > 0 || r != this.s) && (t[i++] = r);
          return t;
        }),
        (i.prototype.equals = function (e) {
          return 0 == this.compareTo(e);
        }),
        (i.prototype.min = function (e) {
          return this.compareTo(e) < 0 ? this : e;
        }),
        (i.prototype.max = function (e) {
          return this.compareTo(e) > 0 ? this : e;
        }),
        (i.prototype.and = function (e) {
          var t = a();
          return this.bitwiseTo(e, g, t), t;
        }),
        (i.prototype.or = function (e) {
          var t = a();
          return this.bitwiseTo(e, b, t), t;
        }),
        (i.prototype.xor = function (e) {
          var t = a();
          return this.bitwiseTo(e, f, t), t;
        }),
        (i.prototype.andNot = function (e) {
          var t = a();
          return this.bitwiseTo(e, v, t), t;
        }),
        (i.prototype.not = function () {
          for (var e = a(), t = 0; t < this.t; ++t) e[t] = this.DM & ~this[t];
          return (e.t = this.t), (e.s = ~this.s), e;
        }),
        (i.prototype.shiftLeft = function (e) {
          var t = a();
          return e < 0 ? this.rShiftTo(-e, t) : this.lShiftTo(e, t), t;
        }),
        (i.prototype.shiftRight = function (e) {
          var t = a();
          return e < 0 ? this.lShiftTo(-e, t) : this.rShiftTo(e, t), t;
        }),
        (i.prototype.getLowestSetBit = function () {
          for (var e = 0; e < this.t; ++e)
            if (0 != this[e]) return e * this.DB + y(this[e]);
          return this.s < 0 ? this.t * this.DB : -1;
        }),
        (i.prototype.bitCount = function () {
          for (var e = 0, t = this.s & this.DM, r = 0; r < this.t; ++r)
            e += S(this[r] ^ t);
          return e;
        }),
        (i.prototype.testBit = function (e) {
          var t = Math.floor(e / this.DB);
          return t >= this.t
            ? 0 != this.s
            : 0 != (this[t] & (1 << (e % this.DB)));
        }),
        (i.prototype.setBit = function (e) {
          return this.changeBit(e, b);
        }),
        (i.prototype.clearBit = function (e) {
          return this.changeBit(e, v);
        }),
        (i.prototype.flipBit = function (e) {
          return this.changeBit(e, f);
        }),
        (i.prototype.add = function (e) {
          var t = a();
          return this.addTo(e, t), t;
        }),
        (i.prototype.subtract = function (e) {
          var t = a();
          return this.subTo(e, t), t;
        }),
        (i.prototype.multiply = function (e) {
          var t = a();
          return this.multiplyTo(e, t), t;
        }),
        (i.prototype.divide = function (e) {
          var t = a();
          return this.divRemTo(e, t, null), t;
        }),
        (i.prototype.remainder = function (e) {
          var t = a();
          return this.divRemTo(e, null, t), t;
        }),
        (i.prototype.divideAndRemainder = function (e) {
          var t = a(),
            r = a();
          return this.divRemTo(e, t, r), new Array(t, r);
        }),
        (i.prototype.modPow = function (e, t) {
          var r,
            n,
            i = e.bitLength(),
            s = m(1);
          if (i <= 0) return s;
          (r = i < 18 ? 1 : i < 48 ? 3 : i < 144 ? 4 : i < 768 ? 5 : 6),
            (n = i < 8 ? new h(t) : t.isEven() ? new B(t) : new p(t));
          var o = new Array(),
            l = 3,
            c = r - 1,
            u = (1 << r) - 1;
          if (((o[1] = n.convert(this)), r > 1)) {
            var d = a();
            for (n.sqrTo(o[1], d); l <= u; )
              (o[l] = a()), n.mulTo(d, o[l - 2], o[l]), (l += 2);
          }
          var g,
            b,
            f = e.t - 1,
            v = !0,
            y = a();
          for (i = _(e[f]) - 1; f >= 0; ) {
            for (
              i >= c
                ? (g = (e[f] >> (i - c)) & u)
                : ((g = (e[f] & ((1 << (i + 1)) - 1)) << (c - i)),
                  f > 0 && (g |= e[f - 1] >> (this.DB + i - c))),
                l = r;
              0 == (1 & g);
            )
              (g >>= 1), --l;
            if (((i -= l) < 0 && ((i += this.DB), --f), v))
              o[g].copyTo(s), (v = !1);
            else {
              for (; l > 1; ) n.sqrTo(s, y), n.sqrTo(y, s), (l -= 2);
              l > 0 ? n.sqrTo(s, y) : ((b = s), (s = y), (y = b)),
                n.mulTo(y, o[g], s);
            }
            for (; f >= 0 && 0 == (e[f] & (1 << i)); )
              n.sqrTo(s, y),
                (b = s),
                (s = y),
                (y = b),
                --i < 0 && ((i = this.DB - 1), --f);
          }
          return n.revert(s);
        }),
        (i.prototype.modInverse = function (e) {
          var t = e.isEven();
          if ((this.isEven() && t) || 0 == e.signum()) return i.ZERO;
          for (
            var r = e.clone(),
              n = this.clone(),
              a = m(1),
              s = m(0),
              o = m(0),
              l = m(1);
            0 != r.signum();
          ) {
            for (; r.isEven(); )
              r.rShiftTo(1, r),
                t
                  ? ((a.isEven() && s.isEven()) ||
                      (a.addTo(this, a), s.subTo(e, s)),
                    a.rShiftTo(1, a))
                  : s.isEven() || s.subTo(e, s),
                s.rShiftTo(1, s);
            for (; n.isEven(); )
              n.rShiftTo(1, n),
                t
                  ? ((o.isEven() && l.isEven()) ||
                      (o.addTo(this, o), l.subTo(e, l)),
                    o.rShiftTo(1, o))
                  : l.isEven() || l.subTo(e, l),
                l.rShiftTo(1, l);
            r.compareTo(n) >= 0
              ? (r.subTo(n, r), t && a.subTo(o, a), s.subTo(l, s))
              : (n.subTo(r, n), t && o.subTo(a, o), l.subTo(s, l));
          }
          return 0 != n.compareTo(i.ONE)
            ? i.ZERO
            : l.compareTo(e) >= 0
              ? l.subtract(e)
              : l.signum() < 0
                ? (l.addTo(e, l), l.signum() < 0 ? l.add(e) : l)
                : l;
        }),
        (i.prototype.pow = function (e) {
          return this.exp(e, new w());
        }),
        (i.prototype.gcd = function (e) {
          var t = this.s < 0 ? this.negate() : this.clone(),
            r = e.s < 0 ? e.negate() : e.clone();
          if (t.compareTo(r) < 0) {
            var n = t;
            (t = r), (r = n);
          }
          var i = t.getLowestSetBit(),
            a = r.getLowestSetBit();
          if (a < 0) return t;
          for (
            i < a && (a = i), a > 0 && (t.rShiftTo(a, t), r.rShiftTo(a, r));
            t.signum() > 0;
          )
            (i = t.getLowestSetBit()) > 0 && t.rShiftTo(i, t),
              (i = r.getLowestSetBit()) > 0 && r.rShiftTo(i, r),
              t.compareTo(r) >= 0
                ? (t.subTo(r, t), t.rShiftTo(1, t))
                : (r.subTo(t, r), r.rShiftTo(1, r));
          return a > 0 && r.lShiftTo(a, r), r;
        }),
        (i.prototype.isProbablePrime = function (e) {
          var t,
            r = this.abs();
          if (1 == r.t && r[0] <= E[E.length - 1]) {
            for (t = 0; t < E.length; ++t) if (r[0] == E[t]) return !0;
            return !1;
          }
          if (r.isEven()) return !1;
          for (t = 1; t < E.length; ) {
            for (var n = E[t], i = t + 1; i < E.length && n < I; ) n *= E[i++];
            for (n = r.modInt(n); t < i; ) if (n % E[t++] == 0) return !1;
          }
          return r.millerRabin(e);
        });
      const R = i;
      var T = function (e, t) {
          (this.modulus = new R(e, 16)),
            (this.encryptionExponent = new R(t, 16));
        },
        M = {
          base64:
            "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
          encode: function (e) {
            if (!e) return !1;
            var t,
              r,
              n,
              i,
              a,
              s,
              o,
              l = "",
              c = 0;
            do {
              (i = (t = e.charCodeAt(c++)) >> 2),
                (a = ((3 & t) << 4) | ((r = e.charCodeAt(c++)) >> 4)),
                (s = ((15 & r) << 2) | ((n = e.charCodeAt(c++)) >> 6)),
                (o = 63 & n),
                isNaN(r) ? (s = o = 64) : isNaN(n) && (o = 64),
                (l +=
                  this.base64.charAt(i) +
                  this.base64.charAt(a) +
                  this.base64.charAt(s) +
                  this.base64.charAt(o));
            } while (c < e.length);
            return l;
          },
          decode: function (e) {
            if (!e) return !1;
            e = e.replace(/[^A-Za-z0-9\+\/\=]/g, "");
            var t,
              r,
              n,
              i,
              a = "",
              s = 0;
            do {
              (t = this.base64.indexOf(e.charAt(s++))),
                (r = this.base64.indexOf(e.charAt(s++))),
                (n = this.base64.indexOf(e.charAt(s++))),
                (i = this.base64.indexOf(e.charAt(s++))),
                (a += String.fromCharCode((t << 2) | (r >> 4))),
                64 != n &&
                  (a += String.fromCharCode(((15 & r) << 4) | (n >> 2))),
                64 != i && (a += String.fromCharCode(((3 & n) << 6) | i));
            } while (s < e.length);
            return a;
          },
        },
        D = {
          hex: "0123456789abcdef",
          encode: function (e) {
            if (!e) return !1;
            var t,
              r = "",
              n = 0;
            do {
              (t = e.charCodeAt(n++)),
                (r += this.hex.charAt((t >> 4) & 15) + this.hex.charAt(15 & t));
            } while (n < e.length);
            return r;
          },
          decode: function (e) {
            if (!e) return !1;
            e = e.replace(/[^0-9abcdef]/g, "");
            var t = "",
              r = 0;
            do {
              t += String.fromCharCode(
                ((this.hex.indexOf(e.charAt(r++)) << 4) & 240) |
                  (15 & this.hex.indexOf(e.charAt(r++))),
              );
            } while (r < e.length);
            return t;
          },
        };
      const A = {
        getPublicKey: function (e, t) {
          return new T(e, t);
        },
        encrypt: function (e, t) {
          return (
            !!t &&
            !!(e = this.pkcs1pad2(e, (t.modulus.bitLength() + 7) >> 3)) &&
              !!(e = e.modPowInt(t.encryptionExponent, t.modulus)) &&
            (1 == (1 & (e = e.toString(16)).length) && (e = "0" + e),
            M.encode(D.decode(e)))
          );
        },
        pkcs1pad2: function (e, t) {
          if (t < e.length + 11) return null;
          for (var r = [], n = e.length - 1; n >= 0 && t > 0; )
            r[--t] = e.charCodeAt(n--);
          for (r[--t] = 0; t > 2; )
            r[--t] = Math.floor(254 * Math.random()) + 1;
          return (r[--t] = 2), (r[--t] = 0), new R(r);
        },
      };
    },
    8197: (e, t, r) => {
      "use strict";
      r.d(t, { P: () => xf });
      var n,
        i = r(2970),
        a = (r(2471), r(6279)),
        s = r(6204),
        o = r(3356),
        l = r.n(o);
      !(function (e) {
        (e[(e.k_ESteamRealmUnknown = 0)] = "k_ESteamRealmUnknown"),
          (e[(e.k_ESteamRealmGlobal = 1)] = "k_ESteamRealmGlobal"),
          (e[(e.k_ESteamRealmChina = 2)] = "k_ESteamRealmChina");
      })(n || (n = {}));
      function c(e, t, ...r) {
        console.assert
          ? 0 == r.length
            ? console.assert(!!e, t)
            : console.assert(!!e, t, ...r)
          : e || console.warn(t, ...r);
      }
      function u(e, t, r) {
        return null == e || isNaN(e) ? e : Math.max(t, Math.min(r, e));
      }
      function d(e, t, r, n, i) {
        return n + ((i - n) * (e - t)) / (r - t);
      }
      function m(e) {
        if (!_() || !window.document.cookie) return null;
        const t = document.cookie.match("(^|; )" + e + "=([^;]*)");
        return t && t[2] ? decodeURIComponent(t[2]) : null;
      }
      function _() {
        return !!window.document;
      }
      const h = "webui_config";
      let p;
      function g() {
        const e = (function () {
          let e = "";
          for (let n = 0; n < 24; n++)
            e += ((t = 0),
            (r = 35),
            (t = Math.ceil(t)),
            (r = Math.floor(r)),
            Math.floor(Math.random() * (r - t + 1)) + t).toString(36);
          var t, r;
          return e;
        })();
        return (
          (function (e, t, r, n) {
            if (!_()) return;
            n || (n = "/");
            let i = "";
            if (void 0 !== r && r) {
              const e = new Date();
              e.setTime(e.getTime() + 864e5 * r),
                (i = "; expires=" + e.toUTCString());
            }
            document.cookie =
              encodeURIComponent(e) +
              "=" +
              encodeURIComponent(t) +
              i +
              ";path=" +
              n;
          })("sessionid", e, 0),
          e
        );
      }
      function b(e, t = h) {
        return v(e, t, !0);
      }
      function f(e, t = h) {
        return v(e, t, !1);
      }
      function v(e, t = h, r) {
        let n;
        if (
          ((n =
            "string" == typeof t
              ? { NODE_ENV: "production", STEAM_BUILD: "buildbot" }.MOBILE_BUILD
                ? null
                : document.getElementById(t)
              : t),
          n)
        )
          try {
            if (n.hasAttribute("data-" + e)) {
              return JSON.parse(n.getAttribute("data-" + e));
            }
            return null;
          } catch (e) {
            console.error(
              "Failed to parse config for " +
                C.steamid +
                " (" +
                window.location.href +
                ")",
              e,
            );
          }
        else r && console.error("Missing config element #", t);
      }
      const y = "presentation_mode";
      function S() {
        let e = null;
        return _() && (e = m(y)), Boolean(e && 1 === Number.parseInt(e));
      }
      const w = {
        EUNIVERSE: 0,
        WEB_UNIVERSE: "",
        LANGUAGE: "english",
        SUPPORTED_LANGUAGES: [],
        COUNTRY: "",
        AVATAR_BASE_URL: "",
        MEDIA_CDN_COMMUNITY_URL: "",
        MEDIA_CDN_URL: "",
        CLAN_CDN_ASSET_URL: "",
        COMMUNITY_CDN_URL: "",
        COMMUNITY_CDN_ASSET_URL: "",
        BASE_URL_SHARED_CDN: "",
        STORE_CDN_URL: "",
        PUBLIC_SHARED_URL: "",
        COMMUNITY_BASE_URL: "",
        CHAT_BASE_URL: "",
        STORE_BASE_URL: "",
        STORE_CHECKOUT_BASE_URL: "",
        LOGIN_BASE_URL: "",
        SUPPORT_BASE_URL: "",
        STORE_ICON_BASE_URL: "",
        IMG_URL: "",
        STEAMTV_BASE_URL: "",
        HELP_BASE_URL: "",
        PARTNER_BASE_URL: "",
        STATS_BASE_URL: "",
        INTERNAL_STATS_BASE_URL: "",
        BASE_URL_STORE_CDN_ASSETS: "",
        IN_CLIENT: !1,
        USE_POPUPS: !1,
        IN_MOBILE: !1,
        IN_MOBILE_WEBVIEW: !1,
        IN_TENFOOT: !1,
        PLATFORM: "",
        SNR: "",
        LAUNCHER_TYPE: 0,
        EREALM: 0,
        IN_CHROMEOS: !1,
        TESLA: !1,
        LOCAL_HOSTNAME: "",
        WEBAPI_BASE_URL: "",
        TOKEN_URL: "",
        BUILD_TIMESTAMP: 0,
        PAGE_TIMESTAMP: 0,
        FROM_WEB: !1,
        WEBSITE_ID: "Unknown",
        get SESSIONID() {
          return (function () {
            if (!_()) return p || (p = g()), p;
            let e = m("sessionid");
            return e || (e = g()), e;
          })();
        },
        FRIENDSUI_BETA: !1,
        STEAM_TV: !1,
        DEV_MODE: !1,
        IN_STEAMUI: !1,
        IN_GAMEPADUI: !1,
        IN_STEAMUI_SHARED_CONTEXT: !1,
        DECK_DISPLAY_MODE: !1,
        ON_DECK: !1,
        ON_STEAMOS: !1,
        IN_GAMESCOPE: !1,
        IN_LOGIN: !1,
        IN_LOGIN_REFRESH: !1,
        USE_LONGEST_LOC_STRING: !1,
        SILENT_STARTUP: !1,
      };
      const C = {
          logged_in: !1,
          steamid: "",
          accountid: 0,
          account_name: "",
          token: void 0,
          token_use_id: void 0,
          webapi_token: "",
          authwgtoken: "",
          is_support: !1,
          is_limited: !1,
          is_partner_member: !1,
          short_url: "",
          country_code: "",
        },
        B = { steamid: "", clanid: 0, listid: 0 },
        E = {
          CLANSTEAMID: "",
          CLANACCOUNTID: 0,
          APPID: 0,
          VANITY_ID: "",
          IS_CREATOR_HOME: !1,
          IS_CURATOR: !1,
          IS_OGG: !1,
          CAN_UPLOAD_IMAGES: !1,
          APP_NAME: "",
          HEADER_IMAGE: "",
          HAS_ADULT_CONTENT: !1,
          HAS_ADULT_CONTENT_SEX: !1,
          HAS_ADULT_CONTENT_VIOLENCE: !1,
          IS_VALVE_GROUP: !1,
          IS_ALLOWED_SC: !1,
        },
        I = { ANNOUNCEMENT_GID: "", TAKEOVER_ANNOUNCEMENT_GID: "" },
        R = s.createContext({}),
        T = (e) => {
          const t = s.useContext(R);
          return (
            c(
              (null == e ? void 0 : e.bSuppressAssert) ||
                void 0 !== t.IN_GAMEPADUI,
              "Trying to use ConfigContext without a provider!  Add ConfigContextRoot to application.",
            ),
            t
          );
        };
      function M(e) {
        const t = T(e);
        return null == t ? void 0 : t.IN_GAMEPADUI;
      }
      function D() {
        return w.EREALM === n.k_ESteamRealmChina;
      }
      function A() {
        return "macos" == w.PLATFORM;
      }
      function O(e, t) {
        return 0 != t.length && e.startsWith(t);
      }
      function F() {
        if (!window || !window.location || !window.location.href)
          return console.warn("Unable to determine base url!"), "unknown";
        const e = window.location.href;
        return O(e, w.STORE_BASE_URL)
          ? w.STORE_BASE_URL
          : O(e, w.COMMUNITY_BASE_URL)
            ? w.COMMUNITY_BASE_URL
            : O(e, w.CHAT_BASE_URL)
              ? w.CHAT_BASE_URL
              : O(e, w.PARTNER_BASE_URL)
                ? w.PARTNER_BASE_URL
                : O(e, w.HELP_BASE_URL)
                  ? w.HELP_BASE_URL
                  : O(e, w.STEAMTV_BASE_URL)
                    ? w.STEAMTV_BASE_URL
                    : O(e, w.STATS_BASE_URL)
                      ? w.STATS_BASE_URL
                      : O(e, w.INTERNAL_STATS_BASE_URL)
                        ? w.INTERNAL_STATS_BASE_URL
                        : O(e, w.STORE_CHECKOUT_BASE_URL)
                          ? w.STORE_CHECKOUT_BASE_URL
                          : O(e, "https://steamloopback.host")
                            ? "https://steamloopback.host"
                            : "";
      }
      function L() {
        const e = window.location.href;
        return O(e, w.STORE_BASE_URL) || O(e, w.STORE_CHECKOUT_BASE_URL)
          ? "store"
          : O(e, w.COMMUNITY_BASE_URL)
            ? "community"
            : O(e, w.PARTNER_BASE_URL)
              ? "partnerweb"
              : O(e, w.HELP_BASE_URL)
                ? "help"
                : O(e, w.STEAMTV_BASE_URL)
                  ? "steamtv"
                  : O(e, w.STATS_BASE_URL) || O(e, w.INTERNAL_STATS_BASE_URL)
                    ? "stats"
                    : "";
      }
      let k = {
        EUNIVERSE: 0,
        WEB_UNIVERSE: "",
        LANGUAGE: "english",
        BASE_URL: "",
        IMG_URL: "",
        VIDEO_URL: "",
        AUDIO_URL: "",
        CDN_URL: "",
        COMMUNITY_URL: "",
        STORE_URL: "",
        STORE_BASE_URL: "",
        CLIENT_ID: "",
        PROJECT_NAME: "",
        PROJECT_ROOT: "",
        RENDER_TIMESTAMP: 0,
        ACCOUNT_ID: 0,
        SESSION_ID: 0,
        PAGE_LOAD_ID: "",
        ENABLE_METRICS: !0,
        VALVE_INTERNAL: !1,
      };
      const N = () => `${k.PROJECT_ROOT}`,
        P = () => "/home",
        G = (e) => "/news" + (e ? "/" + e : ""),
        x = (e) => `/newsentry/${e || ""}`,
        U = (e) => `/cs2${e || ""}`,
        z = (e) => "/";
      var W = r(846),
        j = r(8763),
        V = r(5905),
        H = r(558),
        q = r.n(H),
        K = (r(922), r(5804));
      const $ = (e) => {
          const [t] = (0, s.useState)({
              active: !1,
              first: !0,
              pathname: null,
              starttime: null,
            }),
            r = (0, V.TH)(),
            n = (e) => {
              var n;
              t.active &&
                (e || t.pathname != r.pathname) &&
                ((e) => {
                  const r =
                    (navigator.languages && navigator.languages[0]) ||
                    navigator.language ||
                    navigator.userLanguage;
                  navigator.sendBeacon(
                    k.BASE_URL + "ingest",
                    JSON.stringify({
                      pn: t.pathname,
                      cfl: k.LANGUAGE,
                      bl: r,
                      pli: k.PAGE_LOAD_ID,
                      fs: t.first ? 1 : 0,
                      ls: e ? 1 : 0,
                      sx: window.screen.width * window.devicePixelRatio,
                      sy: window.screen.height * window.devicePixelRatio,
                      ds: (Date.now() - t.starttime) / 1e3,
                    }),
                  ),
                    (t.first = !1),
                    (t.active = !1);
                })(e),
                t.active ||
                  ((n = r.pathname),
                  (t.pathname = n),
                  (t.active = !0),
                  (t.starttime = Date.now()));
            };
          return (
            (0, s.useEffect)(n, [r.pathname, t]),
            (0, K.x)((e) => {
              n(!0), delete e.returnValue;
            }),
            s.createElement(V.AW, Object.assign({}, e))
          );
        },
        Y = (0, V.EN)((e) =>
          k && k.ENABLE_METRICS
            ? s.createElement($, Object.assign({}, e))
            : s.createElement(V.AW, Object.assign({}, e)),
        );
      var Q = r(9807),
        X = r.n(Q);
      function Z(e, t = "en") {
        switch (e) {
          case 0:
            return "en";
          case 1:
            return "de";
          case 2:
            return "fr";
          case 3:
            return "it";
          case 4:
            return "ko";
          case 5:
            return "es";
          case 6:
            return "zh-cn";
          case 7:
            return "zh-tw";
          case 8:
            return "ru";
          case 9:
            return "th";
          case 10:
            return "ja";
          case 11:
            return "pt";
          case 12:
            return "pl";
          case 13:
            return "da";
          case 14:
            return "nl";
          case 15:
            return "fi";
          case 16:
            return "no";
          case 17:
            return "sv";
          case 18:
            return "hu";
          case 19:
            return "cs";
          case 20:
            return "ro";
          case 21:
            return "tr";
          case 25:
            return "ar";
          case 22:
            return "pt-br";
          case 23:
            return "bg";
          case 24:
            return "el";
          case 26:
            return "uk";
          case 27:
            return "es-419";
          case 28:
            return "vi";
          case 29:
            return "sc-sc";
          case 30:
            return "id";
          default:
            return t;
        }
      }
      const J = (e) => ("koreana" === e ? "korean" : e);
      function ee(e, t = "") {
        switch (e) {
          case 0:
            return "english";
          case 1:
            return "german";
          case 2:
            return "french";
          case 3:
            return "italian";
          case 4:
            return "koreana";
          case 5:
            return "spanish";
          case 6:
            return "schinese";
          case 7:
            return "tchinese";
          case 8:
            return "russian";
          case 9:
            return "thai";
          case 10:
            return "japanese";
          case 11:
            return "portuguese";
          case 12:
            return "polish";
          case 13:
            return "danish";
          case 14:
            return "dutch";
          case 15:
            return "finnish";
          case 16:
            return "norwegian";
          case 17:
            return "swedish";
          case 18:
            return "hungarian";
          case 19:
            return "czech";
          case 20:
            return "romanian";
          case 21:
            return "turkish";
          case 25:
            return "arabic";
          case 22:
            return "brazilian";
          case 23:
            return "bulgarian";
          case 24:
            return "greek";
          case 26:
            return "ukrainian";
          case 27:
            return "latam";
          case 28:
            return "vietnamese";
          case 29:
            return "sc_schinese";
          case 30:
            return "indonesian";
          default:
            return t;
        }
      }
      function te(e, t = 0) {
        switch (e) {
          case "english":
            return 0;
          case "german":
            return 1;
          case "french":
            return 2;
          case "italian":
            return 3;
          case "korean":
          case "koreana":
            return 4;
          case "spanish":
            return 5;
          case "schinese":
            return 6;
          case "tchinese":
            return 7;
          case "russian":
            return 8;
          case "thai":
            return 9;
          case "japanese":
            return 10;
          case "portuguese":
            return 11;
          case "polish":
            return 12;
          case "danish":
            return 13;
          case "dutch":
            return 14;
          case "finnish":
            return 15;
          case "norwegian":
            return 16;
          case "swedish":
            return 17;
          case "hungarian":
            return 18;
          case "czech":
            return 19;
          case "romanian":
            return 20;
          case "turkish":
            return 21;
          case "arabic":
            return 25;
          case "brazilian":
            return 22;
          case "bulgarian":
            return 23;
          case "greek":
            return 24;
          case "ukrainian":
            return 26;
          case "latam":
            return 27;
          case "vietnamese":
            return 28;
          case "sc_schinese":
            return 29;
          case "indonesian":
            return 30;
          default:
            return t;
        }
      }
      var re, ne, ie, ae, se, oe, le, ce, ue, de, me, _e, he, pe, ge, be;
      function fe(e, t) {
        return (function (e, t) {
          const r = e.findIndex(t);
          return r >= 0 && (e.splice(r, 1), !0);
        })(e, (e) => t == e);
      }
      function ve(e, t, r) {
        return (
          e ||
            console.error(
              "array should be defined for us to fill in the missing indexes",
            ),
          e.length < t ? e.concat(Array(t - e.length).fill(r)) : e
        );
      }
      function ye(e, t, r) {
        return {
          get() {
            let e = r.value.bind(this);
            return (
              this.hasOwnProperty(t) ||
                Object.defineProperty(this, t, { value: e }),
              e
            );
          },
        };
      }
      !(function (e) {
        (e[(e.k_EConnectivityTestResult_Unknown = 0)] =
          "k_EConnectivityTestResult_Unknown"),
          (e[(e.k_EConnectivityTestResult_Connected = 1)] =
            "k_EConnectivityTestResult_Connected"),
          (e[(e.k_EConnectivityTestResult_CaptivePortal = 2)] =
            "k_EConnectivityTestResult_CaptivePortal"),
          (e[(e.k_EConnectivityTestResult_TimedOut = 3)] =
            "k_EConnectivityTestResult_TimedOut"),
          (e[(e.k_EConnectivityTestResult_Failed = 4)] =
            "k_EConnectivityTestResult_Failed"),
          (e[(e.k_EConnectivityTestResult_WifiDisabled = 5)] =
            "k_EConnectivityTestResult_WifiDisabled"),
          (e[(e.k_EConnectivityTestResult_NoLAN = 6)] =
            "k_EConnectivityTestResult_NoLAN");
      })(re || (re = {})),
        (function (e) {
          (e[(e.k_ENetFakeLocalSystemState_Normal = 0)] =
            "k_ENetFakeLocalSystemState_Normal"),
            (e[(e.k_ENetFakeLocalSystemState_NoLAN = 1)] =
              "k_ENetFakeLocalSystemState_NoLAN"),
            (e[(e.k_ENetFakeLocalSystemState_CaptivePortal_Redirected = 2)] =
              "k_ENetFakeLocalSystemState_CaptivePortal_Redirected"),
            (e[(e.k_ENetFakeLocalSystemState_CaptivePortal_InPlace = 3)] =
              "k_ENetFakeLocalSystemState_CaptivePortal_InPlace"),
            (e[(e.k_ENetFakeLocalSystemState_NoInternet = 4)] =
              "k_ENetFakeLocalSystemState_NoInternet"),
            (e[(e.k_ENetFakeLocalSystemState_NoSteam = 5)] =
              "k_ENetFakeLocalSystemState_NoSteam");
        })(ne || (ne = {})),
        (function (e) {
          (e[(e.k_ESuspendResumeProgressState_Invalid = 0)] =
            "k_ESuspendResumeProgressState_Invalid"),
            (e[(e.k_ESuspendResumeProgressState_Complete = 1)] =
              "k_ESuspendResumeProgressState_Complete"),
            (e[(e.k_ESuspendResumeProgressState_CloudSync = 2)] =
              "k_ESuspendResumeProgressState_CloudSync"),
            (e[(e.k_ESuspendResumeProgressState_LoggingIn = 3)] =
              "k_ESuspendResumeProgressState_LoggingIn"),
            (e[(e.k_ESuspendResumeProgressState_WaitingForApp = 4)] =
              "k_ESuspendResumeProgressState_WaitingForApp"),
            (e[(e.k_ESuspendResumeProgressState_Working = 5)] =
              "k_ESuspendResumeProgressState_Working");
        })(ie || (ie = {})),
        (function (e) {
          (e[(e.k_EFloatingGamepadTextInputModeModeSingleLine = 0)] =
            "k_EFloatingGamepadTextInputModeModeSingleLine"),
            (e[(e.k_EFloatingGamepadTextInputModeModeMultipleLines = 1)] =
              "k_EFloatingGamepadTextInputModeModeMultipleLines"),
            (e[(e.k_EFloatingGamepadTextInputModeModeEmail = 2)] =
              "k_EFloatingGamepadTextInputModeModeEmail"),
            (e[(e.k_EFloatingGamepadTextInputModeModeNumeric = 3)] =
              "k_EFloatingGamepadTextInputModeModeNumeric");
        })(ae || (ae = {})),
        (function (e) {
          (e[(e.k_EAppUpdateContentType_Content = 0)] =
            "k_EAppUpdateContentType_Content"),
            (e[(e.k_EAppUpdateContentType_Workshop = 1)] =
              "k_EAppUpdateContentType_Workshop"),
            (e[(e.k_EAppUpdateContentType_Shader = 2)] =
              "k_EAppUpdateContentType_Shader"),
            (e[(e.k_EAppUpdateContentType_Max = 3)] =
              "k_EAppUpdateContentType_Max");
        })(se || (se = {})),
        (function (e) {
          (e[(e.k_EOverlayToStoreFlag_None = 0)] =
            "k_EOverlayToStoreFlag_None"),
            (e[(e.k_EOverlayToStoreFlag_AddToCart = 1)] =
              "k_EOverlayToStoreFlag_AddToCart"),
            (e[(e.k_EOverlayToStoreFlag_AddToCartAndShow = 2)] =
              "k_EOverlayToStoreFlag_AddToCartAndShow");
        })(oe || (oe = {})),
        (function (e) {
          (e[(e.k_EActivateGameOverlayToWebPageMode_Default = 0)] =
            "k_EActivateGameOverlayToWebPageMode_Default"),
            (e[(e.k_EActivateGameOverlayToWebPageMode_Modal = 1)] =
              "k_EActivateGameOverlayToWebPageMode_Modal");
        })(le || (le = {})),
        (function (e) {
          (e[(e.k_EGamingDeviceType_Unknown = 0)] =
            "k_EGamingDeviceType_Unknown"),
            (e[(e.k_EGamingDeviceType_StandardPC = 1)] =
              "k_EGamingDeviceType_StandardPC"),
            (e[(e.k_EGamingDeviceType_Console = 256)] =
              "k_EGamingDeviceType_Console"),
            (e[(e.k_EGamingDeviceType_PS3 = 272)] = "k_EGamingDeviceType_PS3"),
            (e[(e.k_EGamingDeviceType_Steambox = 288)] =
              "k_EGamingDeviceType_Steambox"),
            (e[(e.k_EGamingDeviceType_Handheld = 512)] =
              "k_EGamingDeviceType_Handheld"),
            (e[(e.k_EGamingDeviceType_Phone = 528)] =
              "k_EGamingDeviceType_Phone"),
            (e[(e.k_EGamingDeviceType_SteamDeck = 544)] =
              "k_EGamingDeviceType_SteamDeck");
        })(ce || (ce = {})),
        (function (e) {
          (e[(e.k_ELoginUIStyleOld = 0)] = "k_ELoginUIStyleOld"),
            (e[(e.k_ELoginUIStyleNewWithoutQRCode = 1)] =
              "k_ELoginUIStyleNewWithoutQRCode"),
            (e[(e.k_ELoginUIStyleNew = 2)] = "k_ELoginUIStyleNew");
        })(ue || (ue = {})),
        (function (e) {
          (e[(e.k_ECommunityProfileItemProperty_ImageSmall = 0)] =
            "k_ECommunityProfileItemProperty_ImageSmall"),
            (e[(e.k_ECommunityProfileItemProperty_ImageLarge = 1)] =
              "k_ECommunityProfileItemProperty_ImageLarge"),
            (e[(e.k_ECommunityProfileItemProperty_InternalName = 2)] =
              "k_ECommunityProfileItemProperty_InternalName"),
            (e[(e.k_ECommunityProfileItemProperty_Title = 3)] =
              "k_ECommunityProfileItemProperty_Title"),
            (e[(e.k_ECommunityProfileItemProperty_Description = 4)] =
              "k_ECommunityProfileItemProperty_Description"),
            (e[(e.k_ECommunityProfileItemProperty_AppID = 5)] =
              "k_ECommunityProfileItemProperty_AppID"),
            (e[(e.k_ECommunityProfileItemProperty_TypeID = 6)] =
              "k_ECommunityProfileItemProperty_TypeID"),
            (e[(e.k_ECommunityProfileItemProperty_Class = 7)] =
              "k_ECommunityProfileItemProperty_Class"),
            (e[(e.k_ECommunityProfileItemProperty_MovieWebM = 8)] =
              "k_ECommunityProfileItemProperty_MovieWebM"),
            (e[(e.k_ECommunityProfileItemProperty_MovieMP4 = 9)] =
              "k_ECommunityProfileItemProperty_MovieMP4"),
            (e[(e.k_ECommunityProfileItemProperty_MovieWebMSmall = 10)] =
              "k_ECommunityProfileItemProperty_MovieWebMSmall"),
            (e[(e.k_ECommunityProfileItemProperty_MovieMP4Small = 11)] =
              "k_ECommunityProfileItemProperty_MovieMP4Small");
        })(de || (de = {})),
        (function (e) {
          (e[(e.k_ERaiseGameWindowResult_NotRunning = 1)] =
            "k_ERaiseGameWindowResult_NotRunning"),
            (e[(e.k_ERaiseGameWindowResult_Success = 2)] =
              "k_ERaiseGameWindowResult_Success"),
            (e[(e.k_ERaiseGameWindowResult_Failure = 3)] =
              "k_ERaiseGameWindowResult_Failure");
        })(me || (me = {})),
        (function (e) {
          (e[(e.k_EPositionInvalid = -1)] = "k_EPositionInvalid"),
            (e[(e.k_EPositionTopLeft = 0)] = "k_EPositionTopLeft"),
            (e[(e.k_EPositionTopRight = 1)] = "k_EPositionTopRight"),
            (e[(e.k_EPositionBottomLeft = 2)] = "k_EPositionBottomLeft"),
            (e[(e.k_EPositionBottomRight = 3)] = "k_EPositionBottomRight");
        })(_e || (_e = {})),
        (function (e) {
          (e[(e.k_EAppReleaseState_Unknown = 0)] =
            "k_EAppReleaseState_Unknown"),
            (e[(e.k_EAppReleaseState_Unavailable = 1)] =
              "k_EAppReleaseState_Unavailable"),
            (e[(e.k_EAppReleaseState_Prerelease = 2)] =
              "k_EAppReleaseState_Prerelease"),
            (e[(e.k_EAppReleaseState_PreloadOnly = 3)] =
              "k_EAppReleaseState_PreloadOnly"),
            (e[(e.k_EAppReleaseState_Released = 4)] =
              "k_EAppReleaseState_Released"),
            (e[(e.k_EAppReleaseState_Disabled = 5)] =
              "k_EAppReleaseState_Disabled");
        })(he || (he = {})),
        (function (e) {
          (e[(e.k_EGameIDTypeApp = 0)] = "k_EGameIDTypeApp"),
            (e[(e.k_EGameIDTypeGameMod = 1)] = "k_EGameIDTypeGameMod"),
            (e[(e.k_EGameIDTypeShortcut = 2)] = "k_EGameIDTypeShortcut"),
            (e[(e.k_EGameIDTypeP2P = 3)] = "k_EGameIDTypeP2P");
        })(pe || (pe = {})),
        (function (e) {
          (e[(e.k_EInstallMgrStateNone = 0)] = "k_EInstallMgrStateNone"),
            (e[(e.k_EInstallMgrStateSetup = 1)] = "k_EInstallMgrStateSetup"),
            (e[(e.k_EInstallMgrStateWaitLicense = 2)] =
              "k_EInstallMgrStateWaitLicense"),
            (e[(e.k_EInstallMgrStateFreeLicense = 3)] =
              "k_EInstallMgrStateFreeLicense"),
            (e[(e.k_EInstallMgrStateShowCDKey = 4)] =
              "k_EInstallMgrStateShowCDKey"),
            (e[(e.k_EInstallMgrStateWaitAppInfo = 5)] =
              "k_EInstallMgrStateWaitAppInfo"),
            (e[(e.k_EInstallMgrStateShowPassword = 6)] =
              "k_EInstallMgrStateShowPassword"),
            (e[(e.k_EInstallMgrStateShowConfig = 7)] =
              "k_EInstallMgrStateShowConfig"),
            (e[(e.k_EInstallMgrStateShowEULAs = 8)] =
              "k_EInstallMgrStateShowEULAs"),
            (e[(e.k_EInstallMgrStateCreateApps = 9)] =
              "k_EInstallMgrStateCreateApps"),
            (e[(e.k_EInstallMgrStateReadFromMedia = 10)] =
              "k_EInstallMgrStateReadFromMedia"),
            (e[(e.k_EInstallMgrStateShowChangeMedia = 11)] =
              "k_EInstallMgrStateShowChangeMedia"),
            (e[(e.k_EInstallMgrStateWaitLegacyCDKeys = 12)] =
              "k_EInstallMgrStateWaitLegacyCDKeys"),
            (e[(e.k_EInstallMgrStateShowSignup = 13)] =
              "k_EInstallMgrStateShowSignup"),
            (e[(e.k_EInstallMgrStateComplete = 14)] =
              "k_EInstallMgrStateComplete"),
            (e[(e.k_EInstallMgrStateFailed = 15)] = "k_EInstallMgrStateFailed"),
            (e[(e.k_EInstallMgrStateCanceled = 16)] =
              "k_EInstallMgrStateCanceled");
        })(ge || (ge = {})),
        (function (e) {
          (e[(e.k_EWindowBringToFrontInvalid = 0)] =
            "k_EWindowBringToFrontInvalid"),
            (e[(e.k_EWindowBringToFrontAndForceOS = 1)] =
              "k_EWindowBringToFrontAndForceOS"),
            (e[(e.k_EWindowBringToFrontWithoutForcingOS = 2)] =
              "k_EWindowBringToFrontWithoutForcingOS");
        })(be || (be = {}));
      class Se {
        constructor() {
          this.m_vecCallbacks = [];
        }
        Register(e) {
          this.m_vecCallbacks.push(e);
          return {
            Unregister: () => {
              fe(this.m_vecCallbacks, e);
            },
          };
        }
        Dispatch(...e) {
          for (const t of Array.from(this.m_vecCallbacks)) t(...e);
        }
        ClearAllCallbacks() {
          this.m_vecCallbacks = [];
        }
        CountRegistered() {
          return this.m_vecCallbacks.length;
        }
      }
      class we {
        constructor(e, t) {
          (this.m_callbacks = new Se()),
            (this.m_currentValue = e),
            (this.m_fnEquals = t);
        }
        Set(e) {
          if (this.m_fnEquals) {
            if (this.m_fnEquals(this.m_currentValue, e)) return;
          } else if (this.m_currentValue === e) return;
          (this.m_currentValue = e), this.m_callbacks.Dispatch(e);
        }
        get Value() {
          return this.m_currentValue;
        }
        Subscribe(e) {
          return { Unsubscribe: this.m_callbacks.Register(e).Unregister };
        }
      }
      function Ce(e, t) {
        return new we(e, t);
      }
      class Be {
        constructor(e, t, r) {
          (this.m_subscriptionRefCount = 0),
            (this.m_originalSubscribableValue = e),
            (this.m_mappedSubscribableValue = new we(t(e.Value), r)),
            (this.m_fnMap = t);
        }
        get Value() {
          var e;
          return null === (e = this.m_mappedSubscribableValue) || void 0 === e
            ? void 0
            : e.Value;
        }
        Subscribe(e) {
          var t;
          0 == this.m_subscriptionRefCount++ &&
            (this.m_mappedUnsubscribe =
              this.m_originalSubscribableValue.Subscribe((e) =>
                this.m_mappedSubscribableValue.Set(this.m_fnMap(e)),
              ));
          const r =
            null === (t = this.m_mappedSubscribableValue) || void 0 === t
              ? void 0
              : t.Subscribe(e);
          return {
            Unsubscribe: () => {
              var e;
              r.Unsubscribe(),
                0 == --this.m_subscriptionRefCount &&
                  (null === (e = this.m_mappedUnsubscribe) ||
                    void 0 === e ||
                    e.Unsubscribe(),
                  (this.m_mappedUnsubscribe = void 0));
            },
          };
        }
      }
      class Ee {
        Schedule(e, t) {
          this.IsScheduled() && this.Cancel(),
            (this.m_fnCallback = t),
            (this.m_schTimer = window.setTimeout(this.ScheduledInternal, e));
        }
        IsScheduled() {
          return void 0 !== this.m_schTimer;
        }
        Cancel() {
          this.m_schTimer &&
            (clearTimeout(this.m_schTimer), (this.m_schTimer = void 0));
        }
        ScheduledInternal() {
          this.m_schTimer = void 0;
          const e = this.m_fnCallback;
          (this.m_fnCallback = void 0), null == e || e();
        }
      }
      (0, i.gn)([ye], Ee.prototype, "ScheduledInternal", null);
      class Ie {
        constructor() {
          this.m_rgListeners = [];
        }
        AddEventListener(e, t, r) {
          e.addEventListener(t, r),
            this.m_rgListeners.push({ element: e, type: t, listener: r });
        }
        Unregister() {
          for (const e of this.m_rgListeners)
            e.element.removeEventListener(e.type, e.listener);
          this.m_rgListeners = [];
        }
      }
      class Re {
        constructor() {
          this.m_vecCallbacks = [];
        }
        Push(e) {
          this.m_vecCallbacks.push(e);
        }
        PushArrayRemove(e, t) {
          this.m_vecCallbacks.push(() => fe(e, t));
        }
        Unregister() {
          for (const e of this.m_vecCallbacks) e();
          this.m_vecCallbacks = [];
        }
        GetUnregisterFunc() {
          return this.Unregister;
        }
      }
      (0, i.gn)([ye], Re.prototype, "Unregister", null);
      const Te = {
        PerYear: 31536e3,
        PerMonth: 2628e3,
        PerWeek: 604800,
        PerDay: 86400,
        PerHour: 3600,
        PerMinute: 60,
      };
      function Me(e, t) {
        return (
          e.getFullYear() == t.getFullYear() &&
          e.getMonth() == t.getMonth() &&
          e.getDate() == t.getDate()
        );
      }
      function De(e, t) {
        return e.getFullYear() == t.getFullYear();
      }
      function Ae(e) {
        return new Promise((t) => setTimeout(t, e));
      }
      var Oe;
      function Fe(e, t, r) {
        let n;
        if ("boolean" == typeof t) {
          n = {
            eSuffix: t ? Oe.None : Oe.Ago,
            bForceSingleUnits: r,
            bHighGranularity: !1,
          };
        } else
          n = Object.assign(
            { eSuffix: Oe.Ago, bForceSingleUnits: !1, bHighGranularity: !1 },
            t,
          );
        let i = "#TimeInterval_";
        n.eSuffix == Oe.Ago
          ? (i = "#TimeSince_")
          : n.eSuffix == Oe.Remaining && (i = "#TimeRemaining_");
        let a = (e) => Math.floor(e);
        if (
          (n.bAllowDecimal && (a = (e) => Math.round(10 * e) / 10),
          e >= 2 * Te.PerYear)
        )
          return We(i + "XYears", a(e / Te.PerYear));
        if (e >= Te.PerYear)
          return (e -= Te.PerYear) >= 2 * Te.PerMonth && !n.bForceSingleUnits
            ? We(i + "1YearXMonths", a(e / Te.PerMonth))
            : We(i + "1Year");
        if (e >= 2 * Te.PerMonth) return We(i + "XMonths", a(e / Te.PerMonth));
        if (e >= 2 * Te.PerWeek) return We(i + "XWeeks", a(e / Te.PerWeek));
        if (e >= Te.PerWeek) return We(i + "1Week", a(e / Te.PerWeek));
        if (e >= 2 * Te.PerDay) return We(i + "XDays", a(e / Te.PerDay));
        if (e >= Te.PerDay)
          return (e -= Te.PerDay) >= 2 * Te.PerHour && !n.bForceSingleUnits
            ? We(i + "1DayXHours", a(e / Te.PerHour))
            : We(i + "1Day");
        if (e >= 2 * Te.PerHour) return We(i + "XHours", a(e / Te.PerHour));
        if (e >= Te.PerHour)
          return (e -= Te.PerHour) >= 2 * Te.PerMinute && !n.bForceSingleUnits
            ? We(i + "1HourXMinutes", a(e / Te.PerMinute))
            : We(i + "1Hour");
        if (e >= 2 * Te.PerMinute) {
          const t = Math.floor(e / Te.PerMinute),
            r = e % Te.PerMinute;
          return n.bHighGranularity && 0 != r
            ? 1 == r
              ? We(i + "XMinutes1Second", t)
              : We(i + "XMinutesXSeconds", t, r)
            : We(i + "XMinutes", a(e / Te.PerMinute));
        }
        if (e >= Te.PerMinute) {
          const t = e % Te.PerMinute;
          return n.bHighGranularity && 0 != t
            ? 1 == t
              ? We(i + "1Minute1Second")
              : We(i + "1MinuteXSeconds", t)
            : We(i + "1Minute");
        }
        return n.bHighGranularity
          ? 1 == e
            ? We(i + "1Second")
            : We(i + "XSeconds", e)
          : We(i + "LessThanAMinute");
      }
      function Le(e, t, r) {
        let n;
        n =
          void 0 === t || !0 === t || !1 === t
            ? { weekday: r ? "long" : "short", year: t ? void 0 : "numeric" }
            : t;
        let i = new Date(1e3 * e);
        const a = Object.assign(
          { weekday: "short", month: "long", day: "numeric", year: "numeric" },
          n,
        );
        return i.toLocaleDateString(Qe.GetPreferredLocales(), a);
      }
      function ke(e, t) {
        let r,
          n = new Date(1e3 * e);
        if (!t) {
          const e = n.setHours(0, 0, 0, 0);
          let t = Ne.get(e);
          if (t) return t;
        }
        const i = Object.assign(
          { year: "numeric", month: "short", day: "numeric" },
          t,
        );
        return (r = n.toLocaleDateString(Qe.GetPreferredLocales(), i)), r;
      }
      !(function (e) {
        (e[(e.None = 0)] = "None"),
          (e[(e.Ago = 1)] = "Ago"),
          (e[(e.Remaining = 2)] = "Remaining");
      })(Oe || (Oe = {}));
      new Map();
      const Ne = new Map();
      new Map();
      new Map(), new Map();
      const Pe = new Map(),
        Ge = new Map();
      new Map(), new Map();
      function xe(e) {
        let t = Pe.get(e.getFullYear());
        return (
          t ||
          ((t = e.toLocaleDateString(Qe.GetPreferredLocales(), {
            year: "numeric",
          })),
          Pe.set(e.getFullYear(), t),
          t)
        );
      }
      function Ue(e) {
        const t = e.getMonth() + 12 * e.getFullYear();
        let r = Ge.get(t);
        return (
          r ||
          ((r = e.toLocaleDateString(Qe.GetPreferredLocales(), {
            month: "long",
            year: "numeric",
          })),
          Ge.set(t, r),
          r)
        );
      }
      class ze {
        constructor() {
          (this.m_mapTokens = new Map()),
            (this.m_mapFallbackTokens = new Map()),
            (this.m_cbkTokensChanged = new Se());
        }
        static InstallErrorReportingStore(e) {
          this.sm_ErrorReportingStore = e;
        }
        static GetLanguageFallback(e) {
          return "sc_schinese" === e ? "schinese" : "english";
        }
        static GetELanguageFallback(e) {
          return 29 === e ? 6 : 0;
        }
        static IsELanguageValidInRealm(e, t) {
          return (
            t === (29 === e ? n.k_ESteamRealmChina : n.k_ESteamRealmGlobal)
          );
        }
        static GetLanguageListForRealms(e) {
          const t = new Array();
          for (let r = 0; r < 31; r++)
            for (const n of e)
              if (this.IsELanguageValidInRealm(r, n)) {
                t.push(r);
                break;
              }
          return t;
        }
        InitFromObjects(e, t, r, n, i) {
          i || this.m_mapTokens.clear();
          const a = Object.assign(Object.assign({}, r || {}), e),
            s = Object.assign(Object.assign({}, n || {}), t || {});
          this.AddTokens(a, s), this.m_cbkTokensChanged.Dispatch();
        }
        InitDirect(e, t) {
          this.m_mapTokens.clear(),
            this.m_mapFallbackTokens.clear(),
            this.AddTokens(e, t),
            this.m_cbkTokensChanged.Dispatch();
        }
        AddTokens(e, t) {
          Object.keys(e).forEach((t) => {
            this.m_mapTokens.set(t, e[t]);
          }),
            t &&
              Object.keys(t).forEach((e) => {
                this.m_mapTokens.has(e) || this.m_mapTokens.set(e, t[e]),
                  this.m_mapFallbackTokens.set(e, t[e]);
              });
        }
        GetTokensChangedCallbackList() {
          return this.m_cbkTokensChanged;
        }
        GetPreferredLocales() {
          return this.m_rgLocalesToUse
            ? this.m_rgLocalesToUse
            : navigator && navigator.languages
              ? navigator.languages
              : ["en-US"];
        }
        GetELanguageFallbackOrder(e = null) {
          let t = new Array();
          if (
            (t.push(te(w.LANGUAGE)),
            (w.SUPPORTED_LANGUAGES || []).forEach((e) => {
              e.value != w.LANGUAGE && t.push(te(e.value));
            }),
            e)
          ) {
            ze.GetLanguageListForRealms(e).forEach((e) => {
              -1 == t.indexOf(e) && t.push(e);
            });
          }
          return t;
        }
        SetPreferredLocales(e) {
          this.m_rgLocalesToUse = e;
        }
        BLooksLikeToken(e) {
          return e && e.length > 0 && "#" == e.charAt(0);
        }
        LocalizeIfToken(e, t) {
          return this.BLooksLikeToken(e) ? this.LocalizeString(e, t) : e;
        }
        LocalizeString(e, t) {
          if (!this.BLooksLikeToken(e)) return;
          let r = this.m_mapTokens.get(e.substring(1));
          if (void 0 !== r) return r;
          !t &&
            ze.sm_ErrorReportingStore &&
            ze.sm_ErrorReportingStore.ReportError(
              new Error(
                `Unable to find localization token '${e}' for language '${w.LANGUAGE}', ${this.m_mapTokens.size} tokens in map`,
              ),
              { bIncludeMessageInIdentifier: !0 },
            );
        }
        LocalizeStringFromFallback(e) {
          if (!e || 0 == e.length || "#" != e.charAt(0)) return;
          let t = this.m_mapFallbackTokens.get(e.substring(1));
          return void 0 !== t ? t : void 0;
        }
      }
      function We(e, ...t) {
        let r = Qe.LocalizeString(e);
        return void 0 === r ? e : qe(r, ...t);
      }
      function je(e, ...t) {
        let r = Qe.LocalizeString(e);
        if (void 0 === r) return e;
        let n,
          i = [],
          a = /(.*?)%(\d+)\$s/g,
          o = 0;
        for (; (n = a.exec(r)); ) {
          (o += n[0].length), i.push(n[1]);
          let e = parseInt(n[2]);
          e >= 1 && e <= t.length && i.push(t[e - 1]);
        }
        return i.push(r.substr(o)), s.createElement(s.Fragment, null, ...i);
      }
      function Ve(e, ...t) {
        let r = Qe.LocalizeIfToken(e);
        return void 0 === r ? e : He(r, ...t);
      }
      function He(e, ...t) {
        let r,
          n = [],
          i = new RegExp(/(.*?)<(\d+)>(.*?)<\/(\2)>/, "gs"),
          a = 0;
        for (; (r = i.exec(e)); ) {
          (a += r[0].length), n.push(r[1]);
          let e = parseInt(r[2]),
            i = r[3] || "",
            o = Ve(i, ...t),
            l = (e >= 1 && e <= t.length ? t[e - 1] : null)
              ? s.cloneElement(t[e - 1], {}, i ? o : null)
              : i;
          n.push(l);
        }
        return n.push(e.substr(a)), s.createElement(s.Fragment, null, ...n);
      }
      function qe(e, ...t) {
        return 0 == t.length
          ? e
          : (e = e.replace(/%(?:(\d+)\$)?s/g, function (e, r) {
              if (r <= t.length && r >= 1) {
                let e = t[r - 1];
                return String(null == e ? "" : e);
              }
              return e;
            }));
      }
      class Ke {
        static Set(e, t, r) {
          if (e.length <= t) {
            if (t >= 31) return e;
            e = ve(e, t + 1, null);
          }
          return (e[t] = r), e;
        }
        static Get(e, t) {
          return (e && e.length > t && e[t]) || "";
        }
        static GetWithFallback(e, t) {
          if (e) {
            return Ke.Get(e, t) || Ke.Get(e, ze.GetELanguageFallback(t));
          }
          return null;
        }
      }
      const $e = {
        english: "en",
        german: "de",
        french: "fr",
        italian: "it",
        korean: "ko",
        latam: "es-419",
        spanish: "es",
        schinese: "zh-cn",
        tchinese: "zh-tw",
        russian: "ru",
        thai: "th",
        japanese: "ja",
        brazilian: "pt-br",
        portuguese: "pt",
        polish: "pl",
        danish: "da",
        dutch: "nl",
        finnish: "fi",
        norwegian: "no",
        swedish: "sv",
        hungarian: "hu",
        czech: "cs",
        romanian: "ro",
        turkish: "tr",
        arabic: "ar",
        bulgarian: "bg",
        greek: "el",
        ukrainian: "uk",
        vietnamese: "vi",
        indonesian: "id",
        sc_schinese: "zh-cn",
        koreana: "ko",
      };
      function Ye() {
        return $e[w.LANGUAGE] || null;
      }
      const Qe = new ze();
      window.LocalizationManager = Qe;
      var Xe = r(1674),
        Ze = r.n(Xe),
        Je = r(9247);
      const et = [1, 3, 2],
        tt = [1, 3],
        rt = {
          capsule: { width: 800, height: 450, rgAcceptableTypes: tt },
          spotlight: { width: 2108, height: 460, rgAcceptableTypes: tt },
          localized_store_app_spotlight: {
            width: 1100,
            height: 240,
            rgAcceptableTypes: tt,
          },
          localized_store_app_spotlight_mobile: {
            width: 500,
            height: 160,
            rgAcceptableTypes: tt,
          },
          background: { width: 1920, height: 622, rgAcceptableTypes: tt },
          hero: { width: 0, height: 0, rgAcceptableTypes: tt },
          email_full: { width: 800, height: 300, rgAcceptableTypes: tt },
          email_centered: { width: 644, height: 300, rgAcceptableTypes: tt },
          broadcast_left: { width: 155, height: 337, rgAcceptableTypes: tt },
          broadcast_right: { width: 155, height: 337, rgAcceptableTypes: tt },
          sale_header: {
            width: 0,
            height: 0,
            bDisableEnforceDimensions: !0,
            rgAcceptableTypes: et,
          },
          sale_overlay: {
            width: 0,
            height: 0,
            bDisableEnforceDimensions: !0,
            rgAcceptableTypes: et,
          },
          localized_image_group: {
            width: 0,
            height: 0,
            bDisableEnforceDimensions: !0,
            rgAcceptableTypes: tt,
          },
          sale_section_background: {
            width: 0,
            height: 0,
            bDisableEnforceDimensions: !0,
            rgAcceptableTypes: et,
          },
          sale_section_title: {
            width: 0,
            height: 0,
            bDisableEnforceDimensions: !0,
            rgAcceptableTypes: et,
          },
          link_capsule: {
            width: 0,
            height: 0,
            bDisableEnforceDimensions: !0,
            rgAcceptableTypes: tt,
          },
          product_banner: { width: 1100, height: 160, rgAcceptableTypes: tt },
          product_mobile_banner: {
            width: 500,
            height: 160,
            rgAcceptableTypes: tt,
          },
          product_banner_override: {
            width: 1100,
            height: 160,
            rgAcceptableTypes: tt,
          },
          product_mobile_banner_override: {
            width: 500,
            height: 160,
            rgAcceptableTypes: tt,
          },
          schedule_track_art: { width: 196, height: 92, rgAcceptableTypes: tt },
          tab_bar_background: {
            width: 1500,
            height: 100,
            rgAcceptableTypes: tt,
          },
          sale_logo: { width: 940, height: 460, rgAcceptableTypes: tt },
          bestofyear_banner: {
            width: 1100,
            height: 160,
            rgAcceptableTypes: et,
          },
          bestofyear_banner_mobile: {
            width: 500,
            height: 160,
            rgAcceptableTypes: et,
          },
          localized_marketing_message: {
            width: 570,
            height: 600,
            rgAcceptableTypes: et,
          },
          localized_optin_banner: {
            width: 1e3,
            height: 150,
            rgAcceptableTypes: tt,
          },
          localized_marketingmessage_webm: {
            width: 570,
            height: 600,
            rgAcceptableTypes: [5],
          },
          localized_marketingmessage_mp4: {
            width: 570,
            height: 600,
            rgAcceptableTypes: [4],
          },
          localized_subtitles: {
            width: 0,
            height: 0,
            bDisableEnforceDimensions: !0,
            rgAcceptableTypes: [6, 7],
          },
          localized_marketingmessage_poster: {
            width: 528,
            height: 297,
            rgAcceptableTypes: [1, 3],
          },
          localized_marketingmessage_background: {
            width: 570,
            height: 600,
            rgAcceptableTypes: tt,
          },
          spotlight_art: { width: 306, height: 350, rgAcceptableTypes: et },
          marketingmessage_art: {
            width: 570,
            height: 600,
            rgAcceptableTypes: et,
          },
          marketingmessage_art_2: {
            width: 570,
            height: 600,
            rgAcceptableTypes: et,
          },
          takeover_art: { width: 1850, height: 450, rgAcceptableTypes: et },
          takeover_mobile_art: {
            width: 500,
            height: 350,
            rgAcceptableTypes: et,
          },
          takeunder_art: { width: 940, height: 150, rgAcceptableTypes: et },
          takeunder_mobile_art: {
            width: 500,
            height: 160,
            rgAcceptableTypes: et,
          },
        };
      function nt(e, t, r) {
        const n = rt[r];
        return (
          !!n && !n.bDisableEnforceDimensions && e === n.width && t === n.height
        );
      }
      function it(e, t, r) {
        const n = rt[r];
        return (
          !!n &&
          (!!n.bDisableEnforceDimensions || !(e < n.width || t < n.height))
        );
      }
      function at(e, t) {
        return t.filter((t) =>
          (function (e, t) {
            return rt[t].rgAcceptableTypes.includes(e);
          })(e, t),
        );
      }
      var st = r(4082);
      class ot {
        constructor(e = 0, t, r, n) {
          e instanceof ot
            ? (this.m_ulSteamID = e.m_ulSteamID)
            : "string" == typeof e
              ? (this.m_ulSteamID = st.Z.fromString(e, !0))
              : t && r && void 0 !== n
                ? this.SetFromComponents(e, n, r, t)
                : (this.m_ulSteamID = e ? st.Z.fromNumber(e, !0) : st.Z.UZERO);
        }
        static InitFromAccountID(e) {
          return new ot(Number(e), w.EUNIVERSE, 1, 1);
        }
        static InitFromClanID(e) {
          return new ot(Number(e), w.EUNIVERSE, 7, 0);
        }
        GetAccountID() {
          return this.m_ulSteamID.getLowBitsUnsigned();
        }
        GetInstance() {
          return 1048575 & this.m_ulSteamID.getHighBitsUnsigned();
        }
        GetAccountType() {
          return (this.m_ulSteamID.getHighBitsUnsigned() >> 20) & 15;
        }
        GetUniverse() {
          return (this.m_ulSteamID.getHighBitsUnsigned() >> 24) & 255;
        }
        ConvertTo64BitString() {
          return this.m_ulSteamID.toString();
        }
        Render() {
          switch (this.GetAccountType()) {
            case 0:
              return (
                "[I:" + this.GetUniverse() + ":" + this.GetAccountID() + "]"
              );
            case 7:
              return (
                "[g:" + this.GetUniverse() + ":" + this.GetAccountID() + "]"
              );
            case 4:
              return (
                "[A:" +
                this.GetUniverse() +
                ":" +
                this.GetAccountID() +
                ":" +
                this.GetInstance() +
                "]"
              );
            case 3:
              return (
                "[G:" + this.GetUniverse() + ":" + this.GetAccountID() + "]"
              );
            case 2:
              return (
                "[M:" +
                this.GetUniverse() +
                ":" +
                this.GetAccountID() +
                ":" +
                this.GetInstance() +
                "]"
              );
            case 5:
              return (
                "[P:" + this.GetUniverse() + ":" + this.GetAccountID() + "]"
              );
            case 6:
              return (
                "[C:" + this.GetUniverse() + ":" + this.GetAccountID() + "]"
              );
            default:
              return (
                "[U:" + this.GetUniverse() + ":" + this.GetAccountID() + "]"
              );
          }
        }
        static InitFromString(e) {
          let t = new ot();
          try {
            let [r, n, i, a, s] =
                e.match(/\[([I|g|A|G|M|P|C|U]):(\d+):(\d+):?(\d+)?\]/) || [],
              o = Number(i),
              l = Number(a),
              c = s ? Number(s) : 1;
            switch (n) {
              case "I":
                t.SetFromComponents(l, c, 0, o);
              case "g":
                t.SetFromComponents(l, 0, 7, o);
              case "A":
                t.SetFromComponents(l, c, 4, o);
              case "G":
                t.SetFromComponents(l, c, 3, o);
              case "M":
                t.SetFromComponents(l, c, 2, o);
              case "P":
                t.SetFromComponents(l, c, 5, o);
              case "C":
                t.SetFromComponents(l, c, 6, o);
              case "U":
                t.SetFromComponents(l, c, 1, o);
            }
          } catch (e) {}
          return t;
        }
        BIsValid() {
          let e = this.GetAccountType();
          if (e <= 0 || e >= 11) return !1;
          let t = this.GetUniverse();
          if (t <= 0 || t >= 5) return !1;
          if (1 == e) {
            if (0 == this.GetAccountID() || this.GetInstance() > 4) return !1;
          } else if (7 == e) {
            if (0 == this.GetAccountID() || 0 != this.GetInstance()) return !1;
          } else if (3 == e && 0 == this.GetAccountID()) return !1;
          return !0;
        }
        BIsIndividualAccount() {
          return 1 == this.GetAccountType();
        }
        BIsClanAccount() {
          return 7 == this.GetAccountType();
        }
        SetAccountID(e) {
          this.m_ulSteamID = new st.Z(
            e,
            this.m_ulSteamID.getHighBitsUnsigned(),
            !0,
          );
        }
        SetInstance(e) {
          this.SetFromComponents(
            this.GetAccountID(),
            e,
            this.GetAccountType(),
            this.GetUniverse(),
          );
        }
        SetAccountType(e) {
          this.SetFromComponents(
            this.GetAccountID(),
            this.GetInstance(),
            e,
            this.GetUniverse(),
          );
        }
        SetUniverse(e) {
          this.SetFromComponents(
            this.GetAccountID(),
            this.GetInstance(),
            this.GetAccountType(),
            e,
          );
        }
        SetFromComponents(e, t, r, n) {
          let i = ((255 & n) << 24) + ((15 & r) << 20) + (1048575 & t),
            a = 4294967295 & e;
          this.m_ulSteamID = new st.Z(a, i, !0);
        }
      }
      var lt = r(2739);
      lt.Message;
      const ct = lt.BinaryReader.prototype,
        ut = lt.BinaryWriter.prototype;
      function dt(e) {
        const t = {},
          { fields: r } = e;
        for (const e in r) {
          const n = r[e];
          t[n.n] = n;
        }
        return t;
      }
      function mt(e, t) {
        const { proto: r, fields: n } = e,
          i = new r();
        if (null == t) return i;
        for (const e in n) {
          const { n: r, c: a, r: s, d: o, q: l } = n[e];
          if (!Object.prototype.hasOwnProperty.call(t, e)) continue;
          const c = t[e];
          a
            ? s
              ? lt.Message.setRepeatedWrapperField(
                  i,
                  r,
                  Array.isArray(c) ? c.map((e) => a.fromObject(e)) : [],
                )
              : lt.Message.setWrapperField(i, r, a.fromObject(c))
            : lt.Message.setField(i, r, c);
        }
        return i;
      }
      function _t(e, t, r) {
        const { proto: n, fields: i } = e,
          a = {};
        for (const e in i) {
          const { n, c: s, r: o, d: l, q: c } = i[e];
          if (s)
            if (o)
              a[e] = lt.Message.toObjectList(
                lt.Message.getRepeatedWrapperField(r, s, n),
                s.toObject,
                t,
              );
            else {
              const i = lt.Message.getWrapperField(r, s, n, c ? 1 : 0);
              i && (a[e] = s.toObject(t, i));
            }
          else {
            const t = lt.Message.getFieldWithDefault(
              r,
              n,
              void 0 !== l ? l : null,
            );
            (null !== t || c) && (a[e] = t);
          }
        }
        return t && (a.$jspbMessageInstance = r), a;
      }
      function ht(e, t, r) {
        for (; r.nextField() && !r.isEndGroup(); ) {
          const n = e[r.getFieldNumber()];
          if (n) {
            const { n: e, c: i, r: a, d: s, q: o, br: l } = n;
            if (i) {
              const n = new i();
              r.readMessage(n, i.deserializeBinaryFromReader),
                a
                  ? lt.Message.addToRepeatedWrapperField(t, e, n, i)
                  : lt.Message.setWrapperField(t, e, n);
            } else if (l) {
              const n = l.call(r);
              a
                ? lt.Message.addToRepeatedField(t, e, n)
                : lt.Message.setField(t, e, n);
            } else
              console.assert(
                !!l,
                `Reader func not set for field number ${e} in class ${i}`,
              ),
                r.skipField();
          } else r.skipField();
        }
        return t;
      }
      function pt(e, t, r) {
        const { fields: n } = e;
        for (const e in n) {
          const { n: i, c: a, r: s, d: o, q: l, bw: c } = n[e];
          if (a)
            if (s) {
              const e = lt.Message.getRepeatedWrapperField(t, a, i);
              ((e && e.length) || l) &&
                r.writeRepeatedMessage(i, e, a.serializeBinaryToWriter);
            } else {
              const e = lt.Message.getWrapperField(t, a, i, l ? 1 : 0);
              e && r.writeMessage(i, e, a.serializeBinaryToWriter);
            }
          else if (c) {
            const e = lt.Message.getField(t, i);
            void 0 !== e && c.call(r, i, e);
          } else
            console.assert(
              !!c,
              `Writer func not set for field number ${i} in class ${a}`,
            );
        }
      }
      function gt(e) {
        const t = e.proto;
        for (const r in e.fields) {
          const n = e.fields[r],
            { n: i, c: a, r: s, d: o, q: l } = n;
          Object.prototype.hasOwnProperty.call(n, "d")
            ? (t.prototype[r] = bt(lt.Message.getFieldWithDefault, i, o))
            : (t.prototype[r] = a
                ? s
                  ? bt(lt.Message.getRepeatedWrapperField, a, i)
                  : ft(a, i)
                : bt(lt.Message.getField, i)),
            (t.prototype[`set_${r}`] = vt(
              a
                ? s
                  ? lt.Message.setRepeatedWrapperField
                  : lt.Message.setWrapperField
                : lt.Message.setField,
              i,
            )),
            s && (t.prototype[`add_${r}`] = yt(i, a));
        }
      }
      function bt(e, ...t) {
        return function () {
          return e(this, ...t);
        };
      }
      function ft(e, t) {
        return function (r = !0) {
          return lt.Message.getWrapperField(this, e, t, r ? 1 : 0);
        };
      }
      function vt(e, t) {
        return function (r) {
          return e(this, t, r);
        };
      }
      function yt(e, t) {
        return t
          ? function (r, n) {
              return lt.Message.addToRepeatedWrapperField(this, e, r, t, n);
            }
          : function (t, r) {
              lt.Message.addToRepeatedField(this, e, t, r);
            };
      }
      const St = lt.Message;
      class wt extends St {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            wt.prototype.v4 || gt(wt.M()),
            St.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            wt.sm_m ||
              (wt.sm_m = {
                proto: wt,
                fields: {
                  v4: { n: 1, br: ct.readFixed32, bw: ut.writeFixed32 },
                  v6: { n: 2, br: ct.readBytes, bw: ut.writeBytes },
                },
              }),
            wt.sm_m
          );
        }
        static MBF() {
          return wt.sm_mbf || (wt.sm_mbf = dt(wt.M())), wt.sm_mbf;
        }
        toObject(e = !1) {
          return wt.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(wt.M(), e, t);
        }
        static fromObject(e) {
          return mt(wt.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new wt();
          return wt.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(wt.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return wt.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(wt.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return wt.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CMsgIPAddress";
        }
      }
      class Ct extends St {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Ct.prototype.dst_gcid_queue || gt(Ct.M()),
            St.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Ct.sm_m ||
              (Ct.sm_m = {
                proto: Ct,
                fields: {
                  dst_gcid_queue: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  dst_gc_dir_index: {
                    n: 2,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            Ct.sm_m
          );
        }
        static MBF() {
          return Ct.sm_mbf || (Ct.sm_mbf = dt(Ct.M())), Ct.sm_mbf;
        }
        toObject(e = !1) {
          return Ct.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Ct.M(), e, t);
        }
        static fromObject(e) {
          return mt(Ct.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Ct();
          return Ct.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Ct.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Ct.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Ct.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Ct.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CMsgGCRoutingProtoBufHeader";
        }
      }
      class Bt extends St {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Bt.prototype.steamid || gt(Bt.M()),
            St.initialize(this, e, 0, -1, [27, 41], null);
        }
        static M() {
          return (
            Bt.sm_m ||
              (Bt.sm_m = {
                proto: Bt,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  client_sessionid: {
                    n: 2,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  routing_appid: {
                    n: 3,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  jobid_source: {
                    n: 10,
                    d: "18446744073709551615",
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  jobid_target: {
                    n: 11,
                    d: "18446744073709551615",
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  target_job_name: {
                    n: 12,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  seq_num: { n: 24, br: ct.readInt32, bw: ut.writeInt32 },
                  eresult: { n: 13, d: 2, br: ct.readInt32, bw: ut.writeInt32 },
                  error_message: {
                    n: 14,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  ip: { n: 15, br: ct.readUint32, bw: ut.writeUint32 },
                  ip_v6: { n: 29, br: ct.readBytes, bw: ut.writeBytes },
                  auth_account_flags: {
                    n: 16,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  token_source: {
                    n: 22,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  admin_spoofing_user: {
                    n: 23,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  transport_error: {
                    n: 17,
                    d: 1,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  messageid: {
                    n: 18,
                    d: "18446744073709551615",
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  publisher_group_id: {
                    n: 19,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  sysid: { n: 20, br: ct.readUint32, bw: ut.writeUint32 },
                  trace_tag: {
                    n: 21,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  webapi_key_id: {
                    n: 25,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  is_from_external_source: {
                    n: 26,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  forward_to_sysid: {
                    n: 27,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                  cm_sysid: { n: 28, br: ct.readUint32, bw: ut.writeUint32 },
                  launcher_type: {
                    n: 31,
                    d: 0,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  realm: { n: 32, d: 0, br: ct.readUint32, bw: ut.writeUint32 },
                  timeout_ms: {
                    n: 33,
                    d: -1,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  debug_source: {
                    n: 34,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  debug_source_string_index: {
                    n: 35,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  token_id: {
                    n: 36,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  routing_gc: { n: 37, c: Ct },
                  session_disposition: {
                    n: 38,
                    d: 0,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                  wg_token: { n: 39, br: ct.readString, bw: ut.writeString },
                  webui_auth_key: {
                    n: 40,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  exclude_client_sessionids: {
                    n: 41,
                    r: !0,
                    q: !0,
                    br: ct.readInt32,
                    pbr: ct.readPackedInt32,
                    bw: ut.writeRepeatedInt32,
                  },
                },
              }),
            Bt.sm_m
          );
        }
        static MBF() {
          return Bt.sm_mbf || (Bt.sm_mbf = dt(Bt.M())), Bt.sm_mbf;
        }
        toObject(e = !1) {
          return Bt.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Bt.M(), e, t);
        }
        static fromObject(e) {
          return mt(Bt.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Bt();
          return Bt.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Bt.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Bt.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Bt.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Bt.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CMsgProtoBufHeader";
        }
      }
      class Et extends St {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Et.prototype.appid || gt(Et.M()),
            St.initialize(this, e, 0, -1, [17], null);
        }
        static M() {
          return (
            Et.sm_m ||
              (Et.sm_m = {
                proto: Et,
                fields: {
                  appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  name: { n: 2, br: ct.readString, bw: ut.writeString },
                  icon: { n: 3, br: ct.readString, bw: ut.writeString },
                  tool: { n: 6, br: ct.readBool, bw: ut.writeBool },
                  demo: { n: 7, br: ct.readBool, bw: ut.writeBool },
                  media: { n: 8, br: ct.readBool, bw: ut.writeBool },
                  community_visible_stats: {
                    n: 9,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  friendly_name: {
                    n: 10,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  propagation: { n: 11, br: ct.readString, bw: ut.writeString },
                  has_adult_content: {
                    n: 12,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  is_visible_in_steam_china: {
                    n: 13,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  app_type: { n: 14, br: ct.readUint32, bw: ut.writeUint32 },
                  has_adult_content_sex: {
                    n: 15,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  has_adult_content_violence: {
                    n: 16,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  content_descriptorids: {
                    n: 17,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                },
              }),
            Et.sm_m
          );
        }
        static MBF() {
          return Et.sm_mbf || (Et.sm_mbf = dt(Et.M())), Et.sm_mbf;
        }
        toObject(e = !1) {
          return Et.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Et.M(), e, t);
        }
        static fromObject(e) {
          return mt(Et.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Et();
          return Et.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Et.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Et.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Et.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Et.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCDDBAppDetailCommon";
        }
      }
      class It extends St {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            It.prototype.clanid || gt(It.M()),
            St.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            It.sm_m ||
              (It.sm_m = {
                proto: It,
                fields: {
                  clanid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  event_gid: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  announcement_gid: {
                    n: 3,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  rtime_start: { n: 4, br: ct.readUint32, bw: ut.writeUint32 },
                  rtime_end: { n: 5, br: ct.readUint32, bw: ut.writeUint32 },
                  priority_score: {
                    n: 6,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  type: { n: 7, br: ct.readUint32, bw: ut.writeUint32 },
                  clamp_range_slot: {
                    n: 8,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  appid: { n: 9, br: ct.readUint32, bw: ut.writeUint32 },
                  rtime32_last_modified: {
                    n: 10,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            It.sm_m
          );
        }
        static MBF() {
          return It.sm_mbf || (It.sm_mbf = dt(It.M())), It.sm_mbf;
        }
        toObject(e = !1) {
          return It.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(It.M(), e, t);
        }
        static fromObject(e) {
          return mt(It.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new It();
          return It.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(It.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return It.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(It.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return It.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CClanEventUserNewsTuple";
        }
      }
      class Rt extends St {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Rt.prototype.rtime_before || gt(Rt.M()),
            St.initialize(this, e, 0, -1, [4], null);
        }
        static M() {
          return (
            Rt.sm_m ||
              (Rt.sm_m = {
                proto: Rt,
                fields: {
                  rtime_before: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  rtime_after: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  qualified: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  events: { n: 4, c: It, r: !0, q: !0 },
                },
              }),
            Rt.sm_m
          );
        }
        static MBF() {
          return Rt.sm_mbf || (Rt.sm_mbf = dt(Rt.M())), Rt.sm_mbf;
        }
        toObject(e = !1) {
          return Rt.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Rt.M(), e, t);
        }
        static fromObject(e) {
          return mt(Rt.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Rt();
          return Rt.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Rt.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Rt.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Rt.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Rt.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CClanMatchEventByRange";
        }
      }
      class Tt {
        constructor(e, t = 0, r) {
          (this.m_nOffset = t || 0),
            e instanceof Uint8Array || e instanceof DataView
              ? ((this.m_nLength = r || e.byteLength - this.m_nOffset),
                (this.m_nOffset += e.byteOffset),
                (this.m_viewPacket = new DataView(
                  e.buffer,
                  this.m_nOffset,
                  this.m_nLength,
                )))
              : ((this.m_nLength = r || e.byteLength - this.m_nOffset),
                (this.m_viewPacket = new DataView(
                  e,
                  this.m_nOffset,
                  this.m_nLength,
                ))),
            (this.m_rgubPacket = new Uint8Array(
              this.m_viewPacket.buffer,
              this.m_viewPacket.byteOffset,
              this.m_viewPacket.byteLength,
            )),
            (this.m_iGet = 0),
            (this.m_iPut = 0);
        }
        TellGet() {
          return this.m_iGet + this.m_viewPacket.byteOffset;
        }
        GetPacket() {
          return this.m_viewPacket.buffer;
        }
        GetUint8() {
          return this.m_viewPacket.getUint8(this.m_iGet++);
        }
        GetUint32(e = !0) {
          const t = this.m_viewPacket.getUint32(this.m_iGet, e);
          return (this.m_iGet += 4), t;
        }
        SeekGetHead(e = 0) {
          this.m_iGet = e || 0;
        }
        SeekGetCurrent(e) {
          this.m_iGet += e;
        }
        TellPut() {
          return this.m_iPut + this.m_viewPacket.byteOffset;
        }
        TellMaxPut() {
          return this.m_viewPacket.byteLength;
        }
        PutUint8(e) {
          this.m_viewPacket.setUint8(this.m_iPut++, e);
        }
        PutUint32(e, t = !0) {
          this.m_viewPacket.setUint32(this.m_iPut, e, t), (this.m_iPut += 4);
        }
        PutBytes(e) {
          this.m_rgubPacket.set(e, this.m_iPut), (this.m_iPut += e.length);
        }
        SeekPut(e) {
          this.m_iPut += e;
        }
        GetCountBytesRemaining() {
          return this.m_viewPacket.byteLength - this.m_iGet;
        }
      }
      var Mt;
      !(function (e) {
        (e[(e.k_EAccountFlagNormalUser = 0)] = "k_EAccountFlagNormalUser"),
          (e[(e.k_EAccountFlagPersonaNameSet = 1)] =
            "k_EAccountFlagPersonaNameSet"),
          (e[(e.k_EAccountFlagUnbannable = 2)] = "k_EAccountFlagUnbannable"),
          (e[(e.k_EAccountFlagPasswordSet = 4)] = "k_EAccountFlagPasswordSet"),
          (e[(e.k_EAccountFlagSupport = 8)] = "k_EAccountFlagSupport"),
          (e[(e.k_EAccountFlagAdmin = 16)] = "k_EAccountFlagAdmin"),
          (e[(e.k_EAccountFlagSupervisor = 32)] = "k_EAccountFlagSupervisor"),
          (e[(e.k_EAccountFlagAppEditor = 64)] = "k_EAccountFlagAppEditor"),
          (e[(e.k_EAccountFlagHWIDSet = 128)] = "k_EAccountFlagHWIDSet"),
          (e[(e.k_EAccountFlagVacBeta = 512)] = "k_EAccountFlagVacBeta"),
          (e[(e.k_EAccountFlagDebug = 1024)] = "k_EAccountFlagDebug"),
          (e[(e.k_EAccountFlagDisabled = 2048)] = "k_EAccountFlagDisabled"),
          (e[(e.k_EAccountFlagLimitedUser = 4096)] =
            "k_EAccountFlagLimitedUser"),
          (e[(e.k_EAccountFlagLimitedUserForce = 8192)] =
            "k_EAccountFlagLimitedUserForce"),
          (e[(e.k_EAccountFlagEmailValidated = 16384)] =
            "k_EAccountFlagEmailValidated"),
          (e[(e.k_EAccountFlagForcePasswordChange = 131072)] =
            "k_EAccountFlagForcePasswordChange"),
          (e[(e.k_EAccountFlagLogonExtraSecurity = 524288)] =
            "k_EAccountFlagLogonExtraSecurity"),
          (e[(e.k_EAccountFlagLogonExtraSecurityDisabled = 1048576)] =
            "k_EAccountFlagLogonExtraSecurityDisabled"),
          (e[(e.k_EAccountFlagSteam2MigrationComplete = 2097152)] =
            "k_EAccountFlagSteam2MigrationComplete"),
          (e[(e.k_EAccountFlagNeedLogs = 4194304)] = "k_EAccountFlagNeedLogs"),
          (e[(e.k_EAccountFlagLockdown = 8388608)] = "k_EAccountFlagLockdown"),
          (e[(e.k_EAccountFlagMasterAppEditor = 16777216)] =
            "k_EAccountFlagMasterAppEditor"),
          (e[(e.k_EAccountFlagBannedFromWebAPI = 33554432)] =
            "k_EAccountFlagBannedFromWebAPI"),
          (e[(e.k_EAccountFlagPartnerMember = 67108864)] =
            "k_EAccountFlagPartnerMember"),
          (e[(e.k_EAccountFlagGlobalModerator = 134217728)] =
            "k_EAccountFlagGlobalModerator"),
          (e[(e.k_EAccountFlagParentalSettings = 268435456)] =
            "k_EAccountFlagParentalSettings"),
          (e[(e.k_EAccountFlagThirdPartySupport = 536870912)] =
            "k_EAccountFlagThirdPartySupport"),
          (e[(e.k_EAccountFlagNeedsSSANextSteamLogon = 1073741824)] =
            "k_EAccountFlagNeedsSSANextSteamLogon");
      })(Mt || (Mt = {}));
      class Dt {
        static InstallErrorReportingStore(e) {
          this.sm_ErrorReportingStore = e;
        }
        static InitHeaderFromPacket(e) {
          return new Dt(void 0, e);
        }
        constructor(e, t, r, n, i, a) {
          if (n)
            (this.m_eMsg = n.m_eMsg),
              (this.m_bValid = n.m_bValid),
              this.m_bValid &&
                ((this.m_netPacket = n.m_netPacket),
                (this.m_cubHeader = n.m_cubHeader),
                (this.m_header = n.m_header),
                this.InitForType(r));
          else {
            if (((this.m_header = new Bt(null)), (this.m_bValid = !0), t))
              if (
                ((this.m_netPacket = t),
                this.m_netPacket.SeekGetHead(),
                (this.m_eMsg = this.m_netPacket.GetUint32()),
                2147483648 & this.m_eMsg)
              ) {
                (this.m_eMsg = 2147483647 & this.m_eMsg),
                  (this.m_cubHeader = this.m_netPacket.GetUint32());
                try {
                  Bt.deserializeBinaryFromReader(
                    this.m_header,
                    new lt.BinaryReader(
                      this.m_netPacket.GetPacket(),
                      this.m_netPacket.TellGet(),
                      this.m_cubHeader,
                    ),
                  ),
                    this.m_netPacket.SeekGetCurrent(this.m_cubHeader),
                    r && this.InitForType(r);
                } catch (e) {
                  console.error("Exception deserializing protobuf", e),
                    (this.m_bValid = !1);
                }
              } else this.m_bValid = !1;
            else
              e && (this.m_eMsg = e),
                a && r
                  ? (this.m_body = r.fromObject(a))
                  : r && (this.m_body = new r());
            i && this.m_header.set_jobid_target(i.Hdr().jobid_target());
          }
        }
        InitForType(e) {
          if (((this.m_body = new e()), this.m_netPacket)) {
            this.m_netPacket.SeekGetHead(8 + this.m_cubHeader);
            try {
              e.deserializeBinaryFromReader(
                this.m_body,
                new lt.BinaryReader(
                  this.m_netPacket.GetPacket(),
                  this.m_netPacket.TellGet(),
                  this.m_netPacket.GetCountBytesRemaining(),
                ),
              );
            } catch (e) {
              this.m_bValid = !1;
              const t = Dt.sm_ErrorReportingStore,
                r = `Exception parsing protobuf message body of type ${this.m_eMsg}.  Definitions may be out of sync with server version.`;
              t &&
                t.ReportError(new Error(r), {
                  bIncludeMessageInIdentifier: !0,
                }),
                console.warn(r),
                console.log(e.stack || e);
            }
          }
        }
        BIsValid() {
          return this.m_bValid;
        }
        Body() {
          return this.m_body;
        }
        SetBodyJSON(e) {
          (e.toObject = () => e), (this.m_body = e);
        }
        Hdr() {
          return this.m_header;
        }
        GetEMsg() {
          return this.m_eMsg;
        }
        SetEMsg(e) {
          this.m_eMsg = e;
        }
        GetEResult() {
          return this.Hdr().eresult();
        }
        BSuccess() {
          return 1 == this.Hdr().eresult();
        }
        GetErrorMessage() {
          return this.Hdr().error_message()
            ? this.Hdr().error_message()
            : `eresult ${this.Hdr().eresult()}`;
        }
        Serialize() {
          const e = this.m_header.serializeBinary(),
            t = this.m_body.serializeBinary(),
            r = 2147483648 | this.m_eMsg,
            n = new Uint8Array(8 + e.length + t.length),
            i = new Tt(n);
          return (
            i.PutUint32(r),
            i.PutUint32(e.length),
            i.PutBytes(e),
            i.PutBytes(t),
            n
          );
        }
        SerializeBody() {
          const e = this.m_body.serializeBinary(),
            t = new Uint8Array(e.length);
          return new Tt(t).PutBytes(e), t;
        }
        DEBUG_ToObject() {
          return {};
        }
        DEBUG_LogToConsole() {
          0;
        }
      }
      class At extends Dt {
        constructor(e, t = 0, r, n, i) {
          super(t, r, e, n, void 0, i);
        }
        static InitFromPacket(e, t) {
          return new At(e, 0, t);
        }
        static InitFromMsg(e, t) {
          return new At(e, void 0, void 0, t);
        }
        static Init(e, t) {
          return new At(e, t);
        }
        static InitFromObject(e, t) {
          return new At(e, void 0, void 0, void 0, t);
        }
        Body() {
          return super.Body();
        }
        SetBodyFields(e) {
          for (const t in e)
            Array.isArray(e[t])
              ? this.Body()[`add_${t}`] &&
                e[t].forEach((e) => {
                  this.Body()[`add_${t}`](e);
                })
              : this.Body()[`set_${t}`] && this.Body()[`set_${t}`](e[t]);
        }
      }
      function Ot(e, t) {
        return t instanceof At ? t : At.InitFromObject(e, t);
      }
      function Ft(e) {
        if (Ze().isCancel(e))
          return { strErrorMsg: "Action Cancelled:" + e, errorCode: 52 };
        if (
          void 0 !== e.response &&
          e.response.data &&
          "object" == typeof e.response.data
        ) {
          if ("msg" in e.response.data)
            return {
              strErrorMsg: e.response.data.msg,
              errorCode: e.response.data.success,
            };
          if ("err_msg" in e.response.data)
            return {
              strErrorMsg: e.response.data.err_msg,
              errorCode: e.response.data.success,
            };
          if ("message" in e.response.data)
            return {
              strErrorMsg: e.response.data.message,
              errorCode: e.response.data.success,
            };
          if ("success" in e.response.data)
            return {
              strErrorMsg: "error code: " + e.response.data.success,
              errorCode: e.response.data.success,
            };
        } else if ("object" == typeof e.data) {
          if ("msg" in e.data)
            return { strErrorMsg: e.data.msg, errorCode: e.data.success };
          if ("err_msg" in e.data)
            return { strErrorMsg: e.data.err_msg, errorCode: e.data.success };
          if ("message" in e.data)
            return { strErrorMsg: e.data.message, errorCode: e.data.success };
          if ("success" in e.data)
            return {
              strErrorMsg: "error code: " + e.data.success,
              errorCode: e.data.success,
            };
        } else {
          if (void 0 !== e.success && void 0 !== e.msg)
            return { strErrorMsg: e.msg, errorCode: e.success };
          if (void 0 !== e.success && void 0 !== e.message)
            return { strErrorMsg: e.message, errorCode: e.success };
          if (void 0 !== e.success && void 0 !== e.err_msg)
            return { strErrorMsg: e.err_msg, errorCode: e.success };
          if ("string" == typeof e && e.length > 1024)
            console.groupCollapsed(
              "GetMsgAndErrorCodeFromResponse cannot parse: ",
            ),
              console.warn(e),
              console.groupEnd();
          else {
            if ("object" == typeof e && e instanceof At)
              return {
                strErrorMsg: "" + e.GetErrorMessage(),
                errorCode: e.GetEResult(),
              };
            console.warn("GetMsgAndErrorCodeFromResponse cannot parse: ", e);
          }
        }
        return "object" == typeof e && "status" in e
          ? {
              strErrorMsg: "Unknown Error: " + e + "\nStatus Code:" + e.status,
              errorCode: 2,
            }
          : { strErrorMsg: "Unknown Error: " + e, errorCode: 2 };
      }
      function Lt(e) {
        return null != e && void 0 !== e.focus;
      }
      function kt(e, t) {
        var r;
        let n = t;
        for (; n; ) {
          if (
            ((null === (r = n.parentNode) || void 0 === r
              ? void 0
              : r.nodeType) == Node.DOCUMENT_FRAGMENT_NODE &&
              (n = n.parentNode.host),
            n == e)
          )
            return !0;
          n = n.parentElement;
        }
        return !1;
      }
      function Nt(e, t) {
        return {
          top: e.screenTop + t.top,
          bottom: e.screenTop + t.bottom,
          left: e.screenLeft + t.left,
          right: e.screenLeft + t.right,
        };
      }
      function Pt(e) {
        let t;
        return e && (t = e.ownerDocument.defaultView), t;
      }
      function Gt(e, t) {
        const r = e;
        return (
          (r.lastModifiedDate = new Date()),
          (r.name = t || Date.now().toString()),
          e
        );
      }
      function xt(e, t) {
        let r = null == e ? void 0 : e.parentElement;
        for (; r; ) {
          if (!t || "x" == t) {
            const e = window.getComputedStyle(r);
            if (
              "scroll" == e.overflowX ||
              "auto" == e.overflowX ||
              "fixed" == e.position
            )
              break;
          }
          if (!t || "y" == t) {
            const e = window.getComputedStyle(r);
            if (
              "scroll" == e.overflowY ||
              "auto" == e.overflowY ||
              "fixed" == e.position
            )
              break;
          }
          r = r.parentElement;
        }
        return r;
      }
      function Ut(e, t) {
        if (!("ownerDocument" in e)) return !0;
        const r = e.ownerDocument.defaultView.getComputedStyle(e),
          n = "x" === t ? r.overflowX : r.overflowY;
        return "auto" === n || "scroll" === n;
      }
      function zt() {
        return (function (e) {
          const t = {};
          return (
            e.querySelectorAll('link[rel="stylesheet"]').forEach((e) => {
              t[e.href] = e;
            }),
            t
          );
        })(document);
      }
      function Wt(e, t, r) {
        var n;
        const i = Object.assign({}, t),
          a = e.getElementsByTagName("head")[0],
          s = a.getElementsByTagName("link"),
          o = s.length;
        for (let e = 0; e < o; ++e) {
          const t = s[e];
          i[t.href]
            ? delete i[t.href]
            : r &&
              (null === (n = t.parentNode) || void 0 === n || n.removeChild(t));
        }
        const l = [];
        for (const t in i) {
          const r = i[t],
            n = e.createElement("link");
          for (let e = 0; e < r.attributes.length; e++) {
            const t = r.attributes.item(e);
            n.setAttribute(t.name, t.value);
          }
          l.push(n);
        }
        return a.prepend(...l), l;
      }
      function jt(e, t) {
        let r = null != e ? e : null;
        for (; r && !r.contains(t); ) r = r.parentElement;
        return r;
      }
      class Vt {
        constructor(e, t, r, n, i, a) {
          if (
            ((this.dataUrl = void 0),
            (this.width = void 0),
            (this.height = void 0),
            (this.type = void 0),
            (this.status = void 0),
            (this.message = void 0),
            (this.fileType = 0),
            (0, Je.rC)(this),
            (this.file = e),
            (this.fileType = Cr.GetExtensionTypeFromURL(e.name)),
            (this.language = t),
            (this.uploadTime = Date.now()),
            (this.status = "pending"),
            r)
          ) {
            const e = at(this.fileType, r);
            let t = wr(i, a, e, !1);
            void 0 === t && (t = wr(i, a, e, !0)), (this.type = t || r[0]);
          }
          (this.height = a), (this.width = i), (this.dataUrl = n);
        }
        IsValidAssetType(e, t, r) {
          let n = 0,
            i = 0,
            a = !1,
            s = !e || 0 === e.length || e.includes(this.type);
          if (t) (n = t.width), (i = t.height), (a = !0);
          else if (this.type) {
            const e = rt[this.type];
            e &&
              ((n = e.width),
              (i = e.height),
              (a = !e.bDisableEnforceDimensions));
          }
          const o = this.width >= n && this.height >= i,
            l = a ? this.width === n && this.height === i : o,
            c = r && r != this.fileType,
            u = !!(e && e.length > 0) && 0 == at(this.fileType, e || []).length,
            d = Boolean(qt(this.fileType));
          let m = "",
            _ = !1;
          return (
            s
              ? u
                ? (m = We("#ImageUpload_InvalidFileType"))
                : c
                  ? (m = We(
                      "#ImageUpload_InvalidFormat",
                      Cr.GetExtensionStringForFileType(r),
                    ))
                  : l || d
                    ? o
                      ? !l &&
                        d &&
                        ((m = We("#ImageUpload_InvalidDimensions", n, i)),
                        (_ = !0))
                      : (m = We("#ImageUpload_TooSmall", n, i))
                    : (m = We("#ImageUpload_InvalidResolution", n, i))
              : (m = We("#ImageUpload_InvalidFormatSelected")),
            { error: m, needsCrop: _ }
          );
        }
      }
      (0, i.gn)([Je.LO], Vt.prototype, "dataUrl", void 0),
        (0, i.gn)([Je.LO], Vt.prototype, "width", void 0),
        (0, i.gn)([Je.LO], Vt.prototype, "height", void 0),
        (0, i.gn)([Je.LO], Vt.prototype, "type", void 0),
        (0, i.gn)([Je.LO], Vt.prototype, "status", void 0),
        (0, i.gn)([Je.LO], Vt.prototype, "message", void 0);
      class Ht extends Vt {
        constructor(e, t, r, n, i) {
          super(e, t, n, r.src, r.width, r.height),
            (this.bCropped = !1),
            (0, Je.rC)(this),
            (this.img = r),
            (this.localizedImageGroupPrimaryImage = i);
        }
        ResetImage() {
          (this.height = this.img.height),
            (this.width = this.img.width),
            (this.dataUrl = this.img.src);
        }
        CropImage(e, t, r, n, a, s, o) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return new Promise((i, l) => {
              const c = qt(o);
              if (!c) return void l("Invalid format provided");
              const u = document.createElement("canvas");
              (u.width = a), (u.height = s);
              u.getContext("2d").drawImage(this.img, e, t, r, n, 0, 0, a, s),
                u.toBlob((e) => {
                  const t = u.toDataURL(c);
                  3 !== o && t.startsWith("data:image/png")
                    ? l("Unable to encode into the requested file format")
                    : ((this.file = Gt(e, this.file.name)),
                      (this.width = a),
                      (this.height = s),
                      (this.dataUrl = t),
                      (this.uploadTime = Date.now()),
                      (this.bCropped = !0),
                      i());
                });
            });
          });
        }
        BIsOriginalMinimumDimensions(e) {
          return it(this.img.width, this.img.height, e);
        }
        GetResizeDimension() {
          return (function (e) {
            if ("background" === e)
              return [
                { width: 960, height: 311 },
                { width: 480, height: 156 },
              ];
            if ("capsule" === e)
              return [{ width: rt[e].width / 2, height: rt[e].height / 2 }];
            if ("spotlight" === e)
              return [{ width: rt[e].width / 2, height: rt[e].height / 2 }];
            return;
          })(this.type);
        }
      }
      function qt(e) {
        switch (e) {
          case 3:
            return "image/png";
          case 1:
            return "image/jpeg";
        }
      }
      function Kt(e, t, r) {
        if (((null != e && null != e) || (e = t), !r || 0 === r.length))
          return e;
        for (const t of r) if (ze.IsELanguageValidInRealm(e, t)) return e;
        for (const e of r) if (ze.IsELanguageValidInRealm(t, e)) return t;
        return r.includes(n.k_ESteamRealmGlobal) ? 0 : 29;
      }
      (0, i.gn)([Je.LO], Ht.prototype, "bCropped", void 0);
      class $t {
        constructor(e) {
          (this.m_filesToUpload = Je.LO.array()),
            (this.m_filesCompleted = []),
            (this.m_allCancelTokens = new Array()),
            (this.m_lastError = void 0),
            (this.m_fnSetImageURL = null),
            (0, Je.rC)(this),
            (this.m_clanSteamID = e);
        }
        GetClanSteamID() {
          return this.m_clanSteamID;
        }
        SetImageAllUrlFunction(e) {
          this.m_fnSetImageURL = e;
        }
        AddImage(e, t = 0, r, n) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const i = (function (e, t = 0) {
              let r = e.lastIndexOf(".");
              -1 != r && (e = e.slice(0, r).toLowerCase());
              let n = null,
                i = 0;
              e.endsWith("korean") && ((n = 4), (i = 6));
              for (let t = 0; t < 31; ++t) {
                const r = ee(t);
                r.length <= i || (e.endsWith(r) && ((n = t), (i = r.length)));
              }
              return n || t;
            })(e.name, t);
            return this.AddImageForLanguage(e, i, r, n);
          });
        }
        AddImageForLanguage(e, t, r, n) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = !1;
            return (
              yield new Promise((a) => {
                const s = new FileReader();
                (s.onload = () => {
                  const o = new Image();
                  (o.onload = () => {
                    const s = new Ht(e, t, o, r, n);
                    (this.m_filesToUpload = [...this.m_filesToUpload, s]),
                      (i = !0),
                      a();
                  }),
                    (o.onerror = (e) => {
                      console.error(
                        "CClanImageUploader failed to load the image, details",
                        e,
                      ),
                        (i = !1),
                        a();
                    }),
                    (o.src = s.result.toString());
                }),
                  s.readAsDataURL(e);
              }),
              i
            );
          });
        }
        AddExistingClanImage(e, t = 0, r, n) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = Cr.GetHashAndExt(e),
              a = Cr.GenerateEditableArtworkURLFromHashAndExtension(
                this.m_clanSteamID,
                i,
              ),
              s = Gt(
                (yield Ze()({ url: a, method: "GET", responseType: "blob" }))
                  .data,
                e.file_name,
              );
            return yield this.AddImage(s, t, r, n);
          });
        }
        DeleteUploadImageByIndex(e) {
          this.m_filesToUpload.splice(e, 1),
            (this.m_filesToUpload = [...this.m_filesToUpload]);
        }
        DeleteUploadImage(e) {
          let t = this.m_filesToUpload.findIndex(
            (t) => e.file == t.file && e.uploadTime == t.uploadTime,
          );
          t >= 0 && this.DeleteUploadImageByIndex(t);
        }
        ClearImages() {
          this.m_filesToUpload = Je.LO.array();
        }
        GetFilesUploaded() {
          return this.m_filesCompleted;
        }
        GetLastErrorFile() {
          return this.m_lastError;
        }
        GetCompletedFiles() {
          return this.m_filesCompleted.length;
        }
        GetTotalFiles() {
          return this.m_filesToUpload.length;
        }
        GetFilesToUpload() {
          return this.m_filesToUpload.map((e) => e.file);
        }
        GetUploadImages() {
          return this.m_filesToUpload;
        }
        BHasError() {
          return null != this.m_lastError;
        }
        BAllDone() {
          return (
            this.m_filesCompleted.length > 0 &&
            this.m_filesCompleted.length == this.m_filesToUpload.length
          );
        }
        BIsFileCompleted(e) {
          return -1 != this.m_filesCompleted.indexOf(e);
        }
        UploadAllImages(e, t, r, n, a) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const s = {};
            for (let e of this.m_filesToUpload)
              if (!this.BIsFileCompleted(e.file)) {
                const t = e.IsValidAssetType(r, n, a);
                if (t.error || t.needsCrop)
                  t.error &&
                    (this.m_lastError = {
                      file: e.file,
                      message: t.error,
                      status: 401,
                    });
                else {
                  e.status = "uploading";
                  s[`${e.uploadTime}/${e.file.name}`] = this.UploadFile(
                    e.file,
                    e.file.name,
                    e.GetResizeDimension(),
                    e.localizedImageGroupPrimaryImage,
                    e.language,
                  );
                }
              }
            const o = yield (function (e) {
              return (0, i.mG)(this, void 0, void 0, function* () {
                const t = [],
                  r = Object.keys(e);
                return (
                  r.forEach((r) => t.push(e[r])),
                  (yield Promise.all(t)).reduce(
                    (e, t, n) => ((e[r[n]] = t), e),
                    {},
                  )
                );
              });
            })(s);
            return (
              Object.keys(o).forEach((r) => {
                const n = o[r],
                  i = this.m_filesToUpload.find(
                    (e) => `${e.uploadTime}/${e.file.name}` === r,
                  );
                if (i)
                  if (1 !== n.success)
                    (i.status = "failed"), (i.message = n.message);
                  else if (((i.status = "success"), this.m_fnSetImageURL))
                    if (n.origimagehash) {
                      const r = Kt(n.language, t, e);
                      Br.AddLocalizeImageUploaded(n.origimagehash, r);
                    } else {
                      const r = Br.GetClanImageByImageHash(
                        this.m_clanSteamID,
                        n.image_hash,
                      );
                      if (r) {
                        const n = Kt(i.language, t, e);
                        this.m_fnSetImageURL(i.type, r, n);
                      }
                    }
              }),
              o
            );
          });
        }
        CancelAllUploads() {
          for (let e of this.m_allCancelTokens)
            e.cancel(We("#ImageUpload_CancelRequest"));
          this.m_allCancelTokens = new Array();
        }
        RetryAllFailedUploads() {
          this.CancelAllUploads(),
            this.UploadAllImages([n.k_ESteamRealmGlobal], 0);
        }
        handleUploadRefresh(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            yield Br.LoadClanImages(this.m_clanSteamID, !0, e);
          });
        }
        UploadFile(e, t, r, n, a) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = null;
            const s = new FormData();
            s.append("clanimage", e, t),
              s.append("sessionid", w.SESSIONID),
              r &&
                r.length > 0 &&
                s.append(
                  "resize",
                  r.map((e) => e.width + "x" + e.height).join(","),
                );
            let o = "/uploadimage/";
            n &&
              ((o = "/ajaxuploadlocalizedimage/"),
              s.append("origimagehash", n.image_hash),
              s.append("thumbhash", n.thumbnail_hash),
              s.append("extension", "" + n.file_type),
              s.append("language", "" + a));
            const l = Ze().CancelToken.source();
            this.m_allCancelTokens.push(l);
            let c =
                w.COMMUNITY_BASE_URL +
                "/gid/" +
                this.m_clanSteamID.ConvertTo64BitString() +
                o,
              u = {
                cancelToken: l.token,
                withCredentials: !0,
                headers: { "Content-Type": "multipart/form-data" },
              };
            try {
              (i = yield Ze().post(c, s, u)), this.m_filesCompleted.push(e);
            } catch (t) {
              (this.m_lastError = {
                file: e,
                status: t.response ? t.response.status : 500,
                message: Ft(t).strErrorMsg,
              }),
                (i = t.response);
            }
            return n || (yield this.handleUploadRefresh(l)), i.data;
          });
        }
        static SendResizeRequest(e, t, r, n, a) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i =
                w.COMMUNITY_BASE_URL +
                "/gid/" +
                t.ConvertTo64BitString() +
                "/resizeimage/",
              s = new FormData();
            return (
              s.append("imagehash", r),
              s.append("extension", n),
              s.append(
                "resize",
                a.map((e) => e.width + "x" + e.height).join(","),
              ),
              s.append("sessionid", w.SESSIONID),
              (yield Ze().post(i, s, { cancelToken: e.token })).data.count
            );
          });
        }
      }
      function Yt(e) {
        const t = s.useRef(Ze().CancelToken.source());
        return (
          s.useEffect(() => {
            const r = t.current;
            return () => r.cancel(e ? `${e}: unmounting` : "unmounting");
          }, [e]),
          t.current
        );
      }
      function Qt(e, t) {
        null != e &&
          ("function" == typeof e ? e(t) : "current" in e && (e.current = t));
      }
      function Xt(...e) {
        return s.useCallback((t) => {
          for (const r of e) Qt(r, t);
        }, e);
      }
      function Zt(...e) {
        if (e && 0 !== e.length)
          return 1 === e.length
            ? e[0]
            : (t) =>
                e.forEach((e) => {
                  e && ("function" == typeof e ? e(t) : (e.current = t));
                });
      }
      function Jt(e, t) {
        const r = s.useRef();
        return s.useCallback((t) => {
          r.current && r.current(), (r.current = e(t));
        }, t);
      }
      function er(e) {
        const t = s.useRef(null);
        return { refWithValue: t, refForElement: Xt(e, t) };
      }
      function tr() {
        const [, e] = s.useState(0);
        return s.useCallback(() => e((e) => e + 1), []);
      }
      function rr(e) {
        let t = 1,
          r = e;
        for (; null != r && "HTML" != r.tagName; ) {
          const e = getComputedStyle(r);
          if (e.zoom) {
            const r = Number.parseFloat(e.zoom);
            isNaN(r) || (t *= r);
          }
          r = r.parentElement;
        }
        return t;
      }
      function nr(e, t, r) {
        const n = s.useRef();
        n.current = r;
        const i = s.useRef(),
          a = s.useCallback(() => {
            var e;
            null === (e = i.current) || void 0 === e || e.call(i),
              (i.current = void 0);
          }, []),
          o = s.useCallback(
            (r) => {
              a(),
                r &&
                  (r.addEventListener(e, t, n.current),
                  (i.current = () => r.removeEventListener(e, t)));
            },
            [e, t, a],
          );
        return s.useEffect(() => a, [a]), o;
      }
      function ir(e, t, r, n) {
        s.useEffect(() => {
          if (e && r)
            return (
              e.addEventListener(t, r, n), () => e.removeEventListener(t, r, n)
            );
        }, [e, t, r]);
      }
      function ar(e, t) {
        s.useLayoutEffect(() => {
          if (!t || !e) return;
          const r = e.Register(t);
          return () => r.Unregister();
        }, [e, t]);
      }
      function sr(e, t) {
        return (
          (function (e, t) {
            const [r, n] = s.useState(e);
            return (
              s.useEffect(() => {
                if (!e) {
                  const e = window.setTimeout(() => n(!1), t);
                  return () => window.clearTimeout(e);
                }
                n(!0);
              }, [e, t]),
              r
            );
          })(e, t) || e
        );
      }
      (0, i.gn)([Je.LO], $t.prototype, "m_filesToUpload", void 0),
        (0, i.gn)([Je.LO], $t.prototype, "m_filesCompleted", void 0),
        (0, i.gn)([Je.LO], $t.prototype, "m_lastError", void 0),
        (0, i.gn)([ye], $t.prototype, "AddImage", null),
        (0, i.gn)([ye], $t.prototype, "AddExistingClanImage", null),
        (0, i.gn)([ye], $t.prototype, "DeleteUploadImageByIndex", null),
        (0, i.gn)([ye], $t.prototype, "DeleteUploadImage", null),
        (0, i.gn)([ye], $t.prototype, "ClearImages", null);
      function or(e) {
        const t = s.useRef([]),
          r = s.useCallback(() => {
            for (const e of t.current) e();
            t.current = [];
          }, []),
          [n, i] = s.useState(null);
        return (
          s.useEffect(() => {
            if ((r(), n && null != e)) {
              const r = (function (e, t) {
                const r = [];
                let n = e;
                for (; (n = xt(n, t)); ) r.push(n);
                return r;
              })(n);
              for (const n of r)
                n.addEventListener("scroll", e),
                  t.current.push(() => n.removeEventListener("scroll", e));
            }
            return r;
          }, [r, n, e]),
          i
        );
      }
      function lr(e, t) {
        return Jt(
          (r) => {
            if (!r) return;
            const n = t(r.ownerDocument.defaultView, (t) => {
              e(t[0]);
            });
            return n.observe(r), () => n.unobserve(r);
          },
          [e, t],
        );
      }
      function cr(e) {
        return lr(
          e,
          s.useCallback(
            (e, t) =>
              e.ResizeObserver
                ? new e.ResizeObserver(t)
                : (c(!1, "ResizeObserver is not available"),
                  {
                    observe: () => {},
                    unobserve: () => {},
                    disconnect: () => {},
                  }),
            [],
          ),
        );
      }
      class ur {
        constructor() {
          this.reactNodes = [];
        }
        AppendText(e, t = !1) {
          e.length &&
            (t
              ? this.reactNodes.push(
                  s.createElement(
                    "span",
                    {
                      "data-copytext": "",
                      "data-copystyle": "merge-adjacent",
                      "bbcode-text": e,
                    },
                    e,
                  ),
                )
              : this.reactNodes.push(e));
        }
        AppendNode(e) {
          this.reactNodes.push(e);
        }
        GetElements() {
          return this.reactNodes;
        }
      }
      class dr {
        constructor(e) {
          c(e, "decorated accumulator cannot be null"),
            (this.m_decoratedAccumulator = e);
        }
        AppendText(e, t = !1) {
          this.m_decoratedAccumulator.AppendText(e, t);
        }
        AppendNode(e) {
          this.m_decoratedAccumulator.AppendNode(e);
        }
        GetElements() {
          return this.m_decoratedAccumulator.GetElements();
        }
      }
      class mr extends dr {
        constructor(e, t, r) {
          super(e),
            (this.m_nStartCursor = 1),
            (this.m_nStartCursor = void 0 !== t ? t : 1);
        }
        AppendText(e) {
          let t = e,
            r = [];
          for (
            let e = t.indexOf("\n", this.m_nStartCursor);
            -1 !== e;
            e = t.indexOf("\n")
          )
            r.push(t.substr(0, e)),
              r.push(s.createElement("br")),
              (t = t.substr(e + 1));
          t.length && r.push(t),
            r.forEach((e) => {
              super.AppendNode(e);
            });
        }
      }
      class _r {
        constructor() {
          (this.type = 0), (this.text = "");
        }
        ConvertMalformedNodeToText() {
          3 == this.type
            ? (this.text = "[/" + this.text)
            : 2 == this.type && (this.text = "[" + this.text),
            (this.type = 1);
        }
      }
      class hr {
        constructor(e, t) {
          (this.m_dictComponents = void 0),
            (this.m_dictComponents = e),
            (this.m_fnAccumulatorFactory = t);
        }
        Parse(e, t, r = !1) {
          const n = (function (e, t) {
            const r = [];
            let n = new _r(),
              i = !1,
              a = !1,
              s = !1;
            for (let o = 0; o < e.length; o++) {
              let l = e[o];
              switch (n.type) {
                case 0:
                  "[" == l
                    ? ((n.type = 2), (a = !0))
                    : ((n.type = 1), "\\" == l && t ? (i = !i) : (n.text += l));
                  break;
                case 2:
                case 3:
                  if ("/" == l && a) (n.type = 3), (n.text = ""), (a = !1);
                  else if ("[" != l || i)
                    if ("]" != l || i)
                      "\\" == l && t
                        ? ((n.text += l), (i = !i), (a = !1))
                        : ((n.text += l), (i = !1), (a = !1));
                    else {
                      const e =
                          2 == n.type &&
                          "noparse" == n.text.toLocaleLowerCase(),
                        t =
                          3 == n.type &&
                          "noparse" == n.text.toLocaleLowerCase();
                      a || (s && !t)
                        ? (n.ConvertMalformedNodeToText(), (n.text += l))
                        : e
                          ? (s = !0)
                          : t && (s = !1),
                        (n = pr(r, n)),
                        (a = !1);
                    }
                  else
                    n.ConvertMalformedNodeToText(), (n = pr(r, n, 2)), (a = !0);
                  break;
                case 1:
                  "[" != l || i
                    ? "\\" == l && t
                      ? (i && (n.text += l), (i = !i))
                      : ((n.text += l), (i = !1))
                    : ((n = pr(r, n, 2)), (a = !0));
              }
            }
            0 != n.type &&
              ((2 != n.type && 3 != n.type) || n.ConvertMalformedNodeToText(),
              r.push(n));
            return r;
          })(e, r);
          return this.Parse_BuildElements(n, t);
        }
        Parse_BuildElements(e, t) {
          let r = this.m_fnAccumulatorFactory(void 0),
            n = [],
            i = function () {
              return n.length < 1 ? void 0 : n[n.length - 1];
            },
            a = this.m_dictComponents,
            s = !1,
            o = !0,
            l = function (e, i, l) {
              if (e && e.node.tag === i.text && a.get(e.node.tag)) {
                const i = a.get(e.node.tag),
                  l = n.map((e) => e.node.tag),
                  c = { parentTags: l, tagname: e.node.tag, args: e.node.args },
                  u = t(i.Constructor, c, ...r.GetElements());
                (r = e.accumulator),
                  r.AppendNode(u),
                  (s = i.skipFollowingNewline),
                  (o = e.bWrapTextForCopying);
              } else if (e) {
                let t = e.accumulator;
                t.AppendText("[" + e.node.text + "]", !1),
                  r.GetElements().forEach((e) => t.AppendNode(e)),
                  t.AppendText("[/" + i.text + "]", !1),
                  (r = t),
                  (o = e.bWrapTextForCopying);
              }
            };
          for (
            e.forEach((e, t) => {
              var c, u;
              if (1 == e.type) {
                const t = s ? e.text.replace(/^[\t\r ]*\n/g, "") : e.text;
                r.AppendText(t, o), (s = !1);
              } else if (2 == e.type) {
                const t = a.get(e.tag);
                if (t) {
                  const u = i();
                  if (void 0 !== u) {
                    const t = a.get(u.node.tag);
                    t &&
                      t.autocloses &&
                      e.tag === u.node.tag &&
                      l(n.pop(), u.node);
                  }
                  n.push({ accumulator: r, node: e, bWrapTextForCopying: o }),
                    (r = this.m_fnAccumulatorFactory(e)),
                    (s = t.skipInternalNewline),
                    (o =
                      null !== (c = t.allowWrapTextForCopying) &&
                      void 0 !== c &&
                      c);
                } else r.AppendText("[" + e.text + "]", 0 == n.length);
              } else if (3 == e.type) {
                for (
                  ;
                  i() &&
                  i().node.tag !== e.text &&
                  a.get(i().node.tag) &&
                  a.get(i().node.tag).autocloses;
                ) {
                  const e = n.pop();
                  l(e, e.node);
                }
                if (
                  (null === (u = i()) || void 0 === u ? void 0 : u.node.tag) ==
                  e.text
                ) {
                  const t = n.pop();
                  l(t, e);
                } else r.AppendText("[/" + e.text + "]", 0 == n.length);
              }
            });
            n.length > 0;
          ) {
            let e = n.pop(),
              t = e.accumulator;
            t.AppendText("[" + e.node.text + "]", !1),
              r.GetElements().forEach((e) => t.AppendNode(e)),
              (r = t);
          }
          return r.GetElements();
        }
      }
      function pr(e, t, r = 0) {
        if (2 == t.type) {
          let e = t.text.indexOf("="),
            r = t.text.indexOf(" ");
          if ((-1 != r && (-1 == e || r < e) && (e = r), e > 0)) {
            t.tag = t.text.substr(0, e).toLocaleLowerCase();
            let r = t.text.substr(e);
            t.args = (function (e) {
              if (!e || e.length < 1) return {};
              let t = {},
                r = "",
                n = "",
                i = 0,
                a = 0;
              "=" == e[0] && (i = 2);
              let s = !1;
              for (a++; a < e.length; a++) {
                let o = e[a],
                  l = !0,
                  c = !1;
                switch (i) {
                  case 0:
                    if ("=" == o) return {};
                    if (" " == o) continue;
                    i = 1;
                    break;
                  case 1:
                    ("=" != o && " " != o) ||
                      s ||
                      (" " == o ? ((i = 0), (c = !0)) : (i = 2), (l = !1));
                    break;
                  case 2:
                    " " == o
                      ? ((i = 0), (l = !1), (c = !0))
                      : '"' == o
                        ? ((i = 4), (l = !1))
                        : (i = 3);
                    break;
                  case 3:
                  case 4:
                    ((" " == o && 4 != i && !s) ||
                      ('"' == o && 4 == i && !s)) &&
                      ((i = 0), (l = !1), (c = !0));
                }
                if (l)
                  if ("\\" != o || s)
                    if (((s = !1), 1 == i)) r += o;
                    else {
                      if (3 != i && 4 != i)
                        throw new Error(
                          "Not expecting to accumulate buffer in state " + i,
                        );
                      n += o;
                    }
                  else s = !0;
                c && ((t[r] = n), (r = ""), (n = ""));
              }
              0 != i && (t[r] = n);
              return t;
            })(r);
          } else (t.args = {}), (t.tag = t.text.toLocaleLowerCase());
        }
        e.push(t);
        let n = new _r();
        return (n.type = r), n;
      }
      class gr extends hr {
        constructor(e, t, r) {
          super(e, null != t ? t : () => new ur()),
            (this.m_renderingLanguage = r || te(w.LANGUAGE));
        }
        UpdateOverrideLanguage(e) {
          this.m_renderingLanguage = e || te(w.LANGUAGE);
        }
        ParseBBCode(e, t, r = !1) {
          let n = 0;
          const i = this.Parse(
            e,
            (e, r, ...i) =>
              s.createElement(
                e,
                Object.assign(Object.assign({}, r), {
                  context: t,
                  language: this.m_renderingLanguage,
                  key: "bbnode_" + n++,
                }),
                ...i,
              ),
            r,
          );
          return i.length > 1
            ? s.createElement(s.Fragment, null, ...i)
            : 1 == i.length
              ? i[0]
              : null;
        }
      }
      const br = [
          "h1",
          "h2",
          "h3",
          "h4",
          "h5",
          "smalltext",
          "b",
          "u",
          "hr",
          "i",
          "img",
          "strike",
          "spoiler",
          "noparse",
          "url",
          "list",
          "olist",
          "quote",
          "pullquote",
          "code",
          "table",
          "tr",
          "td",
          "th",
          "previewyoutube",
          "looping_media",
          "roomeffect",
          "sticker",
          "price",
          "pricesavings",
          "trailer",
          "speaker",
          "doclink",
          "video",
          "vod",
          "youtubeorvideo",
          "giveawayeligible",
          "claimitem",
          "packagepurchaseable",
          "actiondialog",
          "uploadfilebutton",
          "docimg",
        ],
        fr = [
          "img",
          "previewyoutube",
          "looping_media",
          "roomeffect",
          "video",
          "vod",
          "trailer",
          "youtubeorvideo",
          "docimg",
        ];
      br.filter((e) => -1 == fr.indexOf(e));
      function vr(e, t = null, r = " ") {
        let n = null == t ? void 0 : t.join("|");
        n || (n = br.join("|") + "|\\*");
        let i = new RegExp("\\[(" + n + ")\\b[^\\]]*\\].*?\\[/\\1\\]", "gi");
        return e.replace(i, r);
      }
      function yr() {
        return `${w.CLAN_CDN_ASSET_URL}images/`;
      }
      var Sr;
      function wr(e, t, r, n = !1) {
        if (r)
          for (let i of r) {
            if (n ? it(e, t, i) : nt(e, t, i)) return i;
          }
      }
      !(function (e) {
        (e.full = ""),
          (e.background_main = "_960x311"),
          (e.background_mini = "_480x156"),
          (e.capsule_main = "_400x225"),
          (e.spotlight_main = "_1054x230");
      })(Sr || (Sr = {}));
      class Cr {
        constructor() {
          (this.m_mapClanToImages = new Map()),
            (this.m_mapClanImageLoadPromises = new Map()),
            (this.m_imageListChangeCallback = new Map()),
            (this.m_mapClanImageLoadState = new Map()),
            (this.m_mapImageIDToResolution = new Map()),
            (this.m_curLocImageGroup = null),
            (this.m_curLocImageGroupType = null),
            (this.m_vecClanImageDragListener = new Array()),
            (0, Je.rC)(this);
        }
        BHasImageResolution(e) {
          return this.m_mapImageIDToResolution.has(e.imageid);
        }
        GetImageResolution(e) {
          return this.m_mapImageIDToResolution.get(e.imageid);
        }
        SetImageResolution(e, t) {
          this.m_mapImageIDToResolution.set(e.imageid, t);
        }
        GetImageListCallbackForClanAccountID(e) {
          return (
            this.m_imageListChangeCallback.has(e) ||
              this.m_imageListChangeCallback.set(e, new Se()),
            this.m_imageListChangeCallback.get(e)
          );
        }
        static GetExtensionStringForFileType(e) {
          switch (e) {
            case 1:
              return ".jpg";
            case 2:
              return ".gif";
            case 3:
              return ".png";
            case 5:
              return ".webm";
            case 4:
              return ".mp4";
            case 7:
              return ".srt";
            case 6:
              return ".vtt";
          }
        }
        static GetExtensionString(e) {
          return Cr.GetExtensionStringForFileType(e.file_type) || ".jpg";
        }
        static GetExtensionTypeFromURL(e) {
          return (function (e) {
            return (
              e.indexOf("?") > 0 && (e = e.split("?")[0]),
              e.endsWith(".jpg")
                ? 1
                : e.endsWith(".png")
                  ? 3
                  : e.endsWith(".gif")
                    ? 2
                    : e.endsWith(".mp4")
                      ? 4
                      : e.endsWith(".webm")
                        ? 5
                        : e.endsWith(".vtt")
                          ? 6
                          : e.endsWith(".srt")
                            ? 7
                            : void 0
            );
          })(e);
        }
        static GetHashAndExt(e) {
          return e.image_hash + Cr.GetExtensionString(e);
        }
        static GetThumbHashAndExt(e) {
          return e.thumbnail_hash + Cr.GetExtensionString(e);
        }
        AddClanImageDragListener(e) {
          -1 == this.m_vecClanImageDragListener.indexOf(e) &&
            this.m_vecClanImageDragListener.push(e);
        }
        RemoveClanImageDragListener(e) {
          let t = this.m_vecClanImageDragListener.indexOf(e);
          -1 != t && this.m_vecClanImageDragListener.splice(t, 1);
        }
        GetClanImageDragListener() {
          return this.m_vecClanImageDragListener;
        }
        BHasLoadedClanImages(e) {
          return this.m_mapClanToImages.has(e.GetAccountID());
        }
        LoadClanImages(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const n = e.GetAccountID();
            return (
              (!t && this.m_mapClanImageLoadPromises.has(n)) ||
                this.m_mapClanImageLoadPromises.set(
                  n,
                  this.InternalLoadClanImages(e, t, r),
                ),
              this.m_mapClanImageLoadPromises.get(n)
            );
          });
        }
        InternalLoadClanImages(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let n = e.GetAccountID();
            if (
              (c(e && 0 != n, "ClanSteamID missing:" + e),
              e && (!this.m_mapClanToImages.has(n) || t))
            ) {
              let t = {},
                i = null;
              const a =
                w.COMMUNITY_BASE_URL +
                "/gid/" +
                e.ConvertTo64BitString() +
                "/getimages/";
              i = yield Ze().get(a, {
                params: t,
                withCredentials: !0,
                cancelToken: r ? r.token : null,
              });
              for (let e of i.data.images) e.clanAccountID = n;
              (0, Je.z)(() => {
                this.m_mapClanImageLoadState.set(n, { loaded: !0 }),
                  this.m_mapClanToImages.set(n, i.data.images),
                  this.GetImageListCallbackForClanAccountID(n).Dispatch(
                    i.data.images,
                  );
              });
            }
            return this.m_mapClanToImages.get(n);
          });
        }
        GetLoadState(e) {
          return this.m_mapClanImageLoadState.get(e.GetAccountID());
        }
        GetClanImages(e) {
          return this.GetClanImagesByAccount(e.GetAccountID());
        }
        GetClanImagesByAccount(e) {
          let t = this.m_mapClanToImages.get(e);
          return t || new Array();
        }
        GetFilteredClanImages(e, t) {
          let r = Br.GetClanImages(e);
          return this.GetFilteredClanImagesList(r, t);
        }
        GetFilteredClanImagesList(e, t) {
          if (t && t.trim().length > 0) {
            t = t.trim().toLowerCase();
            let r = new Array();
            for (let n of e)
              n.file_name &&
                n.file_name.toLowerCase().indexOf(t) >= 0 &&
                r.push(n);
            return r;
          }
          return e;
        }
        GetClanImageByID(e, t) {
          let r = e.GetAccountID(),
            n = this.m_mapClanToImages.get(r);
          return n ? n.find((e) => e.imageid == t) : null;
        }
        GetClanImageByURL(e, t) {
          let r = e.GetAccountID(),
            n = this.m_mapClanToImages.get(r);
          return n ? n.find((e) => e.thumb_url == t || e.url == t) : null;
        }
        GetClanImageByFile(e, t) {
          let r = e.GetAccountID(),
            n = this.m_mapClanToImages.get(r);
          return n ? n.find((e) => e.file_name == t.name) : null;
        }
        GetClanImageByImageHash(e, t) {
          let r = e.GetAccountID(),
            n = this.m_mapClanToImages.get(r);
          return n ? n.find((e) => e.image_hash == t) : null;
        }
        DeleteClanImageByID(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let r = { sessionid: w.SESSIONID, imageid: t },
              n = e.GetAccountID(),
              i = yield Ze().get(
                w.COMMUNITY_BASE_URL +
                  "/gid/" +
                  e.ConvertTo64BitString() +
                  "/deleteimage/",
                { params: r },
              );
            if (!i || 200 != i.status || 1 != i.data.success) return i.data;
            let a = this.m_mapClanToImages.get(n),
              s = a.findIndex((e, r, n) => e.imageid == t);
            return (
              s >= 0 &&
                (a.splice(s, 1),
                this.GetImageListCallbackForClanAccountID(n).Dispatch([...a])),
              i.data
            );
          });
        }
        DeleteClanImage(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.DeleteClanImageByID(e, t.imageid);
          });
        }
        static GetHashFromHashAndExt(e) {
          let t = e.substring(e.lastIndexOf("."));
          return e.substring(0, e.length - t.length);
        }
        static GetExtensionStringFromHashAndExt(e) {
          return e.substring(e.lastIndexOf("."));
        }
        static GenerateArtworkURLFromHashAndExtensions(
          e,
          t,
          r = Sr.full,
          n,
          i,
        ) {
          if (r != Sr.full || n) {
            let a = t.substring(t.lastIndexOf(".")),
              s = t.substring(0, t.length - a.length);
            return n && "localized_image_group" == i
              ? yr() + e.GetAccountID() + "/" + s + "/" + J(ee(n)) + a
              : yr() + e.GetAccountID() + "/" + s + r + a;
          }
          return yr() + e.GetAccountID() + "/" + t;
        }
        static GenerateEditableArtworkURLFromHashAndExtension(e, t, r) {
          let n =
            w.COMMUNITY_BASE_URL +
            "gid/" +
            e.ConvertTo64BitString() +
            "/showclanimage/?image_hash_and_ext=" +
            t;
          return r && (n += "&lang=" + r), n;
        }
        static GetMimeType(e) {
          let t = e.substr(e.length - 3);
          switch (t) {
            case "jpg":
              return "image/jpeg";
            case "gif":
              return "image/gif";
            case "png":
              return "image/png";
          }
          return "image/" + t;
        }
        AsyncGetImageResolution(e, t, r, n, a) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const i = t + Cr.GetExtensionString({ file_type: r }),
              s = Cr.GenerateEditableArtworkURLFromHashAndExtension(e, i);
            return yield this.AsyncGetImageResolutionInternal(s, n, a);
          });
        }
        AsyncGetImageResolutionInternal(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let n = { success: void 0 },
              i = new Image();
            (i.crossOrigin = "anonymous"),
              (i.onerror = (t) => {
                r ||
                  ((n.err_msg =
                    "Load fail on url " +
                    e +
                    " with error: " +
                    Ft(t).strErrorMsg),
                  console.error(n.err_msg)),
                  (n.success = 2);
              }),
              (i.onload = () => {
                (n.width = i.width),
                  (n.height = i.height),
                  c(
                    n.width > 0 && n.height > 0,
                    "unexpected image resolution discovered for strURL: " + e,
                  ),
                  (n.success = 1);
              }),
              (i.src = e),
              t.token.promise.catch((e) => {
                (i.onload = () => {}), (n.success = 52);
              });
            let a = 0;
            for (; void 0 === n.success && a < 100; ) yield Ae(100), (a += 1);
            return (
              a >= 100 &&
                ((n.success = 16),
                (n.err_msg = "We timed out processing images")),
              n
            );
          });
        }
        AsyncOverlay(e, t, r, n, a, s) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i,
              o,
              l = new Image();
            (l.crossOrigin = "anonymous"),
              (l.onerror = (e) => {
                (i =
                  "Load fail on url " +
                  r +
                  " with error: " +
                  Ft(e).strErrorMsg),
                  console.error(i);
              }),
              (l.onload = () => {
                let e = new Image();
                (e.crossOrigin = "anonymous"),
                  (e.onerror = (e) => {
                    (i =
                      "Load fail on url " +
                      t +
                      " with error: " +
                      Ft(e).strErrorMsg),
                      console.error(i);
                  }),
                  (e.onload = () => {
                    try {
                      let t = document.createElement("canvas"),
                        r = t.getContext("2d");
                      (t.width = a), (t.height = s), r.drawImage(e, 0, 0, a, s);
                      let n = (a - l.width) / 2,
                        i = (s - l.height) / 2;
                      r.drawImage(l, n, i),
                        t.toBlob((e) => (o = e), "image/jpeg");
                    } catch (e) {
                      i =
                        "Failed during image processing for " +
                        n +
                        " with " +
                        e;
                    }
                  }),
                  (e.src = t);
              }),
              (l.src = r);
            let c = 0;
            for (; void 0 === o && c < 100; ) yield Ae(100), (c += 1);
            if (
              (c >= 100 &&
                void 0 === o &&
                (i = "AsyncOverlay - We timed out processing images"),
              i)
            )
              throw (console.log(i), { success: 2, err_msg: i });
            let u = new $t(e),
              d = yield u.UploadFile(o, n);
            return d.image_hash + Cr.GetExtensionString(d);
          });
        }
        BDoesClanImageFileExistsOnCDNOrOrigin(e, t, r, n) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i =
                w.COMMUNITY_BASE_URL +
                "gid/" +
                t.ConvertTo64BitString() +
                "/hasclanimagefile",
              a = { image_hash_and_ext: r, lang: "" + n };
            return (
              1 ==
              (yield Ze().get(i, { params: a, cancelToken: e && e.token })).data
                .success
            );
          });
        }
        SetPrimaryImageForImageGroup(e, t) {
          (this.m_curLocImageGroup &&
            this.m_curLocImageGroup.primaryImage.imageid == e.imageid &&
            t == this.m_curLocImageGroupType) ||
            ((this.m_curLocImageGroup = {
              primaryImage: e,
              localized_images: [],
            }),
            (this.m_curLocImageGroupType = t),
            (this.m_curLocImageGroup.localized_images = ve(
              this.m_curLocImageGroup.localized_images,
              31,
              null,
            )));
        }
        ClearImageGroup() {
          (this.m_curLocImageGroup = null),
            (this.m_curLocImageGroupType = null);
        }
        GetLocalizedImageGroupForEdit() {
          return this.m_curLocImageGroup;
        }
        GetLocalizedImageGroupForEditAsURL(e, t) {
          let r = this.m_curLocImageGroup.primaryImage;
          return this.m_curLocImageGroup.localized_images[t]
            ? this.m_curLocImageGroup.localized_images[t]
            : Cr.GenerateArtworkURLFromHashAndExtensions(
                e,
                Cr.GetHashAndExt(r),
              );
        }
        GetLocalizedImageGroupForEditAsImgArray(e) {
          return this.GetAllLocalizedGroupImages();
        }
        DetermineAvailableLocalizationForGroup(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let t = this.m_curLocImageGroup.primaryImage,
              r = ot.InitFromClanID(t.clanAccountID),
              n = Cr.GetHashAndExt(t),
              i = [];
            for (let t = 0; t < 31; ++t)
              i.push(this.BDoesClanImageFileExistsOnCDNOrOrigin(e, r, n, t));
            let a = yield Promise.all(i);
            (0, Je.z)(() => {
              for (let e = 0; e < 31; ++e)
                a[e] &&
                  (this.m_curLocImageGroup.localized_images[e] =
                    Cr.GenerateArtworkURLFromHashAndExtensions(
                      r,
                      n,
                      Sr.full,
                      e,
                      this.m_curLocImageGroupType,
                    ));
            });
          });
        }
        SetLocalizedImageGroupAtLang(e, t, r) {
          this.m_curLocImageGroup &&
            (this.m_curLocImageGroup.localized_images[e] = r
              ? Cr.GenerateArtworkURLFromHashAndExtensions(
                  t,
                  r,
                  Sr.full,
                  e,
                  this.m_curLocImageGroupType,
                )
              : null);
        }
        AddLocalizeImageUploaded(e, t) {
          let r = this.m_curLocImageGroup.primaryImage;
          if (r.image_hash == e) {
            let e = ot.InitFromClanID(r.clanAccountID),
              n = Cr.GetHashAndExt(r);
            this.m_curLocImageGroup.localized_images[t] =
              Cr.GenerateArtworkURLFromHashAndExtensions(
                e,
                n,
                Sr.full,
                t,
                this.m_curLocImageGroupType,
              );
          }
        }
        GetAllLocalizedGroupImages() {
          return (
            (this.m_curLocImageGroup &&
              this.m_curLocImageGroup.localized_images) ||
            []
          );
        }
      }
      (0, i.gn)([Je.LO], Cr.prototype, "m_mapClanToImages", void 0),
        (0, i.gn)([Je.LO], Cr.prototype, "m_mapClanImageLoadState", void 0),
        (0, i.gn)([Je.LO], Cr.prototype, "m_curLocImageGroup", void 0);
      const Br = new Cr();
      class Er extends s.Component {
        constructor(e) {
          super(e),
            (this.m_refImage = s.createRef()),
            (this.state = { nImage: 0 });
        }
        componentDidUpdate(e) {
          JSON.stringify(this.props.rgSources) != JSON.stringify(e.rgSources) &&
            this.setState({ nImage: 0 });
        }
        get src() {
          let e = "";
          return (
            this.props.rgSources &&
              this.props.rgSources.length > this.state.nImage &&
              (e = this.props.rgSources[this.state.nImage]),
            e ||
              (console.warn(
                "MultiSourceImage created with no image src",
                this.props,
                this.state.nImage,
              ),
              (e =
                "data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=")),
            e
          );
        }
        get imgRef() {
          return this.m_refImage;
        }
        OnImageError(e) {
          this.props.onIncrementalError &&
            this.props.onIncrementalError(
              e,
              this.props.rgSources[this.state.nImage],
              this.state.nImage,
            );
          let t = this.state.nImage + 1;
          t >= this.props.rgSources.length &&
            this.props.onError &&
            this.props.onError(e),
            t < this.props.rgSources.length && this.setState({ nImage: t });
        }
        render() {
          const e = this.props,
            { src: t, rgSources: r, onIncrementalError: n, onError: a } = e,
            o = (0, i._T)(e, [
              "src",
              "rgSources",
              "onIncrementalError",
              "onError",
            ]),
            l = this.src;
          return s.createElement(
            "img",
            Object.assign({ src: l, ref: this.m_refImage }, o, {
              onError: this.OnImageError,
            }),
          );
        }
      }
      (0, i.gn)([ye], Er.prototype, "OnImageError", null);
      const Ir = "{STEAM_CLAN_LOC_IMAGE}",
        Rr = "{STEAM_CLAN_IMAGE}";
      function Tr(e) {
        return s.createElement(
          "span",
          { style: { color: e.args[""] } },
          e.children,
        );
      }
      function Mr(e) {
        return s.createElement("span", { className: "Blocked" }, e.children);
      }
      function Dr(e) {
        return s.createElement("span", { className: "spoiler" }, e.children);
      }
      function Ar(e) {
        return s.createElement("span", { className: "Minor" }, e.children);
      }
      function Or(e) {
        return s.createElement("span", { className: "Bold" }, e.children);
      }
      function Fr(e) {
        return s.createElement("span", { className: "Strike" }, e.children);
      }
      function Lr(e) {
        return s.createElement("sup", null, e.children);
      }
      function kr(e) {
        const t = e.args.width ? parseInt(e.args.width) : 748,
          r = e.args.height ? parseInt(e.args.height) : 420,
          n = {
            src: `https://www.youtube.com/embed/${e.args[""]}`,
            width: t,
            height: t,
          };
        return s.createElement(
          "iframe",
          Object.assign({}, n, {
            style: { width: t, height: r },
            frameBorder: "0",
            allowFullScreen: !0,
          }),
        );
      }
      function Nr(e) {
        const t = te(k.LANGUAGE),
          r = (function (e, t, r) {
            const n = (null == r ? void 0 : r.rtime32_last_modified) || 0;
            if (void 0 !== e && e.startsWith(Rr))
              return (
                w.MEDIA_CDN_COMMUNITY_URL +
                "images/clans/" +
                e.substr(Rr.length + 1)
              );
            if (void 0 !== e && e.startsWith(Ir)) {
              let r = new Array(),
                i = w.MEDIA_CDN_COMMUNITY_URL + "images/clans/",
                a = e.substr(Ir.length + 1),
                s = Cr.GetHashFromHashAndExt(a),
                o = Cr.GetExtensionStringFromHashAndExt(a);
              if (null != t) {
                let e = ee(t);
                r.push(i + s + "/" + e + o + "?t=" + n),
                  4 == t &&
                    ((e = J(ee(t))), r.push(i + s + "/" + e + o + "?t=" + n));
              }
              return r.push(i + a), r;
            }
            return e;
          })(e.children, t),
          n = "string" == typeof r ? [r] : r;
        return s.createElement(Er, { rgSources: n });
      }
      function Pr(e) {
        return s.createElement("div", { className: e.args[""] }, e.children);
      }
      function Gr(e, ...t) {
        return xf.GetBBCodeParser().ParseBBCode(
          (function (e, ...t) {
            if (!e) return "";
            let r = We(e, ...t);
            return (
              (r = r.replace(/<b>/g, "[b]").replace(/<\/b>/g, "[/b]")),
              (r = r.replace(/<br>/g, "\n")),
              (r = r
                .replace(/<font color='\#(\w+)'>/g, "[color=#$1]")
                .replace(/<\/font>/g, "[/color]")),
              (r = r
                .replace(/<font color="\#(\w+)">/g, "[color=#$1]")
                .replace(/<\/font>/g, "[/color]")),
              (r = r.replace(/\[br\]/g, "\n")),
              r
            );
          })(e, ...t),
          {},
        );
      }
      function xr(...e) {
        return e.reduce(
          (e, t) =>
            t
              ? "string" == typeof t
                ? e
                  ? `${e} ${t}`
                  : t
                : "object" == typeof t
                  ? e
                    ? `${e} ${Ur(t)}`
                    : Ur(t)
                  : e
              : e,
          "",
        );
      }
      function Ur(e) {
        return Object.keys(e).reduce(
          (t, r) => (e[r] ? (t ? `${t} ${r}` : r) : t),
          "",
        );
      }
      var zr = r(5912),
        Wr = r.n(zr);
      const jr = ({ bMobile: e }) => {
          const t = [
              "english",
              "spanish",
              "french",
              "italian",
              "german",
              "greek",
              "koreana",
              "schinese",
              "tchinese",
              "russian",
              "thai",
              "japanese",
              "portuguese",
              "brazilian",
              "polish",
              "danish",
              "dutch",
              "finnish",
              "norwegian",
              "swedish",
              "czech",
              "hungarian",
              "romanian",
              "bulgarian",
              "turkish",
              "ukrainian",
              "vietnamese",
              "latam",
            ],
            [r, n] = (0, s.useState)(!1),
            i = (0, V.TH)(),
            [a, o] = (0, s.useState)(k.LANGUAGE);
          return e
            ? s.createElement(
                "div",
                { className: Wr().LanguageSelector },
                s.createElement(
                  "div",
                  { className: Wr().MobileWrapper },
                  s.createElement("div", { className: Wr().LanguageIcon }),
                  s.createElement(
                    "select",
                    {
                      className: Wr().MobileDropdown,
                      value: a,
                      onChange: (e) => {
                        o(a),
                          e.target.value != k.LANGUAGE &&
                            (window.location.href = `${N()}${i.pathname}?l=${e.target.value}`);
                      },
                    },
                    t.map((e) =>
                      s.createElement(
                        "option",
                        { key: e, value: e },
                        Gr(`#language_selection_${e}`),
                      ),
                    ),
                  ),
                  s.createElement("div", { className: Wr().DownArrow }),
                ),
              )
            : s.createElement(
                "div",
                { className: Wr().LanguageSelector },
                s.createElement(
                  "div",
                  {
                    className: Wr().Button,
                    onMouseEnter: () => n(!0),
                    onMouseLeave: () => n(!1),
                  },
                  s.createElement(
                    "div",
                    { className: Wr().InnerWrapper },
                    s.createElement("div", { className: Wr().LanguageIcon }),
                    s.createElement("span", null, Gr("#header_language")),
                    s.createElement("div", { className: Wr().DownArrow }),
                  ),
                ),
                s.createElement(
                  "div",
                  {
                    className: xr(Wr().LanguageList, r && Wr().ShowLanguages),
                    onMouseEnter: () => n(!0),
                    onMouseLeave: () => n(!1),
                  },
                  t.map((e) =>
                    s.createElement(
                      "a",
                      {
                        key: e,
                        className: Wr().LanguageOption,
                        href: `${N()}${i.pathname}?l=${e}`,
                      },
                      Gr(`#language_selection_${e}`),
                    ),
                  ),
                ),
              );
        },
        Vr = ({ bOverlapping: e }) => {
          const t = (0, V.TH)(),
            [r, n] = (0, s.useState)(!1),
            [a, o] = (0, s.useState)(!1),
            [l, c] = (0, s.useState)(void 0);
          return (
            s.useEffect(() => {
              (0, i.mG)(void 0, void 0, void 0, function* () {
                const e = yield fetch(
                  `https://api.steampowered.com/ICSGOServers_730/GetMonthlyPlayerCount/v1?format=json&origin=${k.BASE_URL.slice(0, -1)}`,
                  { headers: { Accept: "application/json" } },
                );
                if (e.ok) {
                  const t = yield e.json();
                  c(parseInt(t.result.players));
                }
              });
            }, []),
            s.createElement(
              "div",
              {
                className: xr(
                  X().MicroHeader,
                  e && X().Overlapping,
                  e && "Overlapping",
                ),
              },
              s.createElement(
                "div",
                { className: X().HeaderContents },
                s.createElement(j.rU, { to: P(), className: X().CSLogo }),
                s.createElement(
                  "a",
                  {
                    className: X().PlayForFree,
                    href: `${k.STORE_URL}app/730/CounterStrike_2/`,
                  },
                  s.createElement(
                    "div",
                    { className: X().StandardButton },
                    s.createElement("div", { className: X().SteamLogo }),
                    s.createElement(
                      "div",
                      { className: X().ButtonText },
                      Gr("#header_play"),
                    ),
                  ),
                ),
                s.createElement(
                  "div",
                  { className: xr(X().PlayerCountContainer) },
                  s.createElement(
                    "div",
                    { className: X().MonthlyPlayers },
                    l && Gr("#header_monthlyPlayers"),
                  ),
                  s.createElement(
                    "div",
                    { className: X().PlayerCount },
                    l && l.toLocaleString(),
                  ),
                ),
                s.createElement(
                  "div",
                  { className: xr(X().NavItems, X().NavLeft) },
                  s.createElement("div", {
                    className: xr(X().GameDropdownContents, !r && X().Hidden),
                    onMouseEnter: () => n(!0),
                    onMouseLeave: () => n(!1),
                  }),
                ),
                s.createElement(
                  "div",
                  { className: xr(X().NavItems, X().NavRight) },
                  s.createElement(
                    j.rU,
                    {
                      to: G(),
                      className: xr(
                        X().NavLink,
                        t.pathname == P() && X().Active,
                      ),
                    },
                    Gr("#header_news"),
                  ),
                  s.createElement(
                    "a",
                    {
                      className: X().NavLink,
                      href: "https://steamcommunity.com/faqs/steam-help/view/5ED2-ED8E-81F4-0C18",
                    },
                    Gr("#header_faq"),
                  ),
                ),
                s.createElement(
                  "div",
                  { className: xr(X().OptionsSide) },
                  s.createElement(
                    "div",
                    { className: X().AccountLanguage },
                    s.createElement(jr, { bMobile: !1 }),
                  ),
                ),
              ),
            )
          );
        };
      var Hr = r(940),
        qr = r.n(Hr);
      const Kr = () =>
        s.createElement(
          "div",
          { className: qr().RootFooter },
          s.createElement(
            "div",
            { className: qr().Legal },
            We("#footer_legal"),
          ),
        );
      var $r = r(1970),
        Yr = r.n($r);
      const Qr = ({ event: e }) => {
        const t = new Date(1e3 * e.GetStartTimeAndDateUnixSeconds()),
          r = te(k.LANGUAGE),
          n = e.GetSummaryWithFallback(r),
          i = e.GetImageURL("capsule");
        return s.createElement(
          j.rU,
          { to: x(e.GID), className: Yr().BlogCapsule, key: e.GID },
          s.createElement(
            "div",
            { className: Yr().Entry },
            s.createElement(
              "div",
              { className: Yr().EntryImage },
              s.createElement("div", {
                className: Yr().Image,
                style: { backgroundImage: i ? `url( ${i} )` : null },
              }),
            ),
            s.createElement(
              "div",
              { className: Yr().EntryContent },
              s.createElement(
                "div",
                { className: Yr().Date },
                t.toLocaleDateString(void 0, {
                  month: "long",
                  day: "numeric",
                  year: "numeric",
                }),
              ),
              s.createElement(
                "div",
                { className: Yr().Title },
                e.GetNameWithFallback(r),
              ),
              s.createElement("div", { className: Yr().Desc }, Gr(n)),
              s.createElement(
                "div",
                { className: Yr().FeaturedLink },
                Gr("#news_readmore"),
                s.createElement("img", {
                  src: k.IMG_URL + "global/arrow_left.png",
                  className: Yr().ForwardArrow,
                }),
              ),
            ),
          ),
          s.createElement("div", { className: Yr().Divider }),
        );
      };
      var Xr = r(2175),
        Zr = r(9583);
      const Jr = {
        bBroadcastEnabled: !1,
        broadcastChatSetting: "hide",
        default_broadcast_title: "#Broadcast_default_title_dev",
        localized_broadcast_title: new Array(31),
        localized_broadcast_left_image: new Array(31),
        localized_broadcast_right_image: new Array(31),
        broadcast_whitelist: [],
      };
      class en {
        constructor(e) {
          (this.m_appidList = new Array()),
            (this.m_socialList = new Array()),
            (this.m_strName = ""),
            (this.m_strAvatarURLFullSize = ""),
            (this.m_strTagLineLoc = ""),
            (this.m_nFollowers = 0),
            (this.m_strVanity = ""),
            (this.m_webLink = void 0),
            (this.m_bIsLoaded = !1),
            (this.m_bIsHidden = !1),
            (this.m_clanAccountFlags = 0),
            (0, Je.rC)(this),
            (this.m_clanSteamID = e);
        }
        Initialize(e) {
          (this.m_strName = e.name || ""),
            (this.m_strAvatarURLFullSize =
              e.avatar_url_full_size ||
              "https://avatars.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg"),
            e.social && e.social.forEach((e) => this.m_socialList.push(e)),
            (this.m_strTagLineLoc = e.tag_line_localized || ""),
            (this.m_nFollowers = e.followers || 0),
            (this.m_strVanity = e.vanity || void 0),
            (this.m_webLink = e.weblink),
            (this.m_bIsHidden = e.hidden || !1),
            (this.m_clanAccountFlags = e.clan_account_flags),
            e.appids && e.appids.forEach((e) => this.m_appidList.push(e)),
            (this.m_bIsLoaded = !0);
        }
        GetCreatorHomeIdentifier() {
          return {
            name: this.m_strName,
            clan_account_id: this.m_clanSteamID.GetAccountID(),
            type: "developer",
            hidden: this.m_bIsHidden,
          };
        }
        BIsPartnerEventEditorEnabled() {
          return Boolean(8 & this.m_clanAccountFlags);
        }
        BHasClanAccountFlagSet(e) {
          return Boolean(this.m_clanAccountFlags & e);
        }
        BIsLoaded() {
          return this.m_bIsLoaded;
        }
        GetClanSteamID() {
          return this.m_clanSteamID;
        }
        GetClanAccountID() {
          return this.m_clanSteamID.GetAccountID();
        }
        GetAppIDList() {
          return this.m_appidList;
        }
        GetSocialList() {
          return this.m_socialList;
        }
        GetName() {
          return this.m_strName;
        }
        GetAvatarURLFullSize() {
          return this.m_strAvatarURLFullSize;
        }
        GetTagLine() {
          return this.m_strTagLineLoc;
        }
        GetNumFollowers() {
          return this.m_nFollowers;
        }
        BIsHidden() {
          return this.m_bIsHidden;
        }
        GetCreatorHomeURL(e) {
          if (this.m_strVanity) {
            switch (e) {
              case "publisher":
                return w.STORE_BASE_URL + "publisher/" + this.m_strVanity + "/";
              case "franchise":
                return w.STORE_BASE_URL + "franchise/" + this.m_strVanity + "/";
            }
            return w.STORE_BASE_URL + "developer/" + this.m_strVanity + "/";
          }
          return (
            w.STORE_BASE_URL +
            "curator/" +
            this.m_clanSteamID.GetAccountID() +
            "/"
          );
        }
        BHasWebLink() {
          return void 0 !== this.m_webLink;
        }
        GetWebLink() {
          return this.m_webLink;
        }
        GetVanityString() {
          return this.m_strVanity;
        }
        AdjustFollower(e) {
          this.m_nFollowers += e;
        }
        EnablePartnerEventEditorFlag() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            this.BIsPartnerEventEditorEnabled() ||
              (yield this.UpdateGroupFlagsFeature([2, 8], !0));
          });
        }
        UpdateGroupFlagsFeature(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let r = w.PARTNER_BASE_URL + "sales/ajaxupdateclanaccountflags",
              n = this.m_clanAccountFlags;
            if (
              (e.forEach((e) => {
                t ? (n |= e) : (n &= ~e);
              }),
              n == this.m_clanAccountFlags)
            )
              return;
            let i = new Array();
            1 & n && i.push(1),
              8 & n && i.push(8),
              2 & n && i.push(2),
              4 & n && i.push(4),
              16 & n && i.push(16),
              32 & n && i.push(32);
            let a = new FormData();
            a.append("sessionid", w.SESSIONID),
              a.append("clan_account_id", this.GetClanAccountID().toString()),
              a.append("accountflags", JSON.stringify(i));
            let s = yield Ze().post(r, a);
            s &&
              200 == s.status &&
              1 == s.data.success &&
              (this.m_clanAccountFlags = n);
          });
        }
      }
      (0, i.gn)([Je.LO], en.prototype, "m_appidList", void 0),
        (0, i.gn)([Je.LO], en.prototype, "m_nFollowers", void 0),
        (0, i.gn)([Je.LO], en.prototype, "m_clanAccountFlags", void 0);
      class tn {
        constructor() {
          (this.m_mapClanToCreatorHome = new Map()),
            (this.m_mapAppToCreatorIDList = new Map()),
            (this.m_bLoadedFromConfig = !1),
            (0, Je.rC)(this);
        }
        LazyInit() {
          if (!this.m_bLoadedFromConfig) {
            let e = b("creatorhome", "application_config");
            this.ValidateStoreDefault(e) &&
              e.forEach((e) => {
                let t = Number(e.creator_clan_id),
                  r = ot.InitFromClanID(t),
                  n = new en(r);
                n.Initialize(e),
                  (n.m_promise = tn.GetAsPromise(n)),
                  this.m_mapClanToCreatorHome.set(t, n);
              });
            let t = b("creatorhomeforapp", "application_config");
            this.ValidateStoreDefaultAppList(t) &&
              t.forEach((e) => {
                this.m_mapAppToCreatorIDList.has(e.appid) ||
                  this.m_mapAppToCreatorIDList.set(e.appid, new Array()),
                  this.m_mapAppToCreatorIDList.get(e.appid).push(e);
              }),
              (this.m_bLoadedFromConfig = !0);
          }
        }
        static GetAsPromise(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return e;
          });
        }
        ValidateStoreDefault(e) {
          const t = e;
          return (
            !!(
              t &&
              Array.isArray(t) &&
              t.length > 0 &&
              "object" == typeof t[0]
            ) &&
            "string" == typeof t[0].name &&
            ("string" == typeof t[0].creator_clan_id ||
              "number" == typeof t[0].creator_clan_id)
          );
        }
        ValidateStoreDefaultAppList(e) {
          const t = e;
          return (
            !!(
              t &&
              Array.isArray(t) &&
              t.length > 0 &&
              "object" == typeof t[0]
            ) &&
            "number" == typeof t[0].clan_account_id &&
              t[0].clan_account_id > 0 &&
              "number" == typeof t[0].appid &&
            t[0].appid > 0
          );
        }
        BHasCreatorHomeLoaded(e) {
          return (
            this.m_mapClanToCreatorHome.has(e.GetAccountID()) &&
            this.m_mapClanToCreatorHome.get(e.GetAccountID()).BIsLoaded()
          );
        }
        GetCreatorHome(e) {
          return this.m_mapClanToCreatorHome.get(e.GetAccountID());
        }
        GetCreatorHomeByID(e) {
          return this.m_mapClanToCreatorHome.get(e.clan_account_id);
        }
        LoadCreatorHome(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (
              (this.LazyInit(),
              !this.m_mapClanToCreatorHome.has(e.GetAccountID()))
            ) {
              let r = new en(e);
              (r.m_promise = this.InternalCreatorHome(r, t)),
                yield r.m_promise,
                this.m_mapClanToCreatorHome.set(e.GetAccountID(), r);
            }
            return this.m_mapClanToCreatorHome.get(e.GetAccountID()).m_promise;
          });
        }
        InternalCreatorHome(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let r = { get_appids: !0, l: w.LANGUAGE, origin: self.origin },
              n =
                w.STORE_BASE_URL +
                "curator/" +
                e.GetClanAccountID() +
                "/ajaxgetcreatorhomeinfo",
              i = yield Ze().get(n, { params: r, cancelToken: t && t.token });
            return e.Initialize(i.data), e;
          });
        }
        LoadCreatorHomeListForAppIncludeHiddden(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if ((this.LazyInit(), !this.m_mapAppToCreatorIDList.has(e))) {
              let r = { appid: e },
                n = w.STORE_BASE_URL + "events/ajaxgetcreatorhomeidforapp",
                i = yield Ze().get(n, {
                  params: r,
                  cancelToken: t && t.token,
                  withCredentials: !0,
                });
              this.m_mapAppToCreatorIDList.set(e, i.data.creator_list);
            }
            return this.m_mapAppToCreatorIDList.get(e);
          });
        }
        SearchCreatorHomeStore(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let n = `${w.STORE_BASE_URL}curator/0/ajaxsearchcurators`,
              i = {
                term: e.replace(" ", "+"),
                require_creator: t,
                cc: w.COUNTRY,
                l: w.LANGUAGE,
              },
              a = new Array();
            const s = yield Ze().get(n, { params: i, cancelToken: r.token });
            return (
              s.data.curators &&
                (0, Je.z)(() => {
                  s.data.curators.forEach((e) => {
                    if (!this.m_mapClanToCreatorHome.has(e.creator_clan_id)) {
                      let t = ot.InitFromClanID(e.creator_clan_id),
                        r = new en(t);
                      r.Initialize(e),
                        this.m_mapClanToCreatorHome.set(e.creator_clan_id, r);
                    }
                    a.push(this.m_mapClanToCreatorHome.get(e.creator_clan_id));
                  });
                }),
              a
            );
          });
        }
        GetCreatorHomeListForAppIncludeHidden(e) {
          return this.m_mapAppToCreatorIDList.has(e)
            ? this.m_mapAppToCreatorIDList.get(e)
            : [];
        }
      }
      (0, i.gn)([Je.LO], tn.prototype, "m_mapClanToCreatorHome", void 0),
        (0, i.gn)([Je.LO], tn.prototype, "m_mapAppToCreatorIDList", void 0),
        (0, i.gn)([Je.aD], tn.prototype, "LazyInit", null);
      const rn = new tn();
      window.g_CreatorHomeStore = rn;
      class nn {
        constructor() {
          (this.m_mapAppIDToClanInfo = new Map()),
            (this.m_mapVanityToClanInfo = new Map()),
            (this.m_mapClanAccountIDToClanInfo = new Map()),
            (this.m_mapPromisesLoading = new Map()),
            (this.m_rgQueuedEventsClanIDs = new Array()),
            (this.m_bLoadedFromConfig = !1),
            (0, Je.rC)(this);
        }
        Init() {
          this.LazyInit();
        }
        LazyInit() {
          this.m_bLoadedFromConfig ||
            ((0, Je.z)(() => {
              let e = f("groupvanityinfo", "application_config");
              this.ValidateClanConfig(e) &&
                e.forEach((e) => {
                  this.InternalSetupValue(e);
                });
            }),
            (this.m_bLoadedFromConfig = !0));
        }
        ValidateClanConfig(e) {
          const t = e;
          return (
            !!(
              t &&
              Array.isArray(t) &&
              t.length > 0 &&
              "object" == typeof t[0]
            ) &&
            "number" == typeof t[0].clanAccountID &&
            ("number" == typeof t[0].appid ||
              "string" == typeof t[0].vanity_url)
          );
        }
        BHasClanInfoLoaded(e) {
          return (
            c(e.BIsValid(), "Clan SteamID is not valid when ClanInfo"),
            c(
              e.BIsClanAccount(),
              "Clan SteamID is not a clan account id when requesting clan info ",
            ),
            this.m_mapClanAccountIDToClanInfo.has(e.GetAccountID())
          );
        }
        BHasClanInfoLoadedByAccountID(e) {
          return this.m_mapClanAccountIDToClanInfo.has(e);
        }
        RegisterClanData(e) {
          for (const t of e) this.InternalSetupValue(t);
        }
        InternalSetupValue(e) {
          const t = {
            clanAccountID: e.clanAccountID,
            clanSteamID: new ot(e.clanSteamIDString),
            appid: e.appid,
            vanity_url: e.vanity_url,
            member_count: e.member_count,
            is_ogg: e.is_ogg,
            is_creator_home: e.is_creator_home,
            is_curator: e.is_curator,
            has_visible_store_page: e.has_visible_store_page,
            has_rss_feed: e.has_rss_feed,
            rss_language: e.rss_language ? e.rss_language : 0,
            avatar_full_url: e.avatar_full_url,
            avatar_medium_url: e.avatar_medium_url,
            group_name: e.group_name,
            creator_page_bg_url: e.creator_page_bg_url,
            partner_events_enabled: e.partner_events_enabled,
          };
          0 != e.appid && this.m_mapAppIDToClanInfo.set(e.appid, t),
            e.vanity_url &&
              e.vanity_url.length > 0 &&
              this.m_mapVanityToClanInfo.set(
                e.vanity_url.toLocaleLowerCase(),
                t,
              ),
            this.m_mapClanAccountIDToClanInfo.set(e.clanAccountID, t);
        }
        GetRequestParam() {
          return { origin: self.origin };
        }
        LoadOGGClanInfoForAppID(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (
              (this.LazyInit(),
              "string" == typeof e && (e = parseInt(e)),
              c(0 != e, "LoadOGGClanInfoForAppID called with appid of zero"),
              0 == e)
            )
              return null;
            if (this.m_mapAppIDToClanInfo.has(e))
              return this.m_mapAppIDToClanInfo.get(e);
            let t = "appid_" + e;
            return (
              this.m_mapPromisesLoading.has(t) ||
                this.m_mapPromisesLoading.set(
                  t,
                  this.InternalLoadOGGClanInfoForAppID(e),
                ),
              this.m_mapPromisesLoading.get(t)
            );
          });
        }
        InternalLoadOGGClanInfoForAppID(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const t =
              w.COMMUNITY_BASE_URL + "ogg/" + e + "/ajaxgetvanityandclanid/";
            let r = yield Ze().get(t, { params: this.GetRequestParam() });
            return (
              this.InternalSetupValue(r.data), this.m_mapAppIDToClanInfo.get(e)
            );
          });
        }
        LoadOGGClanInfoForIdentifier(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (
              (this.LazyInit(),
              this.m_mapVanityToClanInfo.has(
                null == e ? void 0 : e.toLocaleLowerCase(),
              ))
            )
              return this.m_mapVanityToClanInfo.get(
                null == e ? void 0 : e.toLocaleLowerCase(),
              );
            let t =
              "storevanity_" + (null == e ? void 0 : e.toLocaleLowerCase());
            return (
              this.m_mapPromisesLoading.has(t) ||
                this.m_mapPromisesLoading.set(
                  t,
                  this.InternalLoadOGGClanInfoForIdentifier(e),
                ),
              this.m_mapPromisesLoading.get(t)
            );
          });
        }
        InternalLoadOGGClanInfoForIdentifier(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const t =
              w.COMMUNITY_BASE_URL + "games/" + e + "/ajaxgetvanityandclanid/";
            let r = yield Ze().get(t, { params: this.GetRequestParam() });
            return (
              this.InternalSetupValue(r.data),
              this.m_mapVanityToClanInfo.get(
                null == e ? void 0 : e.toLocaleLowerCase(),
              )
            );
          });
        }
        LoadOGGClanInfoForGroupVanity(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (
              (this.LazyInit(),
              this.m_mapVanityToClanInfo.has(
                null == e ? void 0 : e.toLocaleLowerCase(),
              ))
            )
              return this.m_mapVanityToClanInfo.get(
                null == e ? void 0 : e.toLocaleLowerCase(),
              );
            let t = "community_name_" + e;
            return (
              this.m_mapPromisesLoading.has(t) ||
                this.m_mapPromisesLoading.set(
                  t,
                  this.InternalLoadOGGClanInfoForGroupVanity(
                    null == e ? void 0 : e.toLocaleLowerCase(),
                  ),
                ),
              this.m_mapPromisesLoading.get(t)
            );
          });
        }
        InternalLoadOGGClanInfoForGroupVanity(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const t =
              w.COMMUNITY_BASE_URL + "groups/" + e + "/ajaxgetvanityandclanid/";
            let r = yield Ze().get(t, { params: this.GetRequestParam() });
            return (
              this.InternalSetupValue(r.data),
              this.m_mapVanityToClanInfo.get(
                null == e ? void 0 : e.toLocaleLowerCase(),
              )
            );
          });
        }
        LoadClanInfoForClanSteamID(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            this.LazyInit();
            let t = e.GetAccountID();
            if (this.m_mapClanAccountIDToClanInfo.has(t))
              return this.m_mapClanAccountIDToClanInfo.get(t);
            let r = "clanaccountid_" + t;
            return (
              this.m_mapPromisesLoading.has(r) ||
                this.m_mapPromisesLoading.set(
                  r,
                  this.InternalLoadClanInfoForClanSteamID(e),
                ),
              this.m_mapPromisesLoading.get(r)
            );
          });
        }
        LoadClanInfoForClanAccountID(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const t = ot.InitFromClanID(e);
            return this.LoadClanInfoForClanSteamID(t);
          });
        }
        InternalLoadClanInfoForClanSteamID(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let t = e.GetAccountID();
            const r =
              w.COMMUNITY_BASE_URL +
              "gid/" +
              e.ConvertTo64BitString() +
              "/ajaxgetvanityandclanid/";
            let n = yield Ze().get(r, { params: this.GetRequestParam() });
            return (
              this.InternalSetupValue(n.data),
              this.m_mapClanAccountIDToClanInfo.get(t)
            );
          });
        }
        GetOGGClanInfo(e) {
          return "string" == typeof e
            ? this.m_mapVanityToClanInfo.get(
                null == e ? void 0 : e.toLocaleLowerCase(),
              )
            : this.m_mapAppIDToClanInfo.get(e);
        }
        GetClanSteamIDForAppID(e) {
          if ((this.LazyInit(), this.m_mapAppIDToClanInfo.has(e)))
            return ot.InitFromClanID(
              this.m_mapAppIDToClanInfo.get(e).clanAccountID,
            );
        }
        GetClanVanityForAppID(e) {
          if ((this.LazyInit(), this.m_mapAppIDToClanInfo.has(e)))
            return this.m_mapAppIDToClanInfo.get(e).vanity_url;
        }
        GetClanVanityForClanSteamID(e) {
          if (
            (this.LazyInit(),
            this.m_mapClanAccountIDToClanInfo.has(e.GetAccountID()))
          )
            return this.m_mapClanAccountIDToClanInfo.get(e.GetAccountID())
              .vanity_url;
        }
        HasLoadedClanAccountID(e) {
          return this.LazyInit(), this.m_mapClanAccountIDToClanInfo.has(e);
        }
        GetClanMemberCount(e) {
          return this.m_mapAppIDToClanInfo.has(e)
            ? this.m_mapAppIDToClanInfo.get(e).member_count
            : 0;
        }
        GetClanInfoByClanAccountID(e) {
          return (
            this.LazyInit(),
            c(
              !!e,
              "Unepxected clanid when requesting information. GetClanInfoByClanAccountID ",
            ),
            this.m_mapClanAccountIDToClanInfo.get(e)
          );
        }
        GetCreatorStoreURL(e) {
          let t = rn.GetCreatorHome(e);
          if (t) return t.GetCreatorHomeURL("developer");
          let r = this.GetClanInfoByClanAccountID(e.GetAccountID());
          return (
            w.COMMUNITY_BASE_URL +
            (r.vanity_url
              ? "groups/" + r.vanity_url
              : "gid/" + e.ConvertTo64BitString())
          );
        }
      }
      (0, i.gn)([Je.LO], nn.prototype, "m_mapAppIDToClanInfo", void 0),
        (0, i.gn)([Je.LO], nn.prototype, "m_mapVanityToClanInfo", void 0),
        (0, i.gn)(
          [Je.LO],
          nn.prototype,
          "m_mapClanAccountIDToClanInfo",
          void 0,
        ),
        (0, i.gn)([Je.aD], nn.prototype, "RegisterClanData", null),
        (0, i.gn)([Je.aD], nn.prototype, "InternalSetupValue", null);
      const an = new nn();
      window.g_ClanStore = an;
      var sn = r(8787),
        on = r.n(sn);
      class ln {
        constructor() {
          (this.bOpenEventLandingPage = !1),
            (this.bIncludeFeaturedAsGameSource = !0),
            (this.nOverrideDateNow = void 0),
            (0, Je.rC)(this);
        }
        get bRequireAllEventsLoadedInTimeBlock() {
          return !1;
        }
        get bIsFollowingEnabled() {
          return !D();
        }
        get bIsCuratorsEnabled() {
          return !D();
        }
        get bIncludeCurators() {
          return !0;
        }
        GetTimeNowWithOverride() {
          return this.nOverrideDateNow
            ? this.nOverrideDateNow
            : Math.floor(Date.now() / 1e3);
        }
        GetTimeNowWithOverrideAsDate() {
          return this.nOverrideDateNow
            ? new Date(1e3 * this.nOverrideDateNow)
            : new Date();
        }
        BHasTimeOverride() {
          return Boolean(this.nOverrideDateNow);
        }
        ParseDevOverrides(e) {
          if (!e || 0 == e.length) return;
          const t = new URLSearchParams("?" == e[0] ? e.substring(1) : e);
          if (
            t.has("t") &&
            ("dev" == w.WEB_UNIVERSE || "beta" == w.WEB_UNIVERSE)
          ) {
            const e = t.get("t");
            let r = /^\d+$/.test(e) ? on().unix(Number.parseInt(e)) : on()(e);
            (this.nOverrideDateNow = Math.floor(r.unix())),
              console.log(
                "CEventCalendarDevFeatures overriding partner event time: " +
                  this.nOverrideDateNow +
                  " " +
                  r.format(),
              );
          }
        }
      }
      (0, i.gn)([Je.LO], ln.prototype, "nOverrideDateNow", void 0);
      const cn = new ln();
      window.g_EventCalendarDevFeatures = cn;
      const un = new Date();
      Math.floor(un.getTime() / 1e3);
      var dn = r(7086);
      function mn(e, t) {
        return e < t ? -1 : e > t ? 1 : 0;
      }
      function _n(e) {
        return atob(e.replace(/-/g, "+").replace(/_/g, "/"));
      }
      function hn(e) {
        try {
          if (!e || "string" != typeof e) return null;
          const t = e.split(".");
          if (3 !== t.length) return null;
          const [r, n] = t,
            i = _n(r),
            a = _n(n);
          return i && a ? { header: JSON.parse(i), body: JSON.parse(a) } : null;
        } catch (e) {
          return (
            console.error(`Exception while attempting to decode token: "${e}"`),
            null
          );
        }
      }
      function pn(e) {
        return e ? e.body.exp : 0;
      }
      class gn {
        constructor(e, t, r = !1, n) {
          (this.m_webApiAccessToken = ""),
            (this.m_bJsonMode = !1),
            (this.m_bJWTToken = !1),
            (this.m_dtLastExpireCheck = 0),
            (this.m_strWebAPIBaseURL = e),
            (this.m_webApiAccessToken = t),
            (this.m_bJsonMode = r),
            (this.m_fnRequestNewAccessToken = n),
            (this.m_bJWTToken = null != hn(t)),
            this.ConstructServiceTransport();
        }
        WaitUntilLoggedOn() {
          return Promise.resolve();
        }
        GetServerRTime32() {
          return Number(new Date());
        }
        get steamid() {
          return new ot();
        }
        RTime32ToDate(e) {
          return new Date(1e3 * e);
        }
        MakeReady() {
          return Promise.resolve({ result: 1, message: "ready" });
        }
        GetServiceTransport() {
          return this.m_ServiceTransport;
        }
        GetWebAPIAccessToken() {
          return this.m_webApiAccessToken;
        }
        GetAnonymousServiceTransport() {
          return this.m_AnonymousServiceTransport;
        }
        ConstructServiceTransport() {
          (this.m_ServiceTransport = {
            SendMsg: this.SendMsgAndAwaitResponse.bind(this, { bSendAuth: !0 }),
            SendNotification: this.SendNotification.bind(this, {
              bSendAuth: !0,
            }),
            MakeReady: this.MakeReady.bind(this),
          }),
            (this.m_AnonymousServiceTransport = {
              SendMsg: this.SendMsgAndAwaitResponse.bind(this, {
                bSendAuth: !1,
              }),
              SendNotification: this.SendNotification.bind(this, {
                bSendAuth: !1,
              }),
              MakeReady: this.MakeReady.bind(this),
            });
        }
        SendMsgAndAwaitResponse(e, t, r, n, a) {
          var s;
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = null;
            try {
              if (this.m_bJWTToken && e.bSendAuth) {
                const e = Date.now() / 1e3;
                this.m_refreshAccessTokenPromise
                  ? yield this.m_refreshAccessTokenPromise
                  : this.m_fnRequestNewAccessToken &&
                    e - this.m_dtLastExpireCheck > 60 &&
                    ((this.m_dtLastExpireCheck = e),
                    (function (e) {
                      const t = pn(e),
                        r = (function (e) {
                          return e ? e.body.nbf || e.body.iat : 0;
                        })(e);
                      let n = 900;
                      const i = t - r;
                      return (
                        i < 1350 && (n = i <= 60 ? 0 : 60),
                        pn(e) - n < Date.now() / 1e3
                      );
                    })(hn(this.m_webApiAccessToken)) &&
                      ((this.m_refreshAccessTokenPromise =
                        this.m_fnRequestNewAccessToken()),
                      (this.m_webApiAccessToken =
                        yield this.m_refreshAccessTokenPromise),
                      (this.m_refreshAccessTokenPromise = null)));
              }
              let s = yield this.Send(e, t, r, a);
              if (200 != s.status || !s.data) throw new Error("Request Error");
              if (
                ((i = At.Init(n, 147)),
                s.headers &&
                  (s.headers["x-eresult"] &&
                    i.Hdr().set_eresult(parseInt(s.headers["x-eresult"])),
                  s.headers["x-error_message"] &&
                    i.Hdr().set_error_message(s.headers["x-error_message"])),
                this.m_bJsonMode)
              )
                i.SetBodyJSON(s.data.response);
              else {
                let e = new Tt(s.data),
                  t = new lt.BinaryReader(
                    e.GetPacket(),
                    e.TellGet(),
                    e.GetCountBytesRemaining(),
                  );
                n.deserializeBinaryFromReader(i.Body(), t);
              }
              0;
            } catch (t) {
              const r =
                  401 ===
                  (null === (s = null == t ? void 0 : t.response) ||
                  void 0 === s
                    ? void 0
                    : s.status),
                a = r ? "Unauthorized" : null;
              (i = this.CreateFailedMsgProtobuf(n, 3, a)),
                r &&
                  !this.m_refreshAccessTokenPromise &&
                  this.m_bJWTToken &&
                  e.bSendAuth &&
                  this.m_fnRequestNewAccessToken &&
                  ((this.m_refreshAccessTokenPromise =
                    this.m_fnRequestNewAccessToken()),
                  (this.m_webApiAccessToken =
                    yield this.m_refreshAccessTokenPromise),
                  (this.m_refreshAccessTokenPromise = null));
            }
            return i;
          });
        }
        SendNotification(e, t, r, n) {
          return this.Send(e, t, r, n), !0;
        }
        Send(e, t, r, n) {
          let i = this.CreateWebAPIURL(t),
            a = r.SerializeBody(),
            s = dn.JQ(a);
          const o = n.eWebAPIKeyRequirement;
          let l = 0 == n.ePrivilege && 1 == o,
            c = {
              responseType: this.m_bJsonMode ? "json" : "arraybuffer",
              params: {},
              headers: n.bConstMethod
                ? {}
                : { "Content-Type": "multipart/form-data" },
            };
          if (
            (e.bSendAuth ||
              1 == o ||
              console.error(
                `Attempting to invoke service ${t} without auth, but auth is required.`,
              ),
            this.m_webApiAccessToken &&
              e.bSendAuth &&
              !l &&
              (c.params.access_token = this.m_webApiAccessToken),
            n.bConstMethod)
          )
            return (
              (c.params.origin = self.origin),
              this.m_bJsonMode
                ? (c.params.input_json = JSON.stringify(r.Body().toObject()))
                : (c.params.input_protobuf_encoded = s),
              Ze().get(i, c)
            );
          {
            const e = new FormData();
            return (
              this.m_bJsonMode
                ? e.append("input_json", JSON.stringify(r.Body().toObject()))
                : e.append("input_protobuf_encoded", s),
              Ze().post(i, e, c)
            );
          }
        }
        CreateWebAPIURL(e) {
          let t = e.match(/([^\.]+)\.(.+)#(\d+)/);
          return t && 4 == t.length
            ? `${this.m_strWebAPIBaseURL}I${t[1]}Service/${t[2]}/v${t[3]}`
            : null;
        }
        CreateFailedMsgProtobuf(e, t, r) {
          let n = At.Init(e);
          return (
            n.Hdr().set_eresult(2),
            n.Hdr().set_transport_error(t),
            r && n.Hdr().set_error_message(r),
            n
          );
        }
      }
      (0, i.gn)([ye], gn.prototype, "SendMsgAndAwaitResponse", null),
        (0, i.gn)([ye], gn.prototype, "SendNotification", null),
        (0, i.gn)([ye], gn.prototype, "Send", null);
      const bn = lt.Message;
      class fn extends bn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            fn.prototype.sale_filter || gt(fn.M()),
            bn.initialize(this, e, 0, -1, [3], null);
        }
        static M() {
          return (
            fn.sm_m ||
              (fn.sm_m = {
                proto: fn,
                fields: {
                  sale_filter: { n: 1, c: vn },
                  content_hub_filter: { n: 2, c: yn },
                  store_filters: { n: 3, c: wn, r: !0, q: !0 },
                },
              }),
            fn.sm_m
          );
        }
        static MBF() {
          return fn.sm_mbf || (fn.sm_mbf = dt(fn.M())), fn.sm_mbf;
        }
        toObject(e = !1) {
          return fn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(fn.M(), e, t);
        }
        static fromObject(e) {
          return mt(fn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new fn();
          return fn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(fn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return fn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(fn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return fn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStorePageFilter";
        }
      }
      class vn extends bn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            vn.prototype.sale_tagid || gt(vn.M()),
            bn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            vn.sm_m ||
              (vn.sm_m = {
                proto: vn,
                fields: {
                  sale_tagid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            vn.sm_m
          );
        }
        static MBF() {
          return vn.sm_mbf || (vn.sm_mbf = dt(vn.M())), vn.sm_mbf;
        }
        toObject(e = !1) {
          return vn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(vn.M(), e, t);
        }
        static fromObject(e) {
          return mt(vn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new vn();
          return vn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(vn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return vn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(vn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return vn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStorePageFilter_SalePageFilter";
        }
      }
      class yn extends bn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            yn.prototype.hub_type || gt(yn.M()),
            bn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            yn.sm_m ||
              (yn.sm_m = {
                proto: yn,
                fields: {
                  hub_type: { n: 1, br: ct.readString, bw: ut.writeString },
                  hub_category: { n: 2, br: ct.readString, bw: ut.writeString },
                  hub_tagid: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  discount_filter: { n: 4, br: ct.readEnum, bw: ut.writeEnum },
                  optin: { n: 5, c: Sn },
                },
              }),
            yn.sm_m
          );
        }
        static MBF() {
          return yn.sm_mbf || (yn.sm_mbf = dt(yn.M())), yn.sm_mbf;
        }
        toObject(e = !1) {
          return yn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(yn.M(), e, t);
        }
        static fromObject(e) {
          return mt(yn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new yn();
          return yn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(yn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return yn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(yn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return yn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStorePageFilter_ContentHubFilter";
        }
      }
      class Sn extends bn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Sn.prototype.name || gt(Sn.M()),
            bn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Sn.sm_m ||
              (Sn.sm_m = {
                proto: Sn,
                fields: {
                  name: { n: 1, br: ct.readString, bw: ut.writeString },
                  optin_tagid: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  prune_tagid: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  optin_only: { n: 4, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            Sn.sm_m
          );
        }
        static MBF() {
          return Sn.sm_mbf || (Sn.sm_mbf = dt(Sn.M())), Sn.sm_mbf;
        }
        toObject(e = !1) {
          return Sn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Sn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Sn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Sn();
          return Sn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Sn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Sn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Sn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Sn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStorePageFilter_ContentHubFilter_OptInInfo";
        }
      }
      class wn extends bn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            wn.prototype.filter_json || gt(wn.M()),
            bn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            wn.sm_m ||
              (wn.sm_m = {
                proto: wn,
                fields: {
                  filter_json: { n: 1, br: ct.readString, bw: ut.writeString },
                  cache_key: { n: 2, br: ct.readString, bw: ut.writeString },
                },
              }),
            wn.sm_m
          );
        }
        static MBF() {
          return wn.sm_mbf || (wn.sm_mbf = dt(wn.M())), wn.sm_mbf;
        }
        toObject(e = !1) {
          return wn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(wn.M(), e, t);
        }
        static fromObject(e) {
          return mt(wn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new wn();
          return wn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(wn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return wn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(wn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return wn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStorePageFilter_StoreFilter";
        }
      }
      const Cn = lt.Message;
      class Bn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Bn.prototype.type || gt(Bn.M()),
            Cn.initialize(this, e, 0, -1, [3], null);
        }
        static M() {
          return (
            Bn.sm_m ||
              (Bn.sm_m = {
                proto: Bn,
                fields: {
                  type: { n: 1, br: ct.readString, bw: ut.writeString },
                  rating: { n: 2, br: ct.readString, bw: ut.writeString },
                  descriptors: {
                    n: 3,
                    r: !0,
                    q: !0,
                    br: ct.readString,
                    bw: ut.writeRepeatedString,
                  },
                  interactive_elements: {
                    n: 4,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  required_age: { n: 10, br: ct.readInt32, bw: ut.writeInt32 },
                  use_age_gate: { n: 11, br: ct.readBool, bw: ut.writeBool },
                  image_url: { n: 20, br: ct.readString, bw: ut.writeString },
                  image_target: {
                    n: 21,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                },
              }),
            Bn.sm_m
          );
        }
        static MBF() {
          return Bn.sm_mbf || (Bn.sm_mbf = dt(Bn.M())), Bn.sm_mbf;
        }
        toObject(e = !1) {
          return Bn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Bn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Bn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Bn();
          return Bn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Bn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Bn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Bn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Bn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreGameRating";
        }
      }
      class En extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            En.prototype.item_type || gt(En.M()),
            Cn.initialize(
              this,
              e,
              0,
              -1,
              [11, 12, 20, 21, 25, 41, 42, 52],
              null,
            );
        }
        static M() {
          return (
            En.sm_m ||
              (En.sm_m = {
                proto: En,
                fields: {
                  item_type: { n: 1, br: ct.readEnum, bw: ut.writeEnum },
                  id: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  success: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  visible: { n: 4, br: ct.readBool, bw: ut.writeBool },
                  unvailable_for_country_restriction: {
                    n: 5,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  name: { n: 6, br: ct.readString, bw: ut.writeString },
                  store_url_path: {
                    n: 7,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  appid: { n: 9, br: ct.readUint32, bw: ut.writeUint32 },
                  type: { n: 10, br: ct.readEnum, bw: ut.writeEnum },
                  included_types: {
                    n: 11,
                    r: !0,
                    q: !0,
                    br: ct.readEnum,
                    pbr: ct.readPackedEnum,
                    bw: ut.writeRepeatedEnum,
                  },
                  included_appids: {
                    n: 12,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                  is_free: { n: 13, br: ct.readBool, bw: ut.writeBool },
                  is_early_access: { n: 14, br: ct.readBool, bw: ut.writeBool },
                  related_items: { n: 15, c: In },
                  included_items: { n: 16, c: Rn },
                  content_descriptorids: {
                    n: 20,
                    r: !0,
                    q: !0,
                    br: ct.readEnum,
                    pbr: ct.readPackedEnum,
                    bw: ut.writeRepeatedEnum,
                  },
                  tagids: {
                    n: 21,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                  categories: { n: 22, c: Tn },
                  reviews: { n: 23, c: Mn },
                  basic_info: { n: 24, c: An },
                  tags: { n: 25, c: Fn, r: !0, q: !0 },
                  assets: { n: 30, c: Ln },
                  release: { n: 31, c: kn },
                  platforms: { n: 32, c: Nn },
                  game_rating: { n: 33, c: Bn },
                  best_purchase_option: { n: 40, c: Gn },
                  purchase_options: { n: 41, c: Gn, r: !0, q: !0 },
                  accessories: { n: 42, c: Gn, r: !0, q: !0 },
                  screenshots: { n: 50, c: zn },
                  trailers: { n: 51, c: jn },
                  supported_languages: { n: 52, c: qn, r: !0, q: !0 },
                  store_url_path_override: {
                    n: 53,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  free_weekend: { n: 54, c: Kn },
                  unlisted: { n: 55, br: ct.readBool, bw: ut.writeBool },
                  game_count: { n: 56, br: ct.readUint32, bw: ut.writeUint32 },
                  internal_name: {
                    n: 57,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  full_description: {
                    n: 58,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  is_free_temporarily: {
                    n: 59,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  assets_without_overrides: { n: 60, c: Ln },
                },
              }),
            En.sm_m
          );
        }
        static MBF() {
          return En.sm_mbf || (En.sm_mbf = dt(En.M())), En.sm_mbf;
        }
        toObject(e = !1) {
          return En.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(En.M(), e, t);
        }
        static fromObject(e) {
          return mt(En.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new En();
          return En.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(En.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return En.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(En.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return En.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem";
        }
      }
      class In extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            In.prototype.parent_appid || gt(In.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            In.sm_m ||
              (In.sm_m = {
                proto: In,
                fields: {
                  parent_appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            In.sm_m
          );
        }
        static MBF() {
          return In.sm_mbf || (In.sm_mbf = dt(In.M())), In.sm_mbf;
        }
        toObject(e = !1) {
          return In.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(In.M(), e, t);
        }
        static fromObject(e) {
          return mt(In.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new In();
          return In.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(In.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return In.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(In.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return In.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_RelatedItems";
        }
      }
      class Rn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Rn.prototype.included_apps || gt(Rn.M()),
            Cn.initialize(this, e, 0, -1, [1, 2], null);
        }
        static M() {
          return (
            Rn.sm_m ||
              (Rn.sm_m = {
                proto: Rn,
                fields: {
                  included_apps: { n: 1, c: En, r: !0, q: !0 },
                  included_packages: { n: 2, c: En, r: !0, q: !0 },
                },
              }),
            Rn.sm_m
          );
        }
        static MBF() {
          return Rn.sm_mbf || (Rn.sm_mbf = dt(Rn.M())), Rn.sm_mbf;
        }
        toObject(e = !1) {
          return Rn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Rn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Rn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Rn();
          return Rn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Rn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Rn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Rn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Rn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_IncludedItems";
        }
      }
      class Tn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Tn.prototype.supported_player_categoryids || gt(Tn.M()),
            Cn.initialize(this, e, 0, -1, [2, 3, 4], null);
        }
        static M() {
          return (
            Tn.sm_m ||
              (Tn.sm_m = {
                proto: Tn,
                fields: {
                  supported_player_categoryids: {
                    n: 2,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                  feature_categoryids: {
                    n: 3,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                  controller_categoryids: {
                    n: 4,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                },
              }),
            Tn.sm_m
          );
        }
        static MBF() {
          return Tn.sm_mbf || (Tn.sm_mbf = dt(Tn.M())), Tn.sm_mbf;
        }
        toObject(e = !1) {
          return Tn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Tn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Tn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Tn();
          return Tn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Tn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Tn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Tn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Tn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Categories";
        }
      }
      class Mn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Mn.prototype.summary_filtered || gt(Mn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Mn.sm_m ||
              (Mn.sm_m = {
                proto: Mn,
                fields: {
                  summary_filtered: { n: 1, c: Dn },
                  summary_unfiltered: { n: 2, c: Dn },
                },
              }),
            Mn.sm_m
          );
        }
        static MBF() {
          return Mn.sm_mbf || (Mn.sm_mbf = dt(Mn.M())), Mn.sm_mbf;
        }
        toObject(e = !1) {
          return Mn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Mn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Mn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Mn();
          return Mn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Mn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Mn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Mn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Mn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Reviews";
        }
      }
      class Dn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Dn.prototype.review_count || gt(Dn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Dn.sm_m ||
              (Dn.sm_m = {
                proto: Dn,
                fields: {
                  review_count: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  percent_positive: {
                    n: 2,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  review_score: { n: 3, br: ct.readEnum, bw: ut.writeEnum },
                  review_score_label: {
                    n: 4,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                },
              }),
            Dn.sm_m
          );
        }
        static MBF() {
          return Dn.sm_mbf || (Dn.sm_mbf = dt(Dn.M())), Dn.sm_mbf;
        }
        toObject(e = !1) {
          return Dn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Dn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Dn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Dn();
          return Dn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Dn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Dn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Dn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Dn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Reviews_StoreReviewSummary";
        }
      }
      class An extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            An.prototype.short_description || gt(An.M()),
            Cn.initialize(this, e, 0, -1, [2, 3, 4], null);
        }
        static M() {
          return (
            An.sm_m ||
              (An.sm_m = {
                proto: An,
                fields: {
                  short_description: {
                    n: 1,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  publishers: { n: 2, c: On, r: !0, q: !0 },
                  developers: { n: 3, c: On, r: !0, q: !0 },
                  franchises: { n: 4, c: On, r: !0, q: !0 },
                  capsule_headline: {
                    n: 5,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                },
              }),
            An.sm_m
          );
        }
        static MBF() {
          return An.sm_mbf || (An.sm_mbf = dt(An.M())), An.sm_mbf;
        }
        toObject(e = !1) {
          return An.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(An.M(), e, t);
        }
        static fromObject(e) {
          return mt(An.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new An();
          return An.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(An.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return An.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(An.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return An.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_BasicInfo";
        }
      }
      class On extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            On.prototype.name || gt(On.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            On.sm_m ||
              (On.sm_m = {
                proto: On,
                fields: {
                  name: { n: 1, br: ct.readString, bw: ut.writeString },
                  creator_clan_account_id: {
                    n: 2,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            On.sm_m
          );
        }
        static MBF() {
          return On.sm_mbf || (On.sm_mbf = dt(On.M())), On.sm_mbf;
        }
        toObject(e = !1) {
          return On.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(On.M(), e, t);
        }
        static fromObject(e) {
          return mt(On.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new On();
          return On.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(On.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return On.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(On.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return On.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_BasicInfo_CreatorHomeLink";
        }
      }
      class Fn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Fn.prototype.tagid || gt(Fn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Fn.sm_m ||
              (Fn.sm_m = {
                proto: Fn,
                fields: {
                  tagid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  weight: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            Fn.sm_m
          );
        }
        static MBF() {
          return Fn.sm_mbf || (Fn.sm_mbf = dt(Fn.M())), Fn.sm_mbf;
        }
        toObject(e = !1) {
          return Fn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Fn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Fn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Fn();
          return Fn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Fn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Fn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Fn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Fn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Tag";
        }
      }
      class Ln extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Ln.prototype.asset_url_format || gt(Ln.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Ln.sm_m ||
              (Ln.sm_m = {
                proto: Ln,
                fields: {
                  asset_url_format: {
                    n: 1,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  main_capsule: { n: 2, br: ct.readString, bw: ut.writeString },
                  small_capsule: {
                    n: 3,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  header: { n: 4, br: ct.readString, bw: ut.writeString },
                  package_header: {
                    n: 5,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  page_background: {
                    n: 6,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  hero_capsule: { n: 7, br: ct.readString, bw: ut.writeString },
                  hero_capsule_2x: {
                    n: 8,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  library_capsule: {
                    n: 9,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  library_capsule_2x: {
                    n: 10,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  library_hero: {
                    n: 11,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  library_hero_2x: {
                    n: 12,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  community_icon: {
                    n: 13,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  clan_avatar: { n: 14, br: ct.readString, bw: ut.writeString },
                },
              }),
            Ln.sm_m
          );
        }
        static MBF() {
          return Ln.sm_mbf || (Ln.sm_mbf = dt(Ln.M())), Ln.sm_mbf;
        }
        toObject(e = !1) {
          return Ln.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Ln.M(), e, t);
        }
        static fromObject(e) {
          return mt(Ln.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Ln();
          return Ln.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Ln.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Ln.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Ln.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Ln.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Assets";
        }
      }
      class kn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            kn.prototype.steam_release_date || gt(kn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            kn.sm_m ||
              (kn.sm_m = {
                proto: kn,
                fields: {
                  steam_release_date: {
                    n: 1,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  original_release_date: {
                    n: 2,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  original_steam_release_date: {
                    n: 3,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  is_coming_soon: { n: 4, br: ct.readBool, bw: ut.writeBool },
                  is_preload: { n: 5, br: ct.readBool, bw: ut.writeBool },
                  custom_release_date_message: {
                    n: 6,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  is_abridged_release_date: {
                    n: 7,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  coming_soon_display: {
                    n: 8,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  is_early_access: { n: 10, br: ct.readBool, bw: ut.writeBool },
                  mac_release_date: {
                    n: 20,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  linux_release_date: {
                    n: 21,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            kn.sm_m
          );
        }
        static MBF() {
          return kn.sm_mbf || (kn.sm_mbf = dt(kn.M())), kn.sm_mbf;
        }
        toObject(e = !1) {
          return kn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(kn.M(), e, t);
        }
        static fromObject(e) {
          return mt(kn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new kn();
          return kn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(kn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return kn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(kn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return kn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_ReleaseInfo";
        }
      }
      class Nn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Nn.prototype.windows || gt(Nn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Nn.sm_m ||
              (Nn.sm_m = {
                proto: Nn,
                fields: {
                  windows: { n: 1, br: ct.readBool, bw: ut.writeBool },
                  mac: { n: 2, br: ct.readBool, bw: ut.writeBool },
                  steamos_linux: { n: 3, br: ct.readBool, bw: ut.writeBool },
                  vr_support: { n: 10, c: Pn },
                  steam_deck_compat_category: {
                    n: 11,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                },
              }),
            Nn.sm_m
          );
        }
        static MBF() {
          return Nn.sm_mbf || (Nn.sm_mbf = dt(Nn.M())), Nn.sm_mbf;
        }
        toObject(e = !1) {
          return Nn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Nn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Nn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Nn();
          return Nn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Nn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Nn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Nn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Nn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Platforms";
        }
      }
      class Pn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Pn.prototype.vrhmd || gt(Pn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Pn.sm_m ||
              (Pn.sm_m = {
                proto: Pn,
                fields: {
                  vrhmd: { n: 1, br: ct.readBool, bw: ut.writeBool },
                  vrhmd_only: { n: 2, br: ct.readBool, bw: ut.writeBool },
                  htc_vive: { n: 40, br: ct.readBool, bw: ut.writeBool },
                  oculus_rift: { n: 41, br: ct.readBool, bw: ut.writeBool },
                  windows_mr: { n: 42, br: ct.readBool, bw: ut.writeBool },
                  valve_index: { n: 43, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            Pn.sm_m
          );
        }
        static MBF() {
          return Pn.sm_mbf || (Pn.sm_mbf = dt(Pn.M())), Pn.sm_mbf;
        }
        toObject(e = !1) {
          return Pn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Pn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Pn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Pn();
          return Pn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Pn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Pn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Pn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Pn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Platforms_VRSupport";
        }
      }
      class Gn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Gn.prototype.packageid || gt(Gn.M()),
            Cn.initialize(this, e, 0, -1, [20, 21, 22], null);
        }
        static M() {
          return (
            Gn.sm_m ||
              (Gn.sm_m = {
                proto: Gn,
                fields: {
                  packageid: { n: 1, br: ct.readInt32, bw: ut.writeInt32 },
                  bundleid: { n: 2, br: ct.readInt32, bw: ut.writeInt32 },
                  purchase_option_name: {
                    n: 3,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  final_price_in_cents: {
                    n: 5,
                    br: ct.readInt64String,
                    bw: ut.writeInt64String,
                  },
                  original_price_in_cents: {
                    n: 6,
                    br: ct.readInt64String,
                    bw: ut.writeInt64String,
                  },
                  user_final_price_in_cents: {
                    n: 7,
                    br: ct.readInt64String,
                    bw: ut.writeInt64String,
                  },
                  formatted_final_price: {
                    n: 8,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  formatted_original_price: {
                    n: 9,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  discount_pct: { n: 10, br: ct.readInt32, bw: ut.writeInt32 },
                  user_discount_pct: {
                    n: 11,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  bundle_discount_pct: {
                    n: 12,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  active_discounts: { n: 20, c: xn, r: !0, q: !0 },
                  user_active_discounts: { n: 21, c: xn, r: !0, q: !0 },
                  inactive_discounts: { n: 22, c: xn, r: !0, q: !0 },
                  user_can_purchase: {
                    n: 30,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  user_can_purchase_as_gift: {
                    n: 31,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  is_commercial_license: {
                    n: 40,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  should_suppress_discount_pct: {
                    n: 41,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  hide_discount_pct_for_compliance: {
                    n: 42,
                    d: !1,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  included_game_count: {
                    n: 43,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  lowest_recent_price_in_cents: {
                    n: 44,
                    br: ct.readInt64String,
                    bw: ut.writeInt64String,
                  },
                  requires_shipping: {
                    n: 45,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  recurrence_info: { n: 46, c: Un },
                },
              }),
            Gn.sm_m
          );
        }
        static MBF() {
          return Gn.sm_mbf || (Gn.sm_mbf = dt(Gn.M())), Gn.sm_mbf;
        }
        toObject(e = !1) {
          return Gn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Gn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Gn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Gn();
          return Gn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Gn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Gn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Gn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Gn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_PurchaseOption";
        }
      }
      class xn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            xn.prototype.discount_amount || gt(xn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            xn.sm_m ||
              (xn.sm_m = {
                proto: xn,
                fields: {
                  discount_amount: {
                    n: 1,
                    br: ct.readInt64String,
                    bw: ut.writeInt64String,
                  },
                  discount_description: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  discount_end_date: {
                    n: 3,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            xn.sm_m
          );
        }
        static MBF() {
          return xn.sm_mbf || (xn.sm_mbf = dt(xn.M())), xn.sm_mbf;
        }
        toObject(e = !1) {
          return xn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(xn.M(), e, t);
        }
        static fromObject(e) {
          return mt(xn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new xn();
          return xn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(xn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return xn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(xn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return xn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_PurchaseOption_Discount";
        }
      }
      class Un extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Un.prototype.packageid || gt(Un.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Un.sm_m ||
              (Un.sm_m = {
                proto: Un,
                fields: {
                  packageid: { n: 1, br: ct.readInt32, bw: ut.writeInt32 },
                  billing_agreement_type: {
                    n: 2,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  renewal_time_unit: {
                    n: 3,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  renewal_time_period: {
                    n: 4,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                },
              }),
            Un.sm_m
          );
        }
        static MBF() {
          return Un.sm_mbf || (Un.sm_mbf = dt(Un.M())), Un.sm_mbf;
        }
        toObject(e = !1) {
          return Un.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Un.M(), e, t);
        }
        static fromObject(e) {
          return mt(Un.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Un();
          return Un.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Un.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Un.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Un.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Un.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_PurchaseOption_RecurrenceInfo";
        }
      }
      class zn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            zn.prototype.all_ages_screenshots || gt(zn.M()),
            Cn.initialize(this, e, 0, -1, [2, 3], null);
        }
        static M() {
          return (
            zn.sm_m ||
              (zn.sm_m = {
                proto: zn,
                fields: {
                  all_ages_screenshots: { n: 2, c: Wn, r: !0, q: !0 },
                  mature_content_screenshots: { n: 3, c: Wn, r: !0, q: !0 },
                },
              }),
            zn.sm_m
          );
        }
        static MBF() {
          return zn.sm_mbf || (zn.sm_mbf = dt(zn.M())), zn.sm_mbf;
        }
        toObject(e = !1) {
          return zn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(zn.M(), e, t);
        }
        static fromObject(e) {
          return mt(zn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new zn();
          return zn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(zn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return zn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(zn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return zn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Screenshots";
        }
      }
      class Wn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Wn.prototype.filename || gt(Wn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Wn.sm_m ||
              (Wn.sm_m = {
                proto: Wn,
                fields: {
                  filename: { n: 1, br: ct.readString, bw: ut.writeString },
                  ordinal: { n: 2, br: ct.readInt32, bw: ut.writeInt32 },
                },
              }),
            Wn.sm_m
          );
        }
        static MBF() {
          return Wn.sm_mbf || (Wn.sm_mbf = dt(Wn.M())), Wn.sm_mbf;
        }
        toObject(e = !1) {
          return Wn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Wn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Wn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Wn();
          return Wn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Wn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Wn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Wn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Wn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Screenshots_Screenshot";
        }
      }
      class jn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            jn.prototype.highlights || gt(jn.M()),
            Cn.initialize(this, e, 0, -1, [1, 2], null);
        }
        static M() {
          return (
            jn.sm_m ||
              (jn.sm_m = {
                proto: jn,
                fields: {
                  highlights: { n: 1, c: Hn, r: !0, q: !0 },
                  other_trailers: { n: 2, c: Hn, r: !0, q: !0 },
                },
              }),
            jn.sm_m
          );
        }
        static MBF() {
          return jn.sm_mbf || (jn.sm_mbf = dt(jn.M())), jn.sm_mbf;
        }
        toObject(e = !1) {
          return jn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(jn.M(), e, t);
        }
        static fromObject(e) {
          return mt(jn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new jn();
          return jn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(jn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return jn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(jn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return jn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Trailers";
        }
      }
      class Vn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Vn.prototype.filename || gt(Vn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Vn.sm_m ||
              (Vn.sm_m = {
                proto: Vn,
                fields: {
                  filename: { n: 1, br: ct.readString, bw: ut.writeString },
                  type: { n: 2, br: ct.readString, bw: ut.writeString },
                },
              }),
            Vn.sm_m
          );
        }
        static MBF() {
          return Vn.sm_mbf || (Vn.sm_mbf = dt(Vn.M())), Vn.sm_mbf;
        }
        toObject(e = !1) {
          return Vn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Vn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Vn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Vn();
          return Vn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Vn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Vn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Vn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Vn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Trailers_VideoSource";
        }
      }
      class Hn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Hn.prototype.trailer_name || gt(Hn.M()),
            Cn.initialize(this, e, 0, -1, [3, 4, 5], null);
        }
        static M() {
          return (
            Hn.sm_m ||
              (Hn.sm_m = {
                proto: Hn,
                fields: {
                  trailer_name: { n: 1, br: ct.readString, bw: ut.writeString },
                  trailer_url_format: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  trailer_480p: { n: 3, c: Vn, r: !0, q: !0 },
                  trailer_max: { n: 4, c: Vn, r: !0, q: !0 },
                  microtrailer: { n: 5, c: Vn, r: !0, q: !0 },
                  screenshot_medium: {
                    n: 10,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  screenshot_full: {
                    n: 11,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  trailer_base_id: {
                    n: 12,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                },
              }),
            Hn.sm_m
          );
        }
        static MBF() {
          return Hn.sm_mbf || (Hn.sm_mbf = dt(Hn.M())), Hn.sm_mbf;
        }
        toObject(e = !1) {
          return Hn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Hn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Hn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Hn();
          return Hn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Hn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Hn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Hn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Hn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_Trailers_Trailer";
        }
      }
      class qn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            qn.prototype.elanguage || gt(qn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            qn.sm_m ||
              (qn.sm_m = {
                proto: qn,
                fields: {
                  elanguage: { n: 1, br: ct.readInt32, bw: ut.writeInt32 },
                  supported: { n: 2, br: ct.readBool, bw: ut.writeBool },
                  full_audio: { n: 3, br: ct.readBool, bw: ut.writeBool },
                  subtitles: { n: 4, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            qn.sm_m
          );
        }
        static MBF() {
          return qn.sm_mbf || (qn.sm_mbf = dt(qn.M())), qn.sm_mbf;
        }
        toObject(e = !1) {
          return qn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(qn.M(), e, t);
        }
        static fromObject(e) {
          return mt(qn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new qn();
          return qn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(qn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return qn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(qn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return qn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_SupportedLanguage";
        }
      }
      class Kn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Kn.prototype.start_time || gt(Kn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Kn.sm_m ||
              (Kn.sm_m = {
                proto: Kn,
                fields: {
                  start_time: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  end_time: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  text: { n: 3, br: ct.readString, bw: ut.writeString },
                },
              }),
            Kn.sm_m
          );
        }
        static MBF() {
          return Kn.sm_mbf || (Kn.sm_mbf = dt(Kn.M())), Kn.sm_mbf;
        }
        toObject(e = !1) {
          return Kn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Kn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Kn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Kn();
          return Kn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Kn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Kn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Kn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Kn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItem_FreeWeekend";
        }
      }
      class $n extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            $n.prototype.include_assets || gt($n.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            $n.sm_m ||
              ($n.sm_m = {
                proto: $n,
                fields: {
                  include_assets: { n: 1, br: ct.readBool, bw: ut.writeBool },
                  include_release: { n: 2, br: ct.readBool, bw: ut.writeBool },
                  include_platforms: {
                    n: 3,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  include_all_purchase_options: {
                    n: 4,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  include_screenshots: {
                    n: 5,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  include_trailers: { n: 6, br: ct.readBool, bw: ut.writeBool },
                  include_ratings: { n: 7, br: ct.readBool, bw: ut.writeBool },
                  include_tag_count: {
                    n: 8,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  include_reviews: { n: 9, br: ct.readBool, bw: ut.writeBool },
                  include_basic_info: {
                    n: 10,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  include_supported_languages: {
                    n: 11,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  include_full_description: {
                    n: 12,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  include_included_items: {
                    n: 13,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  included_item_data_request: { n: 14, c: $n },
                  include_assets_without_overrides: {
                    n: 15,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            $n.sm_m
          );
        }
        static MBF() {
          return $n.sm_mbf || ($n.sm_mbf = dt($n.M())), $n.sm_mbf;
        }
        toObject(e = !1) {
          return $n.toObject(e, this);
        }
        static toObject(e, t) {
          return _t($n.M(), e, t);
        }
        static fromObject(e) {
          return mt($n.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new $n();
          return $n.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht($n.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return $n.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt($n.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return $n.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreBrowseItemDataRequest";
        }
      }
      class Yn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Yn.prototype.language || gt(Yn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Yn.sm_m ||
              (Yn.sm_m = {
                proto: Yn,
                fields: {
                  language: { n: 1, br: ct.readString, bw: ut.writeString },
                  elanguage: { n: 2, br: ct.readInt32, bw: ut.writeInt32 },
                  country_code: { n: 3, br: ct.readString, bw: ut.writeString },
                  steam_realm: { n: 4, br: ct.readInt32, bw: ut.writeInt32 },
                },
              }),
            Yn.sm_m
          );
        }
        static MBF() {
          return Yn.sm_mbf || (Yn.sm_mbf = dt(Yn.M())), Yn.sm_mbf;
        }
        toObject(e = !1) {
          return Yn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Yn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Yn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Yn();
          return Yn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Yn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Yn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Yn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Yn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreBrowseContext";
        }
      }
      class Qn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Qn.prototype.appid || gt(Qn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Qn.sm_m ||
              (Qn.sm_m = {
                proto: Qn,
                fields: {
                  appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  packageid: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  bundleid: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  tagid: { n: 4, br: ct.readUint32, bw: ut.writeUint32 },
                  creatorid: { n: 5, br: ct.readUint32, bw: ut.writeUint32 },
                  hubcategoryid: {
                    n: 6,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            Qn.sm_m
          );
        }
        static MBF() {
          return Qn.sm_mbf || (Qn.sm_mbf = dt(Qn.M())), Qn.sm_mbf;
        }
        toObject(e = !1) {
          return Qn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Qn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Qn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Qn();
          return Qn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Qn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Qn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Qn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Qn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "StoreItemID";
        }
      }
      class Xn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Xn.prototype.ids || gt(Xn.M()),
            Cn.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            Xn.sm_m ||
              (Xn.sm_m = {
                proto: Xn,
                fields: {
                  ids: { n: 1, c: Qn, r: !0, q: !0 },
                  context: { n: 2, c: Yn },
                  data_request: { n: 3, c: $n },
                },
              }),
            Xn.sm_m
          );
        }
        static MBF() {
          return Xn.sm_mbf || (Xn.sm_mbf = dt(Xn.M())), Xn.sm_mbf;
        }
        toObject(e = !1) {
          return Xn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Xn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Xn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Xn();
          return Xn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Xn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Xn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Xn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Xn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetItems_Request";
        }
      }
      class Zn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Zn.prototype.store_items || gt(Zn.M()),
            Cn.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            Zn.sm_m ||
              (Zn.sm_m = {
                proto: Zn,
                fields: { store_items: { n: 1, c: En, r: !0, q: !0 } },
              }),
            Zn.sm_m
          );
        }
        static MBF() {
          return Zn.sm_mbf || (Zn.sm_mbf = dt(Zn.M())), Zn.sm_mbf;
        }
        toObject(e = !1) {
          return Zn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Zn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Zn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Zn();
          return Zn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Zn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Zn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Zn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Zn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetItems_Response";
        }
      }
      class Jn extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Jn.prototype.language || gt(Jn.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Jn.sm_m ||
              (Jn.sm_m = {
                proto: Jn,
                fields: {
                  language: { n: 1, br: ct.readString, bw: ut.writeString },
                  elanguage: {
                    n: 2,
                    d: -1,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                },
              }),
            Jn.sm_m
          );
        }
        static MBF() {
          return Jn.sm_mbf || (Jn.sm_mbf = dt(Jn.M())), Jn.sm_mbf;
        }
        toObject(e = !1) {
          return Jn.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Jn.M(), e, t);
        }
        static fromObject(e) {
          return mt(Jn.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Jn();
          return Jn.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Jn.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Jn.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Jn.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Jn.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetStoreCategories_Request";
        }
      }
      class ei extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ei.prototype.categories || gt(ei.M()),
            Cn.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            ei.sm_m ||
              (ei.sm_m = {
                proto: ei,
                fields: { categories: { n: 1, c: ti, r: !0, q: !0 } },
              }),
            ei.sm_m
          );
        }
        static MBF() {
          return ei.sm_mbf || (ei.sm_mbf = dt(ei.M())), ei.sm_mbf;
        }
        toObject(e = !1) {
          return ei.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ei.M(), e, t);
        }
        static fromObject(e) {
          return mt(ei.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ei();
          return ei.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ei.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ei.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ei.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ei.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetStoreCategories_Response";
        }
      }
      class ti extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ti.prototype.categoryid || gt(ti.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ti.sm_m ||
              (ti.sm_m = {
                proto: ti,
                fields: {
                  categoryid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  type: { n: 2, br: ct.readEnum, bw: ut.writeEnum },
                  internal_name: {
                    n: 3,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  display_name: { n: 4, br: ct.readString, bw: ut.writeString },
                  image_url: { n: 5, br: ct.readString, bw: ut.writeString },
                  show_in_search: { n: 6, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            ti.sm_m
          );
        }
        static MBF() {
          return ti.sm_mbf || (ti.sm_mbf = dt(ti.M())), ti.sm_mbf;
        }
        toObject(e = !1) {
          return ti.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ti.M(), e, t);
        }
        static fromObject(e) {
          return mt(ti.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ti();
          return ti.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ti.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ti.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ti.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ti.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetStoreCategories_Response_Category";
        }
      }
      class ri extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ri.prototype.context || gt(ri.M()),
            Cn.initialize(this, e, 0, -1, [3], null);
        }
        static M() {
          return (
            ri.sm_m ||
              (ri.sm_m = {
                proto: ri,
                fields: {
                  context: { n: 1, c: Yn },
                  store_page_filter: { n: 2, c: fn },
                  appids: { n: 3, c: Qn, r: !0, q: !0 },
                  steamid: {
                    n: 4,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                },
              }),
            ri.sm_m
          );
        }
        static MBF() {
          return ri.sm_mbf || (ri.sm_mbf = dt(ri.M())), ri.sm_mbf;
        }
        toObject(e = !1) {
          return ri.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ri.M(), e, t);
        }
        static fromObject(e) {
          return mt(ri.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ri();
          return ri.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ri.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ri.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ri.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ri.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetDLCForApps_Request";
        }
      }
      class ni extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ni.prototype.dlc_data || gt(ni.M()),
            Cn.initialize(this, e, 0, -1, [1, 2], null);
        }
        static M() {
          return (
            ni.sm_m ||
              (ni.sm_m = {
                proto: ni,
                fields: {
                  dlc_data: { n: 1, c: ii, r: !0, q: !0 },
                  playtime: { n: 2, c: ai, r: !0, q: !0 },
                },
              }),
            ni.sm_m
          );
        }
        static MBF() {
          return ni.sm_mbf || (ni.sm_mbf = dt(ni.M())), ni.sm_mbf;
        }
        toObject(e = !1) {
          return ni.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ni.M(), e, t);
        }
        static fromObject(e) {
          return mt(ni.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ni();
          return ni.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ni.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ni.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ni.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ni.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetDLCForApps_Response";
        }
      }
      class ii extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ii.prototype.appid || gt(ii.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ii.sm_m ||
              (ii.sm_m = {
                proto: ii,
                fields: {
                  appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  parentappid: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  release_date: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  coming_soon: { n: 4, br: ct.readBool, bw: ut.writeBool },
                  price: {
                    n: 5,
                    br: ct.readInt64String,
                    bw: ut.writeInt64String,
                  },
                  discount: { n: 6, br: ct.readUint32, bw: ut.writeUint32 },
                  free: { n: 7, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            ii.sm_m
          );
        }
        static MBF() {
          return ii.sm_mbf || (ii.sm_mbf = dt(ii.M())), ii.sm_mbf;
        }
        toObject(e = !1) {
          return ii.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ii.M(), e, t);
        }
        static fromObject(e) {
          return mt(ii.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ii();
          return ii.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ii.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ii.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ii.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ii.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetDLCForApps_Response_DLCData";
        }
      }
      class ai extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ai.prototype.appid || gt(ai.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ai.sm_m ||
              (ai.sm_m = {
                proto: ai,
                fields: {
                  appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  playtime: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  last_played: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            ai.sm_m
          );
        }
        static MBF() {
          return ai.sm_mbf || (ai.sm_mbf = dt(ai.M())), ai.sm_mbf;
        }
        toObject(e = !1) {
          return ai.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ai.M(), e, t);
        }
        static fromObject(e) {
          return mt(ai.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ai();
          return ai.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ai.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ai.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ai.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ai.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetDLCForApps_Response_PlaytimeForApp";
        }
      }
      class si extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            si.prototype.context || gt(si.M()),
            Cn.initialize(this, e, 0, -1, [2], null);
        }
        static M() {
          return (
            si.sm_m ||
              (si.sm_m = {
                proto: si,
                fields: {
                  context: { n: 1, c: Yn },
                  appids: {
                    n: 2,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                  flavor: { n: 3, br: ct.readString, bw: ut.writeString },
                  count: { n: 4, br: ct.readUint32, bw: ut.writeUint32 },
                  store_page_filter: { n: 5, c: fn },
                },
              }),
            si.sm_m
          );
        }
        static MBF() {
          return si.sm_mbf || (si.sm_mbf = dt(si.M())), si.sm_mbf;
        }
        toObject(e = !1) {
          return si.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(si.M(), e, t);
        }
        static fromObject(e) {
          return mt(si.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new si();
          return si.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(si.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return si.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(si.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return si.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetDLCForAppsSolr_Request";
        }
      }
      class oi extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            oi.prototype.dlc_lists || gt(oi.M()),
            Cn.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            oi.sm_m ||
              (oi.sm_m = {
                proto: oi,
                fields: { dlc_lists: { n: 1, c: li, r: !0, q: !0 } },
              }),
            oi.sm_m
          );
        }
        static MBF() {
          return oi.sm_mbf || (oi.sm_mbf = dt(oi.M())), oi.sm_mbf;
        }
        toObject(e = !1) {
          return oi.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(oi.M(), e, t);
        }
        static fromObject(e) {
          return mt(oi.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new oi();
          return oi.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(oi.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return oi.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(oi.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return oi.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetDLCForAppsSolr_Response";
        }
      }
      class li extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            li.prototype.parent_appid || gt(li.M()),
            Cn.initialize(this, e, 0, -1, [2], null);
        }
        static M() {
          return (
            li.sm_m ||
              (li.sm_m = {
                proto: li,
                fields: {
                  parent_appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  dlc_appids: {
                    n: 2,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                },
              }),
            li.sm_m
          );
        }
        static MBF() {
          return li.sm_mbf || (li.sm_mbf = dt(li.M())), li.sm_mbf;
        }
        toObject(e = !1) {
          return li.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(li.M(), e, t);
        }
        static fromObject(e) {
          return mt(li.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new li();
          return li.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(li.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return li.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(li.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return li.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetDLCForAppsSolr_Response_DLCList";
        }
      }
      class ci extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ci.prototype.packageid || gt(ci.M()),
            Cn.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            ci.sm_m ||
              (ci.sm_m = {
                proto: ci,
                fields: {
                  packageid: {
                    n: 1,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                  context: { n: 2, c: Yn },
                },
              }),
            ci.sm_m
          );
        }
        static MBF() {
          return ci.sm_mbf || (ci.sm_mbf = dt(ci.M())), ci.sm_mbf;
        }
        toObject(e = !1) {
          return ci.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ci.M(), e, t);
        }
        static fromObject(e) {
          return mt(ci.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ci();
          return ci.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ci.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ci.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ci.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ci.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetHardwareItems_Request";
        }
      }
      class ui extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ui.prototype.packageid || gt(ui.M()),
            Cn.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ui.sm_m ||
              (ui.sm_m = {
                proto: ui,
                fields: {
                  packageid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  inventory_available: {
                    n: 3,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  high_pending_orders: {
                    n: 4,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  account_restricted_from_purchasing: {
                    n: 5,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  requires_reservation: {
                    n: 6,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  rtime_estimated_notification: {
                    n: 7,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  notificaton_token: {
                    n: 8,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  reservation_state: {
                    n: 9,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  expired: { n: 10, br: ct.readBool, bw: ut.writeBool },
                  time_expires: {
                    n: 11,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  time_reserved: {
                    n: 12,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  allow_quantity_purchase: {
                    n: 13,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  max_quantity_per_purchase: {
                    n: 14,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  allow_purchase_in_country: {
                    n: 15,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  estimated_delivery_soonest_business_days: {
                    n: 17,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  estimated_delivery_latest_business_days: {
                    n: 18,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            ui.sm_m
          );
        }
        static MBF() {
          return ui.sm_mbf || (ui.sm_mbf = dt(ui.M())), ui.sm_mbf;
        }
        toObject(e = !1) {
          return ui.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ui.M(), e, t);
        }
        static fromObject(e) {
          return mt(ui.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ui();
          return ui.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ui.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ui.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ui.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ui.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CHardwarePackageDetails";
        }
      }
      class di extends Cn {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            di.prototype.details || gt(di.M()),
            Cn.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            di.sm_m ||
              (di.sm_m = {
                proto: di,
                fields: { details: { n: 1, c: ui, r: !0, q: !0 } },
              }),
            di.sm_m
          );
        }
        static MBF() {
          return di.sm_mbf || (di.sm_mbf = dt(di.M())), di.sm_mbf;
        }
        toObject(e = !1) {
          return di.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(di.M(), e, t);
        }
        static fromObject(e) {
          return mt(di.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new di();
          return di.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(di.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return di.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(di.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return di.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreBrowse_GetHardwareItems_Response";
        }
      }
      var mi;
      !(function (e) {
        (e.GetItems = function (e, t) {
          return e.SendMsg("StoreBrowse.GetItems#1", Ot(Xn, t), Zn, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
          (e.GetStoreCategories = function (e, t) {
            return e.SendMsg(
              "StoreBrowse.GetStoreCategories#1",
              Ot(Jn, t),
              ei,
              { bConstMethod: !0, ePrivilege: 0, eWebAPIKeyRequirement: 1 },
            );
          }),
          (e.GetDLCForApps = function (e, t) {
            return e.SendMsg("StoreBrowse.GetDLCForApps#1", Ot(ri, t), ni, {
              bConstMethod: !0,
              ePrivilege: 1,
            });
          }),
          (e.GetDLCForAppsSolr = function (e, t) {
            return e.SendMsg("StoreBrowse.GetDLCForAppsSolr#1", Ot(si, t), oi, {
              bConstMethod: !0,
              ePrivilege: 0,
              eWebAPIKeyRequirement: 1,
            });
          }),
          (e.GetHardwareItems = function (e, t) {
            return e.SendMsg("StoreBrowse.GetHardwareItems#1", Ot(ci, t), di, {
              bConstMethod: !0,
              ePrivilege: 2,
              eWebAPIKeyRequirement: 1,
            });
          });
      })(mi || (mi = {}));
      const _i = lt.Message;
      class hi extends _i {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            hi.prototype.request || gt(hi.M()),
            _i.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            hi.sm_m ||
              (hi.sm_m = {
                proto: hi,
                fields: {
                  request: { n: 1, c: Xn },
                  include_unpublished: {
                    n: 2,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            hi.sm_m
          );
        }
        static MBF() {
          return hi.sm_mbf || (hi.sm_mbf = dt(hi.M())), hi.sm_mbf;
        }
        toObject(e = !1) {
          return hi.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(hi.M(), e, t);
        }
        static fromObject(e) {
          return mt(hi.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new hi();
          return hi.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(hi.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return hi.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(hi.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return hi.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CPartnerStoreBrowse_GetItems_Request";
        }
      }
      var pi;
      !(function (e) {
        e.GetItems = function (e, t) {
          return e.SendMsg("PartnerStoreBrowse.GetItems#1", Ot(hi, t), Zn, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        };
      })(pi || (pi = {}));
      const gi = lt.Message;
      class bi extends gi {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            bi.prototype.released_only || gt(bi.M()),
            gi.initialize(this, e, 0, -1, [10, 11, 15, 16, 45], null);
        }
        static M() {
          return (
            bi.sm_m ||
              (bi.sm_m = {
                proto: bi,
                fields: {
                  released_only: { n: 1, br: ct.readBool, bw: ut.writeBool },
                  coming_soon_only: { n: 2, br: ct.readBool, bw: ut.writeBool },
                  type_filters: { n: 3, c: fi },
                  tagids_must_match: { n: 10, c: vi, r: !0, q: !0 },
                  tagids_exclude: {
                    n: 11,
                    r: !0,
                    q: !0,
                    br: ct.readInt32,
                    pbr: ct.readPackedInt32,
                    bw: ut.writeRepeatedInt32,
                  },
                  content_descriptors_must_match: {
                    n: 15,
                    r: !0,
                    q: !0,
                    br: ct.readEnum,
                    pbr: ct.readPackedEnum,
                    bw: ut.writeRepeatedEnum,
                  },
                  content_descriptors_excluded: {
                    n: 16,
                    r: !0,
                    q: !0,
                    br: ct.readEnum,
                    pbr: ct.readPackedEnum,
                    bw: ut.writeRepeatedEnum,
                  },
                  regional_top_n_sellers: {
                    n: 40,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  global_top_n_sellers: {
                    n: 41,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  regional_long_term_top_n_sellers: {
                    n: 42,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  global_long_term_top_n_sellers: {
                    n: 43,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  store_page_filter: { n: 44, c: fn },
                  parent_appids: {
                    n: 45,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                },
              }),
            bi.sm_m
          );
        }
        static MBF() {
          return bi.sm_mbf || (bi.sm_mbf = dt(bi.M())), bi.sm_mbf;
        }
        toObject(e = !1) {
          return bi.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(bi.M(), e, t);
        }
        static fromObject(e) {
          return mt(bi.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new bi();
          return bi.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(bi.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return bi.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(bi.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return bi.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreQueryFilters";
        }
      }
      class fi extends gi {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            fi.prototype.include_apps || gt(fi.M()),
            gi.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            fi.sm_m ||
              (fi.sm_m = {
                proto: fi,
                fields: {
                  include_apps: { n: 1, br: ct.readBool, bw: ut.writeBool },
                  include_packages: { n: 2, br: ct.readBool, bw: ut.writeBool },
                  include_bundles: { n: 3, br: ct.readBool, bw: ut.writeBool },
                  include_games: { n: 10, br: ct.readBool, bw: ut.writeBool },
                  include_demos: { n: 11, br: ct.readBool, bw: ut.writeBool },
                  include_mods: { n: 12, br: ct.readBool, bw: ut.writeBool },
                  include_dlc: { n: 13, br: ct.readBool, bw: ut.writeBool },
                  include_software: {
                    n: 14,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  include_video: { n: 15, br: ct.readBool, bw: ut.writeBool },
                  include_hardware: {
                    n: 16,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  include_series: { n: 17, br: ct.readBool, bw: ut.writeBool },
                  include_music: { n: 18, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            fi.sm_m
          );
        }
        static MBF() {
          return fi.sm_mbf || (fi.sm_mbf = dt(fi.M())), fi.sm_mbf;
        }
        toObject(e = !1) {
          return fi.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(fi.M(), e, t);
        }
        static fromObject(e) {
          return mt(fi.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new fi();
          return fi.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(fi.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return fi.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(fi.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return fi.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreQueryFilters_TypeFilters";
        }
      }
      class vi extends gi {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            vi.prototype.tagids || gt(vi.M()),
            gi.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            vi.sm_m ||
              (vi.sm_m = {
                proto: vi,
                fields: {
                  tagids: {
                    n: 1,
                    r: !0,
                    q: !0,
                    br: ct.readInt32,
                    pbr: ct.readPackedInt32,
                    bw: ut.writeRepeatedInt32,
                  },
                },
              }),
            vi.sm_m
          );
        }
        static MBF() {
          return vi.sm_mbf || (vi.sm_mbf = dt(vi.M())), vi.sm_mbf;
        }
        toObject(e = !1) {
          return vi.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(vi.M(), e, t);
        }
        static fromObject(e) {
          return mt(vi.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new vi();
          return vi.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(vi.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return vi.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(vi.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return vi.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreQueryFilters_TagFilter";
        }
      }
      class yi extends gi {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            yi.prototype.start || gt(yi.M()),
            gi.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            yi.sm_m ||
              (yi.sm_m = {
                proto: yi,
                fields: {
                  start: { n: 1, d: 0, br: ct.readInt32, bw: ut.writeInt32 },
                  count: { n: 2, d: 10, br: ct.readInt32, bw: ut.writeInt32 },
                  sort: { n: 10, d: 0, br: ct.readEnum, bw: ut.writeEnum },
                  filters: { n: 20, c: bi },
                },
              }),
            yi.sm_m
          );
        }
        static MBF() {
          return yi.sm_mbf || (yi.sm_mbf = dt(yi.M())), yi.sm_mbf;
        }
        toObject(e = !1) {
          return yi.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(yi.M(), e, t);
        }
        static fromObject(e) {
          return mt(yi.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new yi();
          return yi.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(yi.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return yi.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(yi.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return yi.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreQueryParams";
        }
      }
      class Si extends gi {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Si.prototype.id || gt(Si.M()),
            gi.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Si.sm_m ||
              (Si.sm_m = {
                proto: Si,
                fields: {
                  id: { n: 1, c: Qn },
                  score: { n: 2, br: ct.readDouble, bw: ut.writeDouble },
                  spellcheck_generated_result: {
                    n: 3,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            Si.sm_m
          );
        }
        static MBF() {
          return Si.sm_mbf || (Si.sm_mbf = dt(Si.M())), Si.sm_mbf;
        }
        toObject(e = !1) {
          return Si.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Si.M(), e, t);
        }
        static fromObject(e) {
          return mt(Si.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Si();
          return Si.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Si.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Si.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Si.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Si.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreQueryPerResultMetadata";
        }
      }
      class wi extends gi {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            wi.prototype.total_matching_records || gt(wi.M()),
            gi.initialize(this, e, 0, -1, [4, 5], null);
        }
        static M() {
          return (
            wi.sm_m ||
              (wi.sm_m = {
                proto: wi,
                fields: {
                  total_matching_records: {
                    n: 1,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  start: { n: 2, br: ct.readInt32, bw: ut.writeInt32 },
                  count: { n: 3, br: ct.readInt32, bw: ut.writeInt32 },
                  per_result_metadata: { n: 4, c: Si, r: !0, q: !0 },
                  spellcheck_suggestions: {
                    n: 5,
                    r: !0,
                    q: !0,
                    br: ct.readString,
                    bw: ut.writeRepeatedString,
                  },
                },
              }),
            wi.sm_m
          );
        }
        static MBF() {
          return wi.sm_mbf || (wi.sm_mbf = dt(wi.M())), wi.sm_mbf;
        }
        toObject(e = !1) {
          return wi.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(wi.M(), e, t);
        }
        static fromObject(e) {
          return mt(wi.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new wi();
          return wi.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(wi.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return wi.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(wi.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return wi.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreQueryResultMetadata";
        }
      }
      class Ci extends gi {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Ci.prototype.query_name || gt(Ci.M()),
            gi.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Ci.sm_m ||
              (Ci.sm_m = {
                proto: Ci,
                fields: {
                  query_name: { n: 1, br: ct.readString, bw: ut.writeString },
                  query: { n: 2, c: yi },
                  context: { n: 3, c: Yn },
                  data_request: { n: 4, c: $n },
                  override_country_code: {
                    n: 5,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                },
              }),
            Ci.sm_m
          );
        }
        static MBF() {
          return Ci.sm_mbf || (Ci.sm_mbf = dt(Ci.M())), Ci.sm_mbf;
        }
        toObject(e = !1) {
          return Ci.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Ci.M(), e, t);
        }
        static fromObject(e) {
          return mt(Ci.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Ci();
          return Ci.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Ci.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Ci.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Ci.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Ci.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreQuery_Query_Request";
        }
      }
      class Bi extends gi {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Bi.prototype.metadata || gt(Bi.M()),
            gi.initialize(this, e, 0, -1, [2, 3], null);
        }
        static M() {
          return (
            Bi.sm_m ||
              (Bi.sm_m = {
                proto: Bi,
                fields: {
                  metadata: { n: 1, c: wi },
                  ids: { n: 2, c: Qn, r: !0, q: !0 },
                  store_items: { n: 3, c: En, r: !0, q: !0 },
                },
              }),
            Bi.sm_m
          );
        }
        static MBF() {
          return Bi.sm_mbf || (Bi.sm_mbf = dt(Bi.M())), Bi.sm_mbf;
        }
        toObject(e = !1) {
          return Bi.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Bi.M(), e, t);
        }
        static fromObject(e) {
          return mt(Bi.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Bi();
          return Bi.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Bi.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Bi.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Bi.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Bi.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreQuery_Query_Response";
        }
      }
      class Ei extends gi {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Ei.prototype.query_name || gt(Ei.M()),
            gi.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Ei.sm_m ||
              (Ei.sm_m = {
                proto: Ei,
                fields: {
                  query_name: { n: 1, br: ct.readString, bw: ut.writeString },
                  context: { n: 2, c: Yn },
                  search_term: { n: 3, br: ct.readString, bw: ut.writeString },
                  max_results: { n: 4, br: ct.readUint32, bw: ut.writeUint32 },
                  filters: { n: 5, c: bi },
                  data_request: { n: 6, c: $n },
                  use_spellcheck: { n: 7, br: ct.readBool, bw: ut.writeBool },
                  search_tags: { n: 8, br: ct.readBool, bw: ut.writeBool },
                  search_creators: { n: 9, br: ct.readBool, bw: ut.writeBool },
                  prefilter_creators: {
                    n: 10,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            Ei.sm_m
          );
        }
        static MBF() {
          return Ei.sm_mbf || (Ei.sm_mbf = dt(Ei.M())), Ei.sm_mbf;
        }
        toObject(e = !1) {
          return Ei.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Ei.M(), e, t);
        }
        static fromObject(e) {
          return mt(Ei.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Ei();
          return Ei.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Ei.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Ei.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Ei.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Ei.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreQuery_SearchSuggestions_Request";
        }
      }
      class Ii extends gi {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Ii.prototype.metadata || gt(Ii.M()),
            gi.initialize(this, e, 0, -1, [2, 3], null);
        }
        static M() {
          return (
            Ii.sm_m ||
              (Ii.sm_m = {
                proto: Ii,
                fields: {
                  metadata: { n: 1, c: wi },
                  ids: { n: 2, c: Qn, r: !0, q: !0 },
                  store_items: { n: 3, c: En, r: !0, q: !0 },
                },
              }),
            Ii.sm_m
          );
        }
        static MBF() {
          return Ii.sm_mbf || (Ii.sm_mbf = dt(Ii.M())), Ii.sm_mbf;
        }
        toObject(e = !1) {
          return Ii.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Ii.M(), e, t);
        }
        static fromObject(e) {
          return mt(Ii.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Ii();
          return Ii.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Ii.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Ii.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Ii.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Ii.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreQuery_SearchSuggestions_Response";
        }
      }
      var Ri, Ti;
      function Mi(e, t) {
        e.Body().set_context(Di(t));
      }
      function Di(e) {
        let t = new Yn();
        return (
          e || t.set_country_code(w.COUNTRY),
          t.set_language(w.LANGUAGE),
          w.EREALM != n.k_ESteamRealmUnknown && t.set_steam_realm(w.EREALM),
          t
        );
      }
      function Ai(e, t) {
        e.Body().set_data_request($n.fromObject(t));
      }
      function Oi(e) {
        return (function (e, t, r) {
          switch (e) {
            case "date_full":
              return ke(t);
            case "date_month":
              return Ue(new Date(1e3 * t));
            case "date_quarter":
              return (function (e) {
                switch (e.getUTCMonth()) {
                  case 0:
                  case 1:
                  case 2:
                    return We("#Time_QuarterOfYear_Q1", e.getUTCFullYear());
                  case 3:
                  case 4:
                  case 5:
                    return We("#Time_QuarterOfYear_Q2", e.getUTCFullYear());
                  case 6:
                  case 7:
                  case 8:
                    return We("#Time_QuarterOfYear_Q3", e.getUTCFullYear());
                  default:
                    return We("#Time_QuarterOfYear_Q4", e.getUTCFullYear());
                }
              })(new Date(1e3 * t));
            case "date_year":
              return xe(new Date(1e3 * t));
            case "text_comingsoon":
              return r || We("#Store_ComingSoon_ComingSoon");
            case "text_tba":
              return r || We("#Store_ComingSoon_TBA");
            default:
              return "";
          }
        })(
          e.coming_soon_display,
          e.steam_release_date,
          e.custom_release_date_message,
        );
      }
      !(function (e) {
        (e.Query = function (e, t) {
          return e.SendMsg("StoreQuery.Query#1", Ot(Ci, t), Bi, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
          (e.SearchSuggestions = function (e, t) {
            return e.SendMsg("StoreQuery.SearchSuggestions#1", Ot(Ei, t), Ii, {
              bConstMethod: !0,
              ePrivilege: 2,
              eWebAPIKeyRequirement: 1,
            });
          });
      })(Ri || (Ri = {})),
        (function (e) {
          (e[(e.k_NotRejected = -1)] = "k_NotRejected"),
            (e[(e.k_RejectNoMainCap = 0)] = "k_RejectNoMainCap"),
            (e[(e.k_RejectWrongPlatform = 1)] = "k_RejectWrongPlatform"),
            (e[(e.k_RejectNoComingSoon = 2)] = "k_RejectNoComingSoon"),
            (e[(e.k_RejectNoVR = 3)] = "k_RejectNoVR"),
            (e[(e.k_RejectCreatorClan = 4)] = "k_RejectCreatorClan"),
            (e[(e.k_RejectIgnoredGame = 5)] = "k_RejectIgnoredGame"),
            (e[(e.k_RejectSupportedLanguage = 6)] =
              "k_RejectSupportedLanguage"),
            (e[(e.k_RejectNotLoaded = 7)] = "k_RejectNotLoaded"),
            (e[(e.k_RejectIgnoreGameTags = 8)] = "k_RejectIgnoreGameTags"),
            (e[(e.k_RejectIgnoreContentDescriptors = 9)] =
              "k_RejectIgnoreContentDescriptors"),
            (e[(e.k_RejectEarlyAccess = 10)] = "k_RejectEarlyAccess"),
            (e[(e.k_RejectSoftware = 11)] = "k_RejectSoftware"),
            (e[(e.k_RejectDLC = 12)] = "k_RejectDLC"),
            (e[(e.k_RejectInLibrary = 13)] = "k_RejectInLibrary"),
            (e[(e.k_RejectNotInLibrary = 14)] = "k_RejectNotInLibrary"),
            (e[(e.k_RejectVideo = 15)] = "k_RejectVideo"),
            (e[(e.k_RejectNoDiscount = 16)] = "k_RejectNoDiscount"),
            (e[(e.k_RejectAlreadyDisplayed = 17)] = "k_RejectAlreadyDisplayed");
        })(Ti || (Ti = {}));
      class Fi {
        constructor(e, t) {
          var r, n, i;
          (this.m_bVisible = !1),
            (this.m_rgStoreTags = []),
            (this.m_rgStoreTagIDs = []),
            (this.m_DataRequested = { include_tag_count: 0 }),
            (this.k_regexSalePage =
              /^https?:\/\/[^\/]*(?:valvesoftware|steampowered).com\/(?:(curator|dev|developer|pub|publisher|franchise)\/[0-9a-zA-Z\-_]+\/)?sale\//),
            (this.m_eItemType = e.item_type()),
            (this.m_unID = e.id()),
            (this.m_bVisible = e.visible()),
            (this.m_strName = e.name()),
            (this.m_strStoreURLPath = e.store_url_path()),
            (this.m_unAppID = e.appid()),
            (this.m_eAppType = e.type()),
            (this.m_rgIncludedAppTypes = e.included_types()),
            (this.m_rgIncludedAppIDs = e.included_appids()),
            (this.m_bIsFree = e.is_free()),
            (this.m_bIsEarlyAccess = e.is_early_access()),
            (this.m_RelatedItems =
              null === (r = e.related_items()) || void 0 === r
                ? void 0
                : r.toObject()),
            (this.m_ContentDescriptorIDs = e.content_descriptorids()),
            (this.m_StoreCategories = e.categories().toObject()),
            (this.m_BestPurchaseOption =
              null === (n = e.best_purchase_option()) || void 0 === n
                ? void 0
                : n.toObject()),
            (this.m_strStoreURLPathOverride = e.store_url_path_override()),
            (this.m_freeWeekend =
              null === (i = e.free_weekend()) || void 0 === i
                ? void 0
                : i.toObject()),
            (this.m_strInternalName = e.internal_name()),
            this.MergeData(e, t);
        }
        MergeData(e, t) {
          t.include_assets &&
            !this.m_Assets &&
            ((this.m_Assets = new ki(e.assets(), e.id())),
            (this.m_DataRequested.include_assets = !0)),
            t.include_assets_without_overrides &&
              !this.m_AssetsWithoutOverrides &&
              ((this.m_AssetsWithoutOverrides = new ki(
                e.assets_without_overrides(),
                e.id(),
              )),
              (this.m_DataRequested.include_assets_without_overrides = !0)),
            t.include_release &&
              !this.m_ReleaseInfo &&
              ((this.m_ReleaseInfo = e.release().toObject()),
              (this.m_DataRequested.include_release = !0)),
            t.include_platforms &&
              !this.m_Platforms &&
              ((this.m_Platforms = e.platforms().toObject()),
              (this.m_DataRequested.include_platforms = !0)),
            t.include_all_purchase_options &&
              !this.m_rgPurchaseOptions &&
              ((this.m_rgPurchaseOptions = e
                .purchase_options()
                .map((e) => e.toObject())),
              (this.m_DataRequested.include_all_purchase_options = !0)),
            t.include_screenshots &&
              !this.m_Screenshots &&
              ((this.m_Screenshots = new Gi(e.screenshots())),
              (this.m_DataRequested.include_screenshots = !0)),
            t.include_trailers &&
              !this.m_Trailers &&
              ((this.m_Trailers = new Ni(e.trailers())),
              (this.m_DataRequested.include_trailers = !0)),
            t.include_tag_count > this.m_rgStoreTags.length &&
              this.m_DataRequested.include_tag_count < t.include_tag_count &&
              ((this.m_rgStoreTags = e.tags().map((e) => e.toObject())),
              (this.m_rgStoreTagIDs = this.m_rgStoreTags.map((e) => e.tagid)),
              (this.m_DataRequested.include_tag_count = Math.max(
                t.include_tag_count,
                this.m_rgStoreTags.length || 0,
              ))),
            t.include_reviews &&
              !this.m_ReviewInfo &&
              ((this.m_ReviewInfo = e.reviews().toObject()),
              (this.m_DataRequested.include_reviews = !0)),
            t.include_basic_info &&
              !this.m_BasicInfo &&
              ((this.m_BasicInfo = e.basic_info().toObject()),
              (this.m_DataRequested.include_basic_info = !0)),
            t.include_supported_languages &&
              !this.m_rgSupportedLanguages &&
              ((this.m_rgSupportedLanguages = e
                .supported_languages()
                .map((e) => e.toObject())),
              (this.m_DataRequested.include_supported_languages = !0));
        }
        static BDataRequestContainsOtherDataRequest(e, t) {
          return Boolean(
            (!t.include_assets || e.include_assets) &&
              (!t.include_release || e.include_release) &&
              (!t.include_platforms || e.include_platforms) &&
              (!t.include_all_purchase_options ||
                e.include_all_purchase_options) &&
              (!t.include_screenshots || e.include_screenshots) &&
              (!t.include_trailers || e.include_trailers) &&
              (!t.include_ratings || e.include_ratings) &&
              (!t.include_tag_count ||
                (e.include_tag_count || 0) >= t.include_tag_count) &&
              (!t.include_reviews || e.include_reviews) &&
              (!t.include_basic_info || e.include_basic_info) &&
              (!t.include_supported_languages || e.include_supported_languages),
          );
        }
        BContainDataRequest(e) {
          return Fi.BDataRequestContainsOtherDataRequest(
            this.m_DataRequested,
            e,
          );
        }
        BCheckDataRequestIncluded(e) {
          ("dev" != w.WEB_UNIVERSE && "beta" != w.WEB_UNIVERSE) ||
            c(
              this.BContainDataRequest(e),
              `Requested data without for ${(function (e) {
                switch (e) {
                  case 0:
                    return "app";
                  case 2:
                    return "bundle";
                  case 1:
                    return "package";
                  case 3:
                    return "mtx";
                }
                return "invalid";
              })(this.m_eItemType)} @ ${this.m_unID}`,
              (0, Je.ZN)(e),
              (0, Je.ZN)(this.m_DataRequested),
            );
        }
        GetStoreItemType() {
          return this.m_eItemType;
        }
        GetID() {
          return this.m_unID;
        }
        GetUniqueID() {
          return this.m_eItemType + "_" + this.m_unID;
        }
        BIsVisible() {
          return this.m_bVisible;
        }
        GetName() {
          return this.m_strName;
        }
        GetStorePageURL() {
          return w.STORE_BASE_URL + this.m_strStoreURLPath;
        }
        GetStorePageURLWithOverride() {
          var e;
          return (null === (e = this.m_strStoreURLPathOverride) || void 0 === e
            ? void 0
            : e.length) > 0
            ? this.GetStorePageURLOverride()
            : this.GetStorePageURL();
        }
        GetStorePageURLOverride() {
          return this.m_strStoreURLPathOverride;
        }
        GetCommunityPageURL() {
          return this.GetAppID()
            ? w.COMMUNITY_BASE_URL + "app/" + this.GetAppID()
            : null;
        }
        GetCommunityDiscussionForumsURL() {
          return this.GetAppID()
            ? w.COMMUNITY_BASE_URL + "app/" + this.GetAppID() + "/discussions/"
            : null;
        }
        GetAppID() {
          return this.m_unAppID;
        }
        GetAppIDToRun() {
          const e = this.GetParentAppID();
          return e && 11 != this.m_eAppType ? e : this.GetAppID();
        }
        GetAppType() {
          return this.m_eAppType;
        }
        BIsApplicationOrTool() {
          return 6 == this.GetAppType() || 13 == this.GetAppType();
        }
        BIsSalePage() {
          return (
            0 === this.GetStoreItemType() &&
            this.k_regexSalePage.test(this.GetStorePageURLWithOverride())
          );
        }
        GetSalePageVanityURL() {
          let e = this.GetStorePageURLWithOverride();
          return (
            0 === this.GetStoreItemType() &&
              ((e = this.GetStorePageURLWithOverride().replace(
                this.k_regexSalePage,
                "",
              )),
              e.endsWith("/") && (e = e.replace("/", ""))),
            e
          );
        }
        GetIncludedAppTypes() {
          return this.m_rgIncludedAppTypes;
        }
        GetIncludedAppIDs() {
          return this.m_rgIncludedAppIDs;
        }
        GetIncludedAppIDsOrSelf() {
          return 0 == this.GetStoreItemType()
            ? [this.GetID()]
            : this.GetIncludedAppIDs();
        }
        BIsFree() {
          return this.m_bIsFree;
        }
        BIsFreeWeekend() {
          const e = Date.now() / 1e3;
          return (
            Boolean(this.m_freeWeekend) &&
            this.m_freeWeekend.start_time <= e &&
            e <= this.m_freeWeekend.end_time
          );
        }
        GetFreeWeekendEnd() {
          var e;
          return null === (e = this.m_freeWeekend) || void 0 === e
            ? void 0
            : e.end_time;
        }
        GetFreeWeekendPlayTextOverride() {
          var e;
          return null === (e = this.m_freeWeekend) || void 0 === e
            ? void 0
            : e.text;
        }
        BIsEarlyAccess() {
          return this.m_bIsEarlyAccess;
        }
        GetParentAppID() {
          var e;
          return null === (e = this.m_RelatedItems) || void 0 === e
            ? void 0
            : e.parent_appid;
        }
        GetContentDescriptorIDs() {
          return this.m_ContentDescriptorIDs;
        }
        HasContentDescriptorID(e) {
          var t;
          return null === (t = this.m_ContentDescriptorIDs) || void 0 === t
            ? void 0
            : t.includes(e);
        }
        GetStoreCategories_SupportedPlayers() {
          var e;
          return (
            (null === (e = this.m_StoreCategories) || void 0 === e
              ? void 0
              : e.supported_player_categoryids) || []
          );
        }
        GetStoreCategories_Features() {
          var e;
          return (
            (null === (e = this.m_StoreCategories) || void 0 === e
              ? void 0
              : e.feature_categoryids) || []
          );
        }
        GetStoreCategories_Controller() {
          var e;
          return (
            (null === (e = this.m_StoreCategories) || void 0 === e
              ? void 0
              : e.controller_categoryids) || []
          );
        }
        BHasStoreCategory(e) {
          return Boolean(
            this.GetStoreCategories_SupportedPlayers().find((t) => e === t) ||
              this.GetStoreCategories_Features().find((t) => e === t) ||
              this.GetStoreCategories_Controller().find((t) => e === t),
          );
        }
        GetFilteredReviewSummary() {
          return (
            this.BCheckDataRequestIncluded({ include_reviews: !0 }),
            this.m_ReviewInfo.summary_filtered
          );
        }
        GetUnfilteredReviewSummary() {
          return (
            this.BCheckDataRequestIncluded({ include_reviews: !0 }),
            this.m_ReviewInfo.summary_unfiltered ||
              this.m_ReviewInfo.summary_filtered
          );
        }
        GetShortDescription() {
          var e, t;
          return (
            this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
            null !==
              (t =
                null === (e = this.m_BasicInfo) || void 0 === e
                  ? void 0
                  : e.short_description) && void 0 !== t
              ? t
              : ""
          );
        }
        GetDeveloperNames() {
          var e, t, r, n;
          return (
            this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
            null !==
              (n =
                null ===
                  (r =
                    null ===
                      (t =
                        null === (e = this.m_BasicInfo) || void 0 === e
                          ? void 0
                          : e.developers) || void 0 === t
                      ? void 0
                      : t.map((e) => e.name.trim())) || void 0 === r
                  ? void 0
                  : r.filter((e) => (null == e ? void 0 : e.length) > 0)) &&
            void 0 !== n
              ? n
              : []
          );
        }
        GetFranchiseNames() {
          var e, t, r, n;
          return (
            this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
            null !==
              (n =
                null ===
                  (r =
                    null ===
                      (t =
                        null === (e = this.m_BasicInfo) || void 0 === e
                          ? void 0
                          : e.franchises) || void 0 === t
                      ? void 0
                      : t.map((e) => e.name.trim())) || void 0 === r
                  ? void 0
                  : r.filter((e) => (null == e ? void 0 : e.length) > 0)) &&
            void 0 !== n
              ? n
              : []
          );
        }
        GetPublisherNames() {
          var e, t, r, n;
          this.BCheckDataRequestIncluded({ include_basic_info: !0 });
          const i =
            null !==
              (n =
                null ===
                  (r =
                    null ===
                      (t =
                        null === (e = this.m_BasicInfo) || void 0 === e
                          ? void 0
                          : e.publishers) || void 0 === t
                      ? void 0
                      : t.map((e) => e.name.trim())) || void 0 === r
                  ? void 0
                  : r.filter((e) => (null == e ? void 0 : e.length) > 0)) &&
            void 0 !== n
              ? n
              : [];
          return (null == i ? void 0 : i.length) > 0
            ? i
            : this.GetDeveloperNames();
        }
        GetAllCreatorClanIDs() {
          return (
            this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
            this.m_BasicInfo
              ? Li([
                  ...this.m_BasicInfo.developers,
                  ...this.m_BasicInfo.publishers,
                  ...this.m_BasicInfo.franchises,
                ])
              : []
          );
        }
        GetAllPublisherCreatorClans() {
          return (
            this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
            this.m_BasicInfo ? Li(this.m_BasicInfo.publishers) : []
          );
        }
        GetAllDeveloperCreatorClans() {
          return (
            this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
            this.m_BasicInfo ? Li(this.m_BasicInfo.developers) : []
          );
        }
        GetAllFranchiseCreatorClans() {
          return (
            this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
            this.m_BasicInfo ? Li(this.m_BasicInfo.franchises) : []
          );
        }
        GetCapsuleHeadline() {
          var e;
          return (
            this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
            null === (e = this.m_BasicInfo) || void 0 === e
              ? void 0
              : e.capsule_headline
          );
        }
        GetTags() {
          return (
            this.BCheckDataRequestIncluded({ include_tag_count: 1 }),
            this.m_rgStoreTags
          );
        }
        GetTagIDs() {
          return (
            this.BCheckDataRequestIncluded({ include_tag_count: 1 }),
            this.m_rgStoreTagIDs
          );
        }
        BHasTags() {
          var e;
          return (
            this.BCheckDataRequestIncluded({ include_tag_count: 1 }),
            (null === (e = this.m_rgStoreTagIDs) || void 0 === e
              ? void 0
              : e.length) > 0
          );
        }
        GetAssets() {
          return (
            this.BCheckDataRequestIncluded({ include_assets: !0 }),
            this.m_Assets
          );
        }
        GetAssetsWithoutOverrides() {
          return (
            this.BCheckDataRequestIncluded({
              include_assets_without_overrides: !0,
            }),
            this.m_AssetsWithoutOverrides
          );
        }
        GetOriginalReleaseDateRTime() {
          var e;
          this.BCheckDataRequestIncluded({ include_release: !0 });
          let t =
            null === (e = this.m_ReleaseInfo) || void 0 === e
              ? void 0
              : e.original_steam_release_date;
          return t || (t = this.GetReleaseDateRTime()), t;
        }
        GetReleaseDateRTime() {
          var e, t, r;
          if (
            (this.BCheckDataRequestIncluded({ include_release: !0 }),
            null === (e = this.m_ReleaseInfo) || void 0 === e
              ? void 0
              : e.is_coming_soon)
          )
            return 0;
          let n =
            null === (t = this.m_ReleaseInfo) || void 0 === t
              ? void 0
              : t.steam_release_date;
          return (
            n ||
              (n =
                null === (r = this.m_ReleaseInfo) || void 0 === r
                  ? void 0
                  : r.original_release_date),
            n
          );
        }
        GetFormattedSteamReleaseDate() {
          var e, t, r, n, i;
          if (
            (this.BCheckDataRequestIncluded({ include_release: !0 }),
            null === (e = this.m_ReleaseInfo) || void 0 === e
              ? void 0
              : e.is_coming_soon)
          ) {
            if (
              null === (t = this.m_ReleaseInfo) || void 0 === t
                ? void 0
                : t.coming_soon_display
            )
              return Oi(this.m_ReleaseInfo);
            if (
              null === (r = this.m_ReleaseInfo) || void 0 === r
                ? void 0
                : r.custom_release_date_message
            )
              return this.m_ReleaseInfo.custom_release_date_message;
            const e =
              null === (n = this.m_ReleaseInfo) || void 0 === n
                ? void 0
                : n.steam_release_date;
            return e
              ? (
                  null === (i = this.m_ReleaseInfo) || void 0 === i
                    ? void 0
                    : i.is_abridged_release_date
                )
                ? Ue(new Date(1e3 * e))
                : ke(e)
              : "";
          }
          const a = this.GetReleaseDateRTime();
          return a ? ke(a) : "";
        }
        BIsComingSoon() {
          var e;
          return (
            this.BCheckDataRequestIncluded({ include_release: !0 }),
            null === (e = this.m_ReleaseInfo) || void 0 === e
              ? void 0
              : e.is_coming_soon
          );
        }
        BIsCustomComingSoonDisplay() {
          var e;
          return (
            !!this.BIsComingSoon() &&
            ((
              null === (e = this.m_ReleaseInfo) || void 0 === e
                ? void 0
                : e.coming_soon_display
            )
              ? ["text_tba", "text_comingsoon"].includes(
                  this.m_ReleaseInfo.coming_soon_display,
                )
              : !!this.m_ReleaseInfo.custom_release_date_message)
          );
        }
        BIsPrePurchase() {
          var e;
          return (
            this.BIsComingSoon() &&
            Boolean(
              null === (e = this.GetBestPurchaseOption()) || void 0 === e
                ? void 0
                : e.packageid,
            )
          );
        }
        BIsReleased() {
          return !this.BIsComingSoon();
        }
        GetPlatforms() {
          return (
            this.BCheckDataRequestIncluded({ include_platforms: !0 }),
            this.m_Platforms
          );
        }
        GetBestPurchaseOption() {
          return this.m_BestPurchaseOption;
        }
        GetBestPurchasePriceInCents() {
          var e;
          if (
            null === (e = this.m_BestPurchaseOption) || void 0 === e
              ? void 0
              : e.final_price_in_cents
          )
            return Number.parseInt(
              this.m_BestPurchaseOption.final_price_in_cents,
            );
        }
        GetBestPurchasePriceFormatted() {
          var e;
          return null === (e = this.m_BestPurchaseOption) || void 0 === e
            ? void 0
            : e.formatted_final_price;
        }
        GetBestPurchaseOriginalPriceInCents() {
          var e;
          return (
            null === (e = this.m_BestPurchaseOption) || void 0 === e
              ? void 0
              : e.original_price_in_cents
          )
            ? Number.parseInt(this.m_BestPurchaseOption.final_price_in_cents)
            : this.GetBestPurchasePriceInCents();
        }
        GetBestPurchaseOriginalPriceFormatted() {
          var e, t, r;
          return null !==
            (t =
              null === (e = this.m_BestPurchaseOption) || void 0 === e
                ? void 0
                : e.formatted_original_price) && void 0 !== t
            ? t
            : null === (r = this.m_BestPurchaseOption) || void 0 === r
              ? void 0
              : r.formatted_final_price;
        }
        GetAllPurchaseOptions() {
          return (
            this.BCheckDataRequestIncluded({
              include_all_purchase_options: !0,
            }),
            this.m_rgPurchaseOptions
          );
        }
        GetSelfPurchaseOption() {
          this.BCheckDataRequestIncluded({ include_all_purchase_options: !0 });
          const e = 2 === this.m_eItemType ? "bundleid" : "packageid";
          return this.m_rgPurchaseOptions.find(
            (t) => t[e] && t[e] === this.m_unID,
          );
        }
        BHasAgeSafeScreenshots() {
          return this.GetOnlyAllAgesSafeScreenshots().length > 0;
        }
        GetOnlyAllAgesSafeScreenshots() {
          var e;
          return (
            this.BCheckDataRequestIncluded({ include_screenshots: !0 }),
            (null === (e = this.m_Screenshots) || void 0 === e
              ? void 0
              : e.GetOnlyAllAgesScreenshots()) || []
          );
        }
        GetBothAllAgesSafeAndMatureScreenshots() {
          var e;
          return (
            this.BCheckDataRequestIncluded({ include_screenshots: !0 }),
            (null === (e = this.m_Screenshots) || void 0 === e
              ? void 0
              : e.GetAllAgesAndMatureScreenshots()) || []
          );
        }
        BHasTrailers() {
          var e;
          return (
            this.BCheckDataRequestIncluded({ include_trailers: !0 }),
            null === (e = this.m_Trailers) || void 0 === e
              ? void 0
              : e.BHasTrailers()
          );
        }
        BHasHighlightTrailers() {
          var e, t;
          return (
            this.BCheckDataRequestIncluded({ include_trailers: !0 }),
            (null ===
              (t =
                null === (e = this.m_Trailers) || void 0 === e
                  ? void 0
                  : e.GetHighlightTrailers()) || void 0 === t
              ? void 0
              : t.length) > 0
          );
        }
        GetAllTrailers() {
          return (
            this.BCheckDataRequestIncluded({ include_trailers: !0 }),
            this.m_Trailers
          );
        }
        BHasSomeLanguageSupport(e) {
          var t;
          return (
            this.BCheckDataRequestIncluded({ include_supported_languages: !0 }),
            (null === (t = this.m_rgSupportedLanguages) || void 0 === t
              ? void 0
              : t.some(
                  (t) =>
                    t.elanguage == e &&
                    (t.supported || t.subtitles || t.full_audio),
                )) || !1
          );
        }
        GetAllLanguagesWithSomeSupport() {
          var e;
          return (
            this.BCheckDataRequestIncluded({ include_supported_languages: !0 }),
            (null === (e = this.m_rgSupportedLanguages) || void 0 === e
              ? void 0
              : e
                  .filter((e) => e.supported || e.subtitles || e.full_audio)
                  .map((e) => e.elanguage)) || []
          );
        }
        GetDataRequest() {
          return this.m_DataRequested;
        }
        GetMicroTrailer() {
          this.BCheckDataRequestIncluded({ include_trailers: !0 });
          let e = null;
          return (
            this.m_Trailers &&
              (this.m_Trailers.GetHighlightTrailers().forEach((t) => {
                !e && t.GetMicroTrailer() && (e = t.GetMicroTrailer());
              }),
              e ||
                this.m_Trailers.GetOtherTrailers().forEach((t) => {
                  !e && t.GetMicroTrailer() && (e = t.GetMicroTrailer());
                })),
            e
          );
        }
        ReplaceBestPurchaseOption(e) {
          this.m_BestPurchaseOption = e;
        }
        GetInternalName() {
          return this.m_strInternalName;
        }
      }
      function Li(e) {
        if (!(null == e ? void 0 : e.length)) return [];
        const t = e.map((e) => e.creator_clan_account_id).filter((e) => !!e);
        return Array.from(new Set(t));
      }
      class ki {
        constructor(e, t) {
          const r = e.asset_url_format();
          r &&
            (e.main_capsule() &&
              (this.m_strMainCapsuleURL = this.ConstructAssetURL(
                r,
                e.main_capsule(),
              )),
            e.small_capsule() &&
              (this.m_strSmallCapsuleURL = this.ConstructAssetURL(
                r,
                e.small_capsule(),
              )),
            e.header() &&
              (this.m_strHeaderURL = this.ConstructAssetURL(r, e.header())),
            e.package_header() &&
              (this.m_strPackageHeaderURL = this.ConstructAssetURL(
                r,
                e.package_header(),
              )),
            e.page_background() &&
              (this.m_strPageBackgroundURL = this.ConstructAssetURL(
                r,
                e.page_background(),
              )),
            e.hero_capsule() &&
              (this.m_strHeroCapsuleURL = this.ConstructAssetURL(
                r,
                e.hero_capsule(),
              )),
            e.hero_capsule_2x() &&
              (this.m_strHeroCapsuleURL_2x = this.ConstructAssetURL(
                r,
                e.hero_capsule_2x(),
              )),
            e.library_capsule() &&
              (this.m_strLibraryCapsuleURL = this.ConstructAssetURL(
                r,
                e.library_capsule(),
              )),
            e.library_capsule_2x() &&
              (this.m_strLibraryCapsuleURL_2x = this.ConstructAssetURL(
                r,
                e.library_capsule_2x(),
              )),
            e.library_hero() &&
              (this.m_strLibraryHeroURL = this.ConstructAssetURL(
                r,
                e.library_hero(),
              )),
            e.library_hero_2x() &&
              (this.m_strLibraryHeroURL_2x = this.ConstructAssetURL(
                r,
                e.library_hero_2x(),
              ))),
            e.community_icon() &&
              (this.m_strCommunityIcon = `${w.MEDIA_CDN_COMMUNITY_URL}images/apps/${t}/${e.community_icon()}.jpg`);
        }
        GetMainCapsuleURL() {
          return this.m_strMainCapsuleURL;
        }
        GetSmallCapsuleURL() {
          return this.m_strSmallCapsuleURL;
        }
        GetHeaderURL() {
          return this.m_strHeaderURL;
        }
        GetPackageHeaderURL() {
          return this.m_strPackageHeaderURL;
        }
        GetPageBackgroundURL() {
          return this.m_strPageBackgroundURL;
        }
        GetHeroCapsuleURL() {
          return this.m_strHeroCapsuleURL;
        }
        GetHeroCapsuleURL_2x() {
          return this.m_strHeroCapsuleURL_2x;
        }
        GetLibraryCapsuleURL() {
          return this.m_strLibraryCapsuleURL;
        }
        GetLibraryCapsuleURL_2x() {
          return this.m_strLibraryCapsuleURL_2x;
        }
        GetLibraryHeroURL() {
          return this.m_strLibraryHeroURL;
        }
        GetLibraryHeroURL_2x() {
          return this.m_strLibraryHeroURL_2x;
        }
        ConstructAssetURL(e, t) {
          return w.MEDIA_CDN_URL + e.replace("${FILENAME}", t);
        }
        GetCommunityIconURL() {
          return this.m_strCommunityIcon;
        }
      }
      class Ni {
        constructor(e) {
          (this.m_mapTrailer = new Map()),
            (this.m_higherTrailers = new Array()),
            (this.m_otherTrailers = new Array()),
            e.highlights() &&
              e.highlights().forEach((e) => {
                let t = new Pi(e);
                this.m_mapTrailer.set(t.GetTrailerID(), t),
                  this.m_higherTrailers.push(t);
              }),
            e.other_trailers() &&
              e.other_trailers().forEach((e) => {
                let t = new Pi(e);
                this.m_mapTrailer.set(t.GetTrailerID(), t),
                  this.m_otherTrailers.push(t);
              });
        }
        BHasTrailers() {
          return (
            this.m_higherTrailers.length > 0 || this.m_otherTrailers.length > 0
          );
        }
        GetHighlightTrailers() {
          return this.m_higherTrailers;
        }
        GetOtherTrailers() {
          return this.m_otherTrailers;
        }
        GetTrailerByID(e) {
          return this.m_mapTrailer.get(e);
        }
      }
      class Pi {
        constructor(e) {
          (this.m_strTrailerName = e.trailer_name()),
            (this.m_nBaseID = e.trailer_base_id());
          const t = e.trailer_url_format();
          t &&
            (e.trailer_480p() &&
              (this.m_Trailer480p = this.ExtractTrailerFormats(
                t,
                e.trailer_480p(),
              )),
            e.trailer_max() &&
              (this.m_TrailerMax = this.ExtractTrailerFormats(
                t,
                e.trailer_max(),
              )),
            e.microtrailer() &&
              (this.m_MicroTrailer = this.ExtractTrailerFormats(
                t,
                e.microtrailer(),
              )),
            e.screenshot_medium() &&
              (this.m_strScreenshotMedium = this.ConstructAssetURL(
                t,
                e.screenshot_medium(),
              )),
            e.screenshot_full() &&
              (this.m_strScreenshotFull = this.ConstructAssetURL(
                t,
                e.screenshot_full(),
              )));
        }
        GetName() {
          return this.m_strTrailerName;
        }
        GetTrailerID() {
          return this.m_nBaseID;
        }
        GetTrailer480p() {
          return this.m_Trailer480p;
        }
        GetTrailerMax() {
          return this.m_TrailerMax;
        }
        GetMicroTrailer() {
          return this.m_MicroTrailer;
        }
        GetScreenshot() {
          return this.m_strScreenshotFull
            ? this.m_strScreenshotFull
            : this.m_strScreenshotMedium;
        }
        ExtractTrailerFormats(e, t) {
          let r = {};
          return (
            t.forEach((t) => {
              "video/mp4" == t.type()
                ? (r.strMP4URL = this.ConstructAssetURL(e, t.filename()))
                : "video/webm" == t.type() &&
                  (r.strWebMURL = this.ConstructAssetURL(e, t.filename()));
            }),
            r
          );
        }
        ConstructAssetURL(e, t) {
          return w.MEDIA_CDN_URL + e.replace("${FILENAME}", t);
        }
      }
      class Gi {
        constructor(e) {
          (this.m_rgAllScreenshots = new Array()),
            (this.m_rgOnlyAllAgesScreenshots = new Array());
          let t = 0,
            r = 0;
          const n = e.all_ages_screenshots() || [],
            i = e.mature_content_screenshots() || [];
          for (; t < n.length || r < i.length; ) {
            let e = t < n.length;
            if (t < n.length && r < i.length) {
              e = n[t].ordinal() < i[r].ordinal();
            }
            if (e) {
              const e = w.MEDIA_CDN_URL + n[t].filename();
              this.m_rgAllScreenshots.push(e),
                this.m_rgOnlyAllAgesScreenshots.push(e),
                (t += 1);
            } else {
              const e = w.MEDIA_CDN_URL + i[r].filename();
              this.m_rgAllScreenshots.push(e), (r += 1);
            }
          }
        }
        GetAllAgesAndMatureScreenshots() {
          return this.m_rgAllScreenshots;
        }
        GetOnlyAllAgesScreenshots() {
          return this.m_rgOnlyAllAgesScreenshots;
        }
      }
      function xi(e, t) {
        if (!e) return t;
        if (!t) return e;
        return {
          include_assets: e.include_assets || t.include_assets,
          include_release: e.include_release || t.include_release,
          include_platforms: e.include_platforms || t.include_platforms,
          include_all_purchase_options:
            e.include_all_purchase_options || t.include_all_purchase_options,
          include_screenshots: e.include_screenshots || t.include_screenshots,
          include_trailers: e.include_trailers || t.include_trailers,
          include_ratings: e.include_ratings || t.include_ratings,
          include_tag_count:
            Math.max(e.include_tag_count || 0, t.include_tag_count || 0) ||
            void 0,
          include_reviews: e.include_reviews || t.include_reviews,
          include_basic_info: e.include_basic_info || t.include_basic_info,
          include_supported_languages:
            e.include_supported_languages || t.include_supported_languages,
          include_full_description:
            e.include_full_description || t.include_full_description,
          include_included_items:
            e.include_included_items || t.include_included_items,
          include_assets_without_overrides:
            e.include_assets_without_overrides ||
            t.include_assets_without_overrides,
        };
      }
      function Ui(e, t) {
        return (0, i.mG)(this, void 0, void 0, function* () {
          const r = yield e,
            n = yield t;
          return 1 != r ? r : n;
        });
      }
      class zi {
        constructor() {
          (this.k_QueueWaitUntilRequestMS = 5),
            (this.k_nMaxBatchSize = 250),
            (this.m_bReturnUnavailableItems = !1),
            (this.m_mapApps = new Map()),
            (this.m_mapPackages = new Map()),
            (this.m_mapBundles = new Map()),
            (this.m_mapTags = new Map()),
            (this.m_mapCreators = new Map()),
            (this.m_mapHubCategories = new Map()),
            (this.m_setUnavailableApps = new Set()),
            (this.m_setUnavailablePackages = new Set()),
            (this.m_setUnavailableBundles = new Set()),
            (this.m_setUnavailableTags = new Set()),
            (this.m_setUnavailableCreators = new Set()),
            (this.m_setUnavailableHubCategories = new Set()),
            (this.m_setUnavailableDueToCountryRestrictionApps = new Set()),
            (this.m_setUnavailableDueToCountryRestrictionPackages = new Set()),
            (this.m_setUnavailableDueToCountryRestrictionBundles = new Set()),
            (this.m_mapAppsInFlight = new Map()),
            (this.m_mapPackageInFlight = new Map()),
            (this.m_mapBundleInFlight = new Map()),
            (this.m_mapTagsInFlight = new Map()),
            (this.m_mapCreatorsInFlight = new Map()),
            (this.m_mapHubCategoriesInFlight = new Map()),
            (this.m_SteamInterface = null),
            (this.m_bUsePartnerAPI = !1),
            (this.m_bInitialized = !1),
            (this.m_bActivelyResettingCache = !1),
            (this.m_setPendingAppInfo = new Set()),
            (this.m_setPendingBundleInfo = new Set()),
            (this.m_setPendingPackageInfo = new Set()),
            (this.m_setPendingTagInfo = new Set()),
            (this.m_setPendingCreatorInfo = new Set()),
            (this.m_setPendingHubCategoryInfo = new Set()),
            (this.m_setPendingDataRequest = {}),
            (this.m_PendingInfoResolve = void 0),
            (this.m_PendingTimer = void 0),
            (this.k_AlreadyResolvedOK = Promise.resolve(1)),
            (this.k_AlreadyResolvedInvalid = Promise.resolve(8)),
            (this.k_AlreadyResolvedBusy = Promise.resolve(10));
        }
        static Get() {
          return (
            zi.sm_instance ||
              ((zi.sm_instance = new zi()),
              (window.StoreItemCache = zi.sm_instance)),
            zi.sm_instance
          );
        }
        static Initialize(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            c(
              !zi.Get().m_bInitialized,
              "CStoreItemCache was already initialized; initialize it only once.",
            ),
              (zi.Get().m_SteamInterface = e),
              (zi.Get().m_bUsePartnerAPI = !!t),
              (zi.Get().m_bInitialized = !0);
          });
        }
        GetSteamInterface() {
          return this.m_SteamInterface;
        }
        SetSteamInterface(e) {
          this.m_SteamInterface = e;
        }
        SetReturnUnavailableItems(e) {
          this.m_bReturnUnavailableItems = e;
        }
        GetReturnUnavailableItems() {
          return this.m_bReturnUnavailableItems;
        }
        ResetCache() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            (this.m_bActivelyResettingCache = !0), this.FlushPendingInfo();
            let e = [];
            this.m_mapAppsInFlight.forEach((t) => {
              e.push(t.promise);
            }),
              this.m_mapBundleInFlight.forEach((t) => {
                e.push(t.promise);
              }),
              this.m_mapPackageInFlight.forEach((t) => {
                e.push(t.promise);
              }),
              this.m_mapTagsInFlight.forEach((t) => {
                e.push(t.promise);
              }),
              this.m_mapCreatorsInFlight.forEach((t) => {
                e.push(t.promise);
              }),
              this.m_mapHubCategoriesInFlight.forEach((t) => {
                e.push(t.promise);
              }),
              yield Promise.all(e),
              this.m_mapApps.clear(),
              this.m_mapBundles.clear(),
              this.m_mapPackages.clear(),
              this.m_mapTagsInFlight.clear(),
              this.m_mapCreatorsInFlight.clear(),
              this.m_mapHubCategoriesInFlight.clear(),
              (this.m_bActivelyResettingCache = !1);
          });
        }
        static BIsInitialized() {
          return zi.Get().m_bInitialized;
        }
        QueueAppRequest(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.QueueStoreItemRequest(e, 0, t);
          });
        }
        QueuePackageRequest(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.QueueStoreItemRequest(e, 1, t);
          });
        }
        QueueBundleRequest(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.QueueStoreItemRequest(e, 2, t);
          });
        }
        QueueTagRequest(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.QueueStoreItemRequest(e, 4, t);
          });
        }
        QueueCreatorRequest(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.QueueStoreItemRequest(e, 5, t);
          });
        }
        QueueHubCategoryRequest(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.QueueStoreItemRequest(e, 6, t);
          });
        }
        static ValidateDataRequest(e) {
          const t = [
            e.include_assets,
            e.include_release,
            e.include_platforms,
            e.include_all_purchase_options,
            e.include_screenshots,
            e.include_trailers,
            e.include_ratings,
            e.include_reviews,
            e.include_basic_info,
            e.include_supported_languages,
          ];
          for (const e of t) if (!0 !== e && void 0 !== e) return !1;
          return !0;
        }
        QueueMultipleAppRequests(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!e || 0 == e.length) return 1;
            const r = (yield Promise.all(
              e.map((e) => this.QueueStoreItemRequest(e, 0, t)),
            )).filter((e) => 1 != e);
            return r.length > 0 ? r[0] : 1;
          });
        }
        QueueMultiplePackageRequests(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!e || 0 == e.length) return 1;
            const r = (yield Promise.all(
              e.map((e) => this.QueueStoreItemRequest(e, 1, t)),
            )).filter((e) => 1 != e);
            return r.length > 0 ? r[0] : 1;
          });
        }
        QueueMultipleBundleRequests(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!e || 0 == e.length) return 1;
            const r = (yield Promise.all(
              e.map((e) => this.QueueStoreItemRequest(e, 2, t)),
            )).filter((e) => 1 != e);
            return r.length > 0 ? r[0] : 1;
          });
        }
        QueueMultipleTagRequests(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!e || 0 == e.length) return 1;
            const r = (yield Promise.all(
              e.map((e) => this.QueueStoreItemRequest(e, 4, t)),
            )).filter((e) => 1 != e);
            return r.length > 0 ? r[0] : 1;
          });
        }
        QueueMultipleCreatorRequests(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!e || 0 == e.length) return 1;
            const r = (yield Promise.all(
              e.map((e) => this.QueueStoreItemRequest(e, 5, t)),
            )).filter((e) => 1 != e);
            return r.length > 0 ? r[0] : 1;
          });
        }
        QueueMultipleHubCategoryRequests(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!e || 0 == e.length) return 1;
            const r = (yield Promise.all(
              e.map((e) => this.QueueStoreItemRequest(e, 6, t)),
            )).filter((e) => 1 != e);
            return r.length > 0 ? r[0] : 1;
          });
        }
        QueueMultipleStoreItemRequests(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!e || 0 == e.length) return 1;
            const n = (yield Promise.all(
              e.map((e, n) => this.QueueStoreItemRequest(e, t[n], r)),
            )).filter((e) => 1 != e);
            return n.length > 0 ? n[0] : 1;
          });
        }
        QueueStoreItemRequest(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (
              (c(
                zi.ValidateDataRequest(r),
                "Invalid Data Request: " + JSON.stringify(r),
              ),
              this.m_bActivelyResettingCache)
            )
              return (
                console.log(
                  "Rejecting store item request due to currently clearing the cache",
                ),
                this.k_AlreadyResolvedBusy
              );
            if (!e)
              return (
                c(!e, `unexpected id ${e} of zero or undefined for type ${t}`),
                this.k_AlreadyResolvedInvalid
              );
            const n = this.GetPreviousSupersetLoadPromise(e, t, r);
            if (n) return n;
            switch (
              (this.m_PendingInfoPromise ||
                ((this.m_PendingInfoPromise = new Promise(
                  (e) => (this.m_PendingInfoResolve = e),
                )),
                (this.m_PendingTimer = window.setTimeout(
                  () => this.FlushPendingInfo(),
                  this.k_QueueWaitUntilRequestMS,
                ))),
              (this.m_setPendingDataRequest = xi(
                this.m_setPendingDataRequest,
                r,
              )),
              t)
            ) {
              case 0:
                this.m_setPendingAppInfo.add(e);
                break;
              case 2:
                this.m_setPendingBundleInfo.add(e);
                break;
              case 1:
                this.m_setPendingPackageInfo.add(e);
                break;
              case 4:
                this.m_setPendingTagInfo.add(e);
                break;
              case 5:
                this.m_setPendingCreatorInfo.add(e);
                break;
              case 6:
                this.m_setPendingHubCategoryInfo.add(e);
                break;
              default:
                c(!1, `Unexpected Type ${t}`);
            }
            const i = this.m_PendingInfoPromise;
            return (
              this.m_setPendingAppInfo.size +
                this.m_setPendingPackageInfo.size +
                this.m_setPendingBundleInfo.size >=
                this.k_nMaxBatchSize &&
                (this.m_PendingTimer &&
                  window.clearTimeout(this.m_PendingTimer),
                this.FlushPendingInfo()),
              i
            );
          });
        }
        FlushPendingInfo() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (void 0 === this.m_PendingInfoResolve) return;
            const e = this.m_PendingInfoResolve,
              t = Array.from(this.m_setPendingAppInfo),
              r = Array.from(this.m_setPendingPackageInfo),
              n = Array.from(this.m_setPendingBundleInfo),
              i = Array.from(this.m_setPendingTagInfo),
              a = Array.from(this.m_setPendingCreatorInfo),
              s = Array.from(this.m_setPendingHubCategoryInfo),
              o = this.m_setPendingDataRequest;
            (this.m_PendingInfoPromise = void 0),
              (this.m_PendingInfoResolve = void 0),
              this.m_setPendingAppInfo.clear(),
              this.m_setPendingBundleInfo.clear(),
              this.m_setPendingPackageInfo.clear(),
              this.m_setPendingTagInfo.clear(),
              this.m_setPendingCreatorInfo.clear(),
              this.m_setPendingHubCategoryInfo.clear(),
              (this.m_setPendingDataRequest = {}),
              (this.m_PendingTimer = void 0),
              this.HintLoadStoreItems(void 0, t, r, n, i, a, s, o).then((t) =>
                e(t),
              );
          });
        }
        HintLoadStoreApps(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.HintLoadStoreItems(
              null,
              e,
              null,
              null,
              null,
              null,
              null,
              t,
            );
          });
        }
        HintLoadStorePackages(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.HintLoadStoreItems(
              null,
              null,
              e,
              null,
              null,
              null,
              null,
              t,
            );
          });
        }
        HintLoadStoreBundles(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.HintLoadStoreItems(
              null,
              null,
              null,
              e,
              null,
              null,
              null,
              t,
            );
          });
        }
        GetPreviousSupersetLoadPromise(e, t, r) {
          if (this.BHasStoreItem(e, t, r) || this.BIsStoreItemMissing(e, t))
            return this.k_AlreadyResolvedOK;
          let n = null;
          switch (t) {
            case 0:
              n = this.m_mapAppsInFlight.get(e);
              break;
            case 1:
              n = this.m_mapPackageInFlight.get(e);
              break;
            case 2:
              n = this.m_mapBundleInFlight.get(e);
              break;
            case 4:
              n = this.m_mapTagsInFlight.get(e);
              break;
            case 5:
              n = this.m_mapCreatorsInFlight.get(e);
              break;
            case 6:
              n = this.m_mapHubCategoriesInFlight.get(e);
          }
          return n && Fi.BDataRequestContainsOtherDataRequest(n.dataRequest, r)
            ? n.promise
            : null;
        }
        HintLoadStoreItems(e, t, r, n, a, s, o, l) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = null;
            const c = new Promise((e) => (i = e));
            let u = [],
              d = [];
            (t || []).forEach((e) => {
              const t = this.GetPreviousSupersetLoadPromise(e, 0, l);
              if (t) d.push(t);
              else {
                u.push(Qn.fromObject({ appid: e }));
                let t = xi(this.GetStoreItemDataRequest(e, 0), l);
                const r = this.m_mapAppsInFlight.get(e);
                (t = xi(null == r ? void 0 : r.dataRequest, t)),
                  r && d.push(r.promise),
                  this.m_mapAppsInFlight.set(e, {
                    promise: r ? Ui(r.promise, c) : c,
                    dataRequest: t,
                  });
              }
            }),
              (r || []).forEach((e) => {
                const t = this.GetPreviousSupersetLoadPromise(e, 1, l);
                if (t) d.push(t);
                else {
                  u.push(Qn.fromObject({ packageid: e }));
                  let t = xi(this.GetStoreItemDataRequest(e, 1), l);
                  const r = this.m_mapPackageInFlight.get(e);
                  (t = xi(null == r ? void 0 : r.dataRequest, t)),
                    r && d.push(r.promise),
                    this.m_mapPackageInFlight.set(e, {
                      promise: r ? Ui(r.promise, c) : c,
                      dataRequest: t,
                    });
                }
              }),
              (n || []).forEach((e) => {
                const t = this.GetPreviousSupersetLoadPromise(e, 2, l);
                if (t) d.push(t);
                else {
                  u.push(Qn.fromObject({ bundleid: e }));
                  let t = xi(this.GetStoreItemDataRequest(e, 2), l);
                  const r = this.m_mapBundleInFlight.get(e);
                  (t = xi(null == r ? void 0 : r.dataRequest, t)),
                    r && d.push(r.promise),
                    this.m_mapBundleInFlight.set(e, {
                      promise: r ? Ui(r.promise, c) : c,
                      dataRequest: t,
                    });
                }
              }),
              (a || []).forEach((e) => {
                const t = this.GetPreviousSupersetLoadPromise(e, 4, l);
                if (t) d.push(t);
                else {
                  u.push(Qn.fromObject({ tagid: e }));
                  let t = xi(this.GetStoreItemDataRequest(e, 4), l);
                  const r = this.m_mapTagsInFlight.get(e);
                  (t = xi(null == r ? void 0 : r.dataRequest, t)),
                    r && d.push(r.promise),
                    this.m_mapTagsInFlight.set(e, {
                      promise: r ? Ui(r.promise, c) : c,
                      dataRequest: t,
                    });
                }
              }),
              (s || []).forEach((e) => {
                const t = this.GetPreviousSupersetLoadPromise(e, 5, l);
                if (t) d.push(t);
                else {
                  u.push(Qn.fromObject({ creatorid: e }));
                  let t = xi(this.GetStoreItemDataRequest(e, 5), l);
                  const r = this.m_mapCreatorsInFlight.get(e);
                  (t = xi(null == r ? void 0 : r.dataRequest, t)),
                    r && d.push(r.promise),
                    this.m_mapCreatorsInFlight.set(e, {
                      promise: r ? Ui(r.promise, c) : c,
                      dataRequest: t,
                    });
                }
              }),
              (o || []).forEach((e) => {
                const t = this.GetPreviousSupersetLoadPromise(e, 6, l);
                if (t) d.push(t);
                else {
                  u.push(Qn.fromObject({ hubcategoryid: e }));
                  let t = xi(this.GetStoreItemDataRequest(e, 6), l);
                  const r = this.m_mapHubCategoriesInFlight.get(e);
                  (t = xi(null == r ? void 0 : r.dataRequest, t)),
                    r && d.push(r.promise),
                    this.m_mapHubCategoriesInFlight.set(e, {
                      promise: r ? Ui(r.promise, c) : c,
                      dataRequest: t,
                    });
                }
              });
            let m = 1;
            if (
              (u.length > 0 &&
                (m = yield this.InternalHandleLoadStoreItems(e, u, l)),
              i(m),
              d.length > 0)
            ) {
              const e = yield Promise.all(d);
              for (const t of e) 1 != t && 1 == m && (m = t);
            }
            return (
              (t || []).forEach((e) => this.m_mapAppsInFlight.delete(e)),
              (r || []).forEach((e) => this.m_mapPackageInFlight.delete(e)),
              (n || []).forEach((e) => this.m_mapBundleInFlight.delete(e)),
              (a || []).forEach((e) => this.m_mapTagsInFlight.delete(e)),
              (s || []).forEach((e) => this.m_mapCreatorsInFlight.delete(e)),
              (o || []).forEach((e) =>
                this.m_mapHubCategoriesInFlight.delete(e),
              ),
              m
            );
          });
        }
        MarkStoreItemIDUnavailable(e) {
          (e || []).forEach((e) => {
            e.appid()
              ? (this.m_setUnavailableApps.add(e.appid()),
                this.m_mapApps.delete(e.appid()))
              : e.packageid()
                ? (this.m_setUnavailablePackages.add(e.packageid()),
                  this.m_mapPackages.delete(e.packageid()))
                : e.bundleid()
                  ? (this.m_setUnavailableBundles.add(e.bundleid()),
                    this.m_mapBundles.delete(e.bundleid()))
                  : e.tagid()
                    ? (this.m_setUnavailableTags.add(e.tagid()),
                      this.m_mapTags.delete(e.tagid()))
                    : e.creatorid()
                      ? (this.m_setUnavailableCreators.add(e.creatorid()),
                        this.m_mapCreators.delete(e.creatorid()))
                      : e.hubcategoryid() &&
                        (this.m_setUnavailableHubCategories.add(
                          e.hubcategoryid(),
                        ),
                        this.m_mapHubCategories.delete(e.hubcategoryid()));
          });
        }
        SortStoreItems(e) {
          let t = e.slice();
          return (
            t.sort((e, t) => {
              var r, n, i, a, s, o, l, c, u, d, m, _;
              let h = null !== (r = e.appid()) && void 0 !== r ? r : 0,
                p = null !== (n = t.appid()) && void 0 !== n ? n : 0;
              if (h != p) return h - p;
              let g = null !== (i = e.packageid()) && void 0 !== i ? i : 0,
                b = null !== (a = t.packageid()) && void 0 !== a ? a : 0;
              if (g != b) return g - b;
              let f = null !== (s = e.bundleid()) && void 0 !== s ? s : 0,
                v = null !== (o = t.bundleid()) && void 0 !== o ? o : 0;
              if (f != v) return f - v;
              let y = null !== (l = e.tagid()) && void 0 !== l ? l : 0,
                S = null !== (c = t.tagid()) && void 0 !== c ? c : 0;
              if (y != S) return y - S;
              let w = null !== (u = e.creatorid()) && void 0 !== u ? u : 0,
                C = null !== (d = t.creatorid()) && void 0 !== d ? d : 0;
              if (w != C) return w - C;
              let B = null !== (m = e.hubcategoryid()) && void 0 !== m ? m : 0,
                E = null !== (_ = t.hubcategoryid()) && void 0 !== _ ? _ : 0;
              return B != E ? B - E : 0;
            }),
            t
          );
        }
        InternalHandleLoadStoreItems(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let n = 1;
            e ||
              (this.GetSteamInterface() ||
                this.SetSteamInterface(new gn(w.WEBAPI_BASE_URL)),
              (e = this.GetSteamInterface())),
              (t = this.SortStoreItems(t)),
              r.include_included_items &&
                (r = Object.assign(Object.assign({}, r), {
                  included_item_data_request: Object.assign(
                    Object.assign({}, r),
                    { include_included_items: !1 },
                  ),
                }));
            const i = new Array();
            try {
              const a = [];
              for (; t.length > 0; ) {
                const n = t.splice(0, this.k_nMaxBatchSize);
                if ((i.push(n), this.m_bUsePartnerAPI)) {
                  const t = At.Init(hi);
                  t.Body().set_include_unpublished(!1);
                  const i = t.Body().request(!0);
                  i.set_context(Di(this.m_bUsePartnerAPI)),
                    i.set_data_request($n.fromObject(r)),
                    i.set_ids(n),
                    a.push(pi.GetItems(e.GetServiceTransport(), t));
                } else {
                  const t = At.Init(Xn);
                  Mi(t, this.m_bUsePartnerAPI),
                    Ai(t, r),
                    t.Body().set_ids(n),
                    a.push(mi.GetItems(e.GetAnonymousServiceTransport(), t));
                }
              }
              (yield Promise.all(a)).forEach((e, a) => {
                1 == e.GetEResult()
                  ? e
                      .Body()
                      .store_items()
                      .forEach((n) => {
                        const i = n.id(),
                          a = n.item_type();
                        let s =
                            this.m_bReturnUnavailableItems && 15 == n.success(),
                          o =
                            1 == n.success() && !this.BIsStoreItemMissing(i, a);
                        if (s || o) this.ReadItem(n, r);
                        else {
                          switch (
                            ("dev" == w.WEB_UNIVERSE &&
                              console.warn(
                                `Failed to load ${i} type ${a} with error ${n.success()}`,
                                n,
                              ),
                            a)
                          ) {
                            case 0:
                              this.m_setUnavailableApps.add(i),
                                this.m_mapApps.delete(i);
                              break;
                            case 1:
                              this.m_setUnavailablePackages.add(i),
                                this.m_mapPackages.delete(i);
                              break;
                            case 2:
                              this.m_setUnavailableBundles.add(i),
                                this.m_mapBundles.delete(i);
                              break;
                            case 4:
                              this.m_setUnavailableTags.add(i),
                                this.m_mapTags.delete(i);
                              break;
                            case 5:
                              this.m_setUnavailableCreators.add(i),
                                this.m_mapCreators.delete(i);
                              break;
                            case 6:
                              this.m_setUnavailableHubCategories.add(i),
                                this.m_mapHubCategories.delete(i);
                              break;
                            default:
                              console.error(
                                "CStoreItemCache.InternalHandleLoadStoreItems unexpected item_type in response " +
                                  a +
                                  " " +
                                  i,
                              );
                          }
                          if (n.unvailable_for_country_restriction())
                            switch (a) {
                              case 0:
                                this.m_setUnavailableDueToCountryRestrictionApps.add(
                                  i,
                                );
                                break;
                              case 1:
                                this.m_setUnavailableDueToCountryRestrictionPackages.add(
                                  i,
                                );
                                break;
                              case 2:
                                this.m_setUnavailableDueToCountryRestrictionBundles.add(
                                  i,
                                );
                                break;
                              case 4:
                              case 5:
                              case 6:
                                console.error(
                                  "CStoreItemCache::InternalHandleLoadStoreItems - tags, creators or categories don't have country restrictions. eResult: " +
                                    e.GetEResult() +
                                    " message: " +
                                    e.Hdr().error_message(),
                                  (0, Je.ZN)(t),
                                );
                            }
                        }
                      })
                  : (console.warn(
                      "CStoreItemCache::InternalHandleLoadStoreItems failed with eResult: " +
                        e.GetEResult() +
                        " message: " +
                        e.Hdr().error_message(),
                      (0, Je.ZN)(t),
                    ),
                    (1 == e.Hdr().transport_error() || w.FROM_WEB) &&
                      this.MarkStoreItemIDUnavailable(i[a]),
                    1 == n && (n = e.GetEResult()));
              });
            } catch (e) {
              const t = Ft(e);
              return (
                console.error(
                  "CStoreItemCache::InternalHandleLoadStoreItems failed: " +
                    t.strErrorMsg,
                  t,
                ),
                i.forEach((e) => this.MarkStoreItemIDUnavailable(e)),
                79
              );
            }
            return n;
          });
        }
        GetMapForType(e) {
          let t;
          switch (e) {
            case 0:
              t = this.m_mapApps;
              break;
            case 2:
              t = this.m_mapBundles;
              break;
            case 1:
              t = this.m_mapPackages;
              break;
            case 4:
              t = this.m_mapTags;
              break;
            case 5:
              t = this.m_mapCreators;
              break;
            case 6:
              t = this.m_mapHubCategories;
              break;
            default:
              console.error("Invalid map type requested", e);
          }
          return t;
        }
        BHasStoreItem(e, t, r) {
          let n = this.GetMapForType(t);
          return Boolean(
            n && n.has(e) && (!r || n.get(e).BContainDataRequest(r)),
          );
        }
        GetStoreItem(e, t) {
          if (-1 == t || 3 == t) return;
          const r = this.GetMapForType(t);
          return null == r ? void 0 : r.get(e);
        }
        GetStoreItemWithLegacyVisibilityCheck(e, t) {
          const r = this.GetStoreItem(e, t);
          return r && (this.m_bReturnUnavailableItems || r.BIsVisible())
            ? r
            : void 0;
        }
        GetStoreItemDataRequest(e, t) {
          var r, n;
          return (
            (null ===
              (n =
                null === (r = this.GetMapForType(t)) || void 0 === r
                  ? void 0
                  : r.get(e)) || void 0 === n
              ? void 0
              : n.GetDataRequest()) || null
          );
        }
        BHasApp(e, t) {
          return this.BHasStoreItem(e, 0, t);
        }
        GetApp(e) {
          return this.GetStoreItem(e, 0);
        }
        BHasPackage(e, t) {
          return this.BHasStoreItem(e, 1, t);
        }
        GetPackage(e) {
          return this.GetStoreItem(e, 1);
        }
        BHasBundle(e, t) {
          return this.BHasStoreItem(e, 2, t);
        }
        GetBundle(e) {
          return this.GetStoreItem(e, 2);
        }
        BHasTag(e, t) {
          return this.BHasStoreItem(e, 4, t);
        }
        GetTag(e) {
          return this.GetStoreItem(e, 4);
        }
        BHasCreator(e, t) {
          return this.BHasStoreItem(e, 5, t);
        }
        GetCreator(e) {
          return this.GetStoreItem(e, 5);
        }
        BHasHubCategory(e, t) {
          return this.BHasStoreItem(e, 6, t);
        }
        GetHubCategory(e) {
          return this.GetStoreItem(e, 6);
        }
        BIsStoreItemMissing(e, t) {
          switch (t) {
            case 0:
              return this.BIsAppMissing(e);
            case 1:
              return this.BIsPackageMissing(e);
            case 2:
              return this.BIsBundleMissing(e);
            case 4:
              return this.BIsTagMissing(e);
            case 5:
              return this.BIsCreatorMissing(e);
            case 6:
              return this.BIsHubCategoryMissing(e);
            default:
              return console.error("BStoreItemMissing invalid type", t), !0;
          }
        }
        BIsAppMissing(e) {
          return this.m_setUnavailableApps.has(e);
        }
        BIsPackageMissing(e) {
          return this.m_setUnavailablePackages.has(e);
        }
        BIsBundleMissing(e) {
          return this.m_setUnavailableBundles.has(e);
        }
        BIsTagMissing(e) {
          return this.m_setUnavailableTags.has(e);
        }
        BIsCreatorMissing(e) {
          return this.m_setUnavailableCreators.has(e);
        }
        BIsHubCategoryMissing(e) {
          return this.m_setUnavailableHubCategories.has(e);
        }
        BIsStoreItemUnavailableDueToCountryRestriction(e, t) {
          switch (t) {
            case 0:
              return this.BIsAppUnavailableDueToCountryRestriction(e);
            case 1:
              return this.BIsPackageUnavailableDueToCountryRestriction(e);
            case 2:
              return this.BIsBundleUnavailableDueToCountryRestriction(e);
            case 4:
            case 5:
            case 6:
              return (
                console.error(
                  "BIsStoreItemUnavailableDueToCountryRestriction - tags, creators or categories don't have country restrictions. type: ",
                  t,
                ),
                !0
              );
            default:
              return console.error("BStoreItemMissing invalid type", t), !0;
          }
        }
        BIsAppUnavailableDueToCountryRestriction(e) {
          return this.m_setUnavailableDueToCountryRestrictionApps.has(e);
        }
        BIsPackageUnavailableDueToCountryRestriction(e) {
          return this.m_setUnavailableDueToCountryRestrictionPackages.has(e);
        }
        BIsBundleUnavailableDueToCountryRestriction(e) {
          return this.m_setUnavailableDueToCountryRestrictionBundles.has(e);
        }
        ReadResults(e, t) {
          let r = [];
          for (const n of e) r.push(this.ReadItem(n, t));
          return r;
        }
        ReadItem(e, t) {
          const r = e.item_type();
          let n = null;
          switch (r) {
            case 0:
              n = this.m_mapApps;
              break;
            case 1:
              n = this.m_mapPackages;
              break;
            case 2:
              n = this.m_mapBundles;
              break;
            case 4:
              n = this.m_mapTags;
              break;
            case 5:
              n = this.m_mapCreators;
              break;
            case 6:
              n = this.m_mapHubCategories;
              break;
            default:
              return console.error(`Invalid item type: ${r}`), null;
          }
          let i = n.get(e.id());
          if (
            (i ? i.MergeData(e, t) : ((i = new Fi(e, t)), n.set(e.id(), i)),
            t.include_included_items && e.included_items(!1))
          ) {
            for (const r of e.included_items().included_apps())
              this.ReadItem(r, t.included_item_data_request);
            for (const r of e.included_items().included_packages())
              this.ReadItem(r, t.included_item_data_request);
          }
          return i;
        }
      }
      (zi.k_DataRequest_CommonOnly = {}),
        (zi.k_DataRequest_BasicInfo = { include_basic_info: !0 }),
        (zi.k_DataRequest_Assets = { include_assets: !0 }),
        (zi.k_DataRequest_IncludeAll = {
          include_assets: !0,
          include_release: !0,
          include_platforms: !0,
          include_all_purchase_options: !0,
          include_screenshots: !0,
          include_trailers: !0,
          include_ratings: !0,
          include_tag_count: 20,
          include_reviews: !0,
          include_basic_info: !0,
          include_supported_languages: !0,
        });
      const Wi = zi;
      (0, i.gn)(
        [ye],
        class {
          constructor(e, t) {
            (this.m_eventModel = e), (this.m_entry = t);
          }
          GetEventStartTime() {
            return this.m_entry.rtime_start_specific
              ? this.m_entry.rtime_start_specific
              : this.m_eventModel.startTime +
                  this.m_entry.delta_from_event_start_seconds;
          }
        }.prototype,
        "GetEventStartTime",
        null,
      );
      new Set([9, 11, 20, 21, 22, 23, 24, 25, 26, 27, 31, 35]);
      var ji;
      !(function (e) {
        (e[(e.k_EEventStateUnpublished = 0)] = "k_EEventStateUnpublished"),
          (e[(e.k_EEventStateStaged = 1)] = "k_EEventStateStaged"),
          (e[(e.k_EEventStateVisible = 2)] = "k_EEventStateVisible");
      })(ji || (ji = {}));
      var Vi, Hi, qi, Ki, $i, Yi;
      !(function (e) {
        (e[(e.k_EStoreFilterClauseTypeOr = 0)] = "k_EStoreFilterClauseTypeOr"),
          (e[(e.k_EStoreFilterClauseTypeAnd = 1)] =
            "k_EStoreFilterClauseTypeAnd"),
          (e[(e.k_EStoreFilterClauseTypeStoreTag = 2)] =
            "k_EStoreFilterClauseTypeStoreTag"),
          (e[(e.k_EStoreFilterClauseTypeFeatureTag = 3)] =
            "k_EStoreFilterClauseTypeFeatureTag"),
          (e[(e.k_EStoreFilterClauseTypeLanguage = 4)] =
            "k_EStoreFilterClauseTypeLanguage"),
          (e[(e.k_EStoreFilterClauseTypeContentDescriptor = 5)] =
            "k_EStoreFilterClauseTypeContentDescriptor"),
          (e[(e.k_EStoreFilterClauseTypePrice = 6)] =
            "k_EStoreFilterClauseTypePrice"),
          (e[(e.k_EStoreFilterClauseTypeAppType = 7)] =
            "k_EStoreFilterClauseTypeAppType");
      })(Vi || (Vi = {})),
        (function (e) {
          (e[(e.k_ESaleTagFilter = 0)] = "k_ESaleTagFilter"),
            (e[(e.k_ELanguage = 1)] = "k_ELanguage"),
            (e[(e.k_EContentDescriptor = 2)] = "k_EContentDescriptor"),
            (e[(e.k_EUserPreference = 3)] = "k_EUserPreference"),
            (e[(e.k_EPrice = 4)] = "k_EPrice"),
            (e[(e.k_EAppType = 5)] = "k_EAppType");
        })(Hi || (Hi = {})),
        (function (e) {
          (e[(e.k_EHideOwnedItems = 0)] = "k_EHideOwnedItems"),
            (e[(e.k_EHideWishlistedItems = 1)] = "k_EHideWishlistedItems"),
            (e[(e.k_EHideIgnoredItems = 2)] = "k_EHideIgnoredItems");
        })(qi || (qi = {})),
        (function (e) {
          (e[(e.k_ESortFacetsByName = 0)] = "k_ESortFacetsByName"),
            (e[(e.k_ESortFacetsByMatchCount = 1)] =
              "k_ESortFacetsByMatchCount"),
            (e[(e.k_ESortFacetsManually = 2)] = "k_ESortFacetsManually");
        })(Ki || (Ki = {})),
        (function (e) {
          (e.Steam = "Steam"),
            (e.Facebook = "Facebook"),
            (e.Twitter = "Twitter"),
            (e.Reddit = "Reddit");
        })($i || ($i = {})),
        (function (e) {
          (e.Summary = "summary"),
            (e.SummaryLargeImage = "summary_large_image");
        })(Yi || (Yi = {}));
      const Qi = {
        capsules: [],
        events: [],
        links: [],
        localized_label: new Array(31),
        localized_label_image: new Array(31),
        default_label: "#Sale_default_label",
        section_type: "unselected_empty",
      };
      var Xi;
      !(function (e) {
        (e[(e.k_ETaggedItems = 0)] = "k_ETaggedItems"),
          (e[(e.k_EContentHub = 1)] = "k_EContentHub");
      })(Xi || (Xi = {}));
      const Zi = Object.assign(
          Object.assign(
            {
              localized_subtitle: new Array(31),
              localized_summary: new Array(31),
              localized_title_image: new Array(31),
              localized_capsule_image: new Array(31),
              bSaleEnabled: !1,
              sale_show_creator: !1,
              sale_sections: [],
              sale_browsemore_text: "",
              sale_browsemore_url: "",
              sale_browsemore_color: "",
              sale_browsemore_bgcolor: "",
              localized_sale_header: new Array(31),
              localized_sale_overlay: new Array(31),
              localized_sale_product_banner: new Array(31),
              localized_sale_product_mobile_banner: new Array(31),
              localized_sale_logo: new Array(31),
              sale_font: "",
              sale_background_color: "",
              sale_header_offset: 150,
              referenced_appids: [],
            },
            Jr,
          ),
          { bScheduleEnabled: !1, scheduleEntries: [] },
        ),
        Ji = "old_announce_";
      class ea {
        constructor() {
          (this.GID = void 0),
            (this.AnnouncementGID = void 0),
            (this.forumTopicGID = void 0),
            (this.type = 1),
            (this.appid = 0),
            (this.name = new Map()),
            (this.description = new Map()),
            (this.timestamp_loc_updated = new Map()),
            (this.startTime = void 0),
            (this.endTime = void 0),
            (this.visibilityStartTime = void 0),
            (this.visibilityEndTime = void 0),
            (this.m_nBuildID = void 0),
            (this.m_strBuildBranch = void 0),
            (this.postTime = void 0),
            (this.visibility_state = ji.k_EEventStateUnpublished),
            (this.broadcaster = void 0),
            (this.jsondata = Zi),
            (this.nCommentCount = 0),
            (this.nVotesUp = 0),
            (this.nVotesDown = 0),
            (this.bOldAnnouncement = !1),
            (this.announcementClanSteamID = void 0),
            (this.loadedAllLanguages = !1),
            (this.bLoaded = !1),
            (this.deleteInProgress = !1),
            (this.vecTags = new Array()),
            (this.last_update_steamid = void 0),
            (this.rtime32_last_modified = void 0),
            (this.rtime32_last_solr_search_col_updated = void 0),
            (this.rtime32_last_local_modification = void 0),
            (this.rtime32_moderator_reviewed = void 0),
            (this.video_preview_type = void 0),
            (this.video_preview_id = void 0),
            (this.m_overrideCurrentDay = void 0),
            (0, Je.rC)(this);
        }
        BIsPartnerEvent() {
          return !this.bOldAnnouncement && Boolean(this.GID);
        }
        static FromJSON(e) {
          let t = new ea(),
            r = JSON.parse(e);
          return (
            Object.assign(t, r),
            (t.name = new Map(r.name)),
            (t.description = new Map(r.description)),
            (t.vecTags = new Array(r.vecTags)),
            (t.clanSteamID = new ot(r.clanSteamID)),
            c(
              t.clanSteamID && t.clanSteamID.BIsValid(),
              "Invalid Clan SteamID: " + t.clanSteamID.ConvertTo64BitString(),
            ),
            r.broadcaster &&
              ((t.broadcaster = new ot(r.broadcaster)),
              c(
                t.broadcaster && t.broadcaster.BIsValid(),
                "Invalid Broadcast SteamID: " +
                  t.broadcaster.ConvertTo64BitString(),
              )),
            t
          );
        }
        toJSON(e) {
          let t = new Object();
          return (
            Object.assign(t, this),
            (t.name = Array.from(this.name)),
            (t.description = Array.from(this.description)),
            (t.tags = Array.from(this.vecTags)),
            (t.clanSteamID = this.clanSteamID.ConvertTo64BitString()),
            this.broadcaster &&
              (t.broadcaster = this.broadcaster.ConvertTo64BitString()),
            t
          );
        }
        clone(e = !1) {
          let t = new ea();
          return (
            (t.GID = this.GID),
            (t.AnnouncementGID = this.AnnouncementGID),
            (t.clanSteamID = this.clanSteamID),
            (t.bOldAnnouncement = this.bOldAnnouncement),
            (t.nCommentCount = this.nCommentCount),
            (t.nVotesUp = this.nVotesUp),
            (t.nVotesDown = this.nVotesDown),
            (t.forumTopicGID = this.forumTopicGID),
            (t.comment_type = this.comment_type),
            (t.gidfeature = this.gidfeature),
            (t.gidfeature2 = this.gidfeature2),
            (t.featured_app_tagid = this.featured_app_tagid),
            (t.creator_steamid = this.creator_steamid),
            (t.last_update_steamid = this.last_update_steamid),
            (t.rtime32_last_modified = this.rtime32_last_modified),
            (t.rtime32_last_solr_search_col_updated =
              this.rtime32_last_solr_search_col_updated),
            (t.rtime32_moderator_reviewed = this.rtime32_moderator_reviewed),
            (t.type = this.type),
            (t.appid = this.appid),
            (t.name = new Map()),
            this.name.forEach((e, r) => {
              t.name.set(r, e);
            }),
            (t.description = new Map()),
            this.description.forEach((e, r) => {
              t.description.set(r, e);
            }),
            (t.timestamp_loc_updated = new Map()),
            this.timestamp_loc_updated.forEach((e, r) => {
              t.timestamp_loc_updated.set(r, e);
            }),
            (t.startTime = this.startTime),
            (t.endTime = this.endTime),
            (t.visibilityStartTime = this.visibilityStartTime),
            (t.visibilityEndTime = this.visibilityEndTime),
            (t.postTime = this.postTime),
            (t.visibility_state = this.visibility_state),
            (t.loadedAllLanguages = this.loadedAllLanguages),
            (t.bLoaded = this.bLoaded),
            (t.broadcaster = this.broadcaster
              ? new ot(this.broadcaster.ConvertTo64BitString())
              : null),
            (t.jsondata = JSON.parse(JSON.stringify(this.jsondata))),
            (t.vecTags = new Array()),
            this.vecTags.forEach((e) => t.vecTags.push(e)),
            e &&
              ((t.m_nBuildID = this.m_nBuildID),
              (t.m_strBuildBranch = this.m_strBuildBranch)),
            t
          );
        }
        GetLastReferencedSaleDayFromCapsules(e, t) {
          let r = t;
          return (
            null == e ||
              e.forEach((e) => {
                void 0 !== e.visibility_index &&
                  (r =
                    void 0 === r
                      ? e.visibility_index
                      : Math.max(r, e.visibility_index));
              }),
            r
          );
        }
        GetLastReferencedSaleDay() {
          var e;
          let t;
          for (const r of this.GetSaleSections())
            if ("tabs" === r.section_type) {
              if (
                (null === (e = r.tabs) || void 0 === e ? void 0 : e.length) > 0
              )
                for (const e of r.tabs)
                  t = this.GetLastReferencedSaleDayFromCapsules(e.capsules, t);
            } else t = this.GetLastReferencedSaleDayFromCapsules(r.capsules, t);
          return (
            this.jsondata.sale_num_headers > 1 &&
              (null == t || t < this.jsondata.sale_num_headers) &&
              (t = this.jsondata.sale_num_headers),
            t
          );
        }
        GetDayIndexFromEventStart() {
          let e = 0;
          const t = cn.GetTimeNowWithOverride();
          void 0 !== this.startTime &&
            t >= this.startTime &&
            (e = Math.floor((t - this.startTime) / 86400)),
            void 0 !== this.m_overrideCurrentDay &&
              this.m_overrideCurrentDay >= 0 &&
              (e = this.m_overrideCurrentDay);
          const r = this.GetLastReferencedSaleDay() || 0;
          return Math.min(e, r);
        }
        GetNameWithFallback(e) {
          const t = ze.GetELanguageFallback(e);
          return this.name.get(e) || this.name.get(t);
        }
        GetGameTitle(e) {
          var t;
          return null === (t = Wi.Get().GetApp(this.appid)) || void 0 === t
            ? void 0
            : t.GetName();
        }
        BInRealmGlobal() {
          return !this.BHasTag("disable_steam_global");
        }
        BInRealmChina() {
          return this.BHasTag("enable_steam_china");
        }
        BIsLanguageValidForRealms(e) {
          return (
            !(
              !this.BInRealmGlobal() ||
              !ze.IsELanguageValidInRealm(e, n.k_ESteamRealmGlobal)
            ) ||
            !(
              !this.BInRealmChina() ||
              !ze.IsELanguageValidInRealm(e, n.k_ESteamRealmChina)
            )
          );
        }
        GetImgArray(e) {
          let t = [];
          if (
            ("background" === e && (t = this.jsondata.localized_title_image),
            "capsule" === e)
          )
            t = this.jsondata.localized_capsule_image;
          else if ("spotlight" === e)
            t = this.jsondata.localized_spotlight_image;
          else if ("email_full" === e || "email_centered" === e)
            t = this.jsondata.email_setting
              ? this.jsondata.email_setting.sections[0].localized_image
              : [];
          else if ("broadcast_left" === e)
            t = this.jsondata.localized_broadcast_left_image;
          else if ("broadcast_right" === e)
            t = this.jsondata.localized_broadcast_right_image;
          else if ("sale_header" === e)
            if (this.jsondata.sale_num_headers > 1) {
              const e = Math.min(
                this.jsondata.sale_num_headers - 1,
                this.GetDayIndexFromEventStart(),
              );
              t = this.jsondata.localized_per_day_sales_header[e];
            } else t = this.jsondata.localized_sale_header;
          else
            "sale_logo" === e
              ? (t = this.jsondata.localized_sale_logo)
              : "sale_overlay" === e
                ? (t = this.jsondata.localized_sale_overlay)
                : "localized_image_group" === e ||
                    "link_capsule" === e ||
                    "product_banner_override" === e ||
                    "product_mobile_banner_override" === e ||
                    "sale_section_title" === e ||
                    "schedule_track_art" === e
                  ? (t = Br.GetLocalizedImageGroupForEditAsImgArray(
                      this.clanSteamID,
                    ))
                  : "product_banner" === e
                    ? (t = this.jsondata.localized_sale_product_banner)
                    : "product_mobile_banner" === e
                      ? (t = this.jsondata.localized_sale_product_mobile_banner)
                      : "bestofyear_banner" === e
                        ? (t = this.jsondata.localized_bestofyear_banner)
                        : "bestofyear_banner_mobile" === e
                          ? (t =
                              this.jsondata.localized_bestofyear_banner_mobile)
                          : "localized_store_app_spotlight" === e
                            ? (t = this.jsondata.localized_store_app_spotlight)
                            : "localized_store_app_spotlight_mobile" === e &&
                              (t =
                                this.jsondata
                                  .localized_store_app_spotlight_mobile);
          return t;
        }
        GetImageURL(e, t = 0, r = Sr.full) {
          const n = this.GetImgArray(e),
            i = n && n.length > t && null != n[t];
          return i && n[t].startsWith("http")
            ? n[t]
            : i
              ? Cr.GenerateArtworkURLFromHashAndExtensions(
                  this.clanSteamID,
                  n[t],
                  r,
                )
              : void 0;
        }
        GetImageHash(e, t = 0) {
          let r = this.GetImgArray(e);
          return r && r.length > t && null != r[t]
            ? r[t].substr(0, r[t].length - 4)
            : null;
        }
        BHasSomeImage(e) {
          let t = this.GetImgArray(e);
          return t && t.some((e) => null != e && e.length > 0);
        }
        BHasImage(e, t) {
          let r = this.GetImgArray(e);
          return r && r.length > t && null != r[t];
        }
        BHasAnnouncementGID() {
          return (
            null !== this.AnnouncementGID &&
            void 0 !== this.AnnouncementGID &&
            this.AnnouncementGID.length > 1
          );
        }
        GetAnnouncementGID() {
          return this.AnnouncementGID;
        }
        BHasForumTopicGID() {
          return (
            null !== this.forumTopicGID &&
            void 0 !== this.forumTopicGID &&
            this.forumTopicGID.length > 1
          );
        }
        GetForumTopicURL() {
          if (!this.BHasForumTopicGID()) return "";
          if (this.appid)
            return (
              w.COMMUNITY_BASE_URL +
              "app/" +
              this.appid +
              "/eventcomments/" +
              this.forumTopicGID
            );
          {
            const e = an.GetClanInfoByClanAccountID(
              this.clanSteamID.GetAccountID(),
            );
            if (e && e.vanity_url)
              return (
                w.COMMUNITY_BASE_URL +
                "groups/" +
                e.vanity_url +
                "/eventcomments/" +
                this.forumTopicGID
              );
          }
          return (
            w.COMMUNITY_BASE_URL +
            "gid/" +
            this.clanSteamID.ConvertTo64BitString() +
            "/eventcomments/" +
            this.forumTopicGID
          );
        }
        BIsEventInFuture() {
          return cn.GetTimeNowWithOverride() < this.startTime;
        }
        BHasEventEnded() {
          return this.endTime < cn.GetTimeNowWithOverride();
        }
        UpdateVoteCount(e, t) {
          "up" == e
            ? (this.nVotesUp = u(this.nVotesUp + t, 0, Number.MAX_SAFE_INTEGER))
            : "down" == e &&
              (this.nVotesDown = u(
                this.nVotesDown + t,
                0,
                Number.MAX_SAFE_INTEGER,
              ));
        }
        GetImageFromBeginningOfDescription(e, t) {
          let r = this.GetDescriptionWithFallback(e);
          if (r) {
            let e = r.indexOf("[img]");
            if (-1 !== e && e < t) {
              e += 5;
              let t = r.indexOf("[/img]", e);
              if (-1 != t) {
                let n = r.substring(e, t).trim();
                if (0 != n.length)
                  return (function (e) {
                    return (e = e.replace("{STEAM_CLAN_IMAGE}", yr())).replace(
                      "http://",
                      "https://",
                    );
                  })(n);
              }
            }
          }
          return null;
        }
        GetImageURLWithFallback(e, t, r = Sr.full) {
          var n, i;
          const a = this.GetImageURL(e, t, r);
          if (a && a.trim().length > 0) return a;
          const s = ze.GetELanguageFallback(t);
          if (t != s) {
            const t = this.GetImageURL(e, s, r);
            if (t && t.trim().length > 0) return t;
          }
          const o = an.GetClanInfoByClanAccountID(
            this.clanSteamID.GetAccountID(),
          );
          if ("capsule" == e) {
            let e = this.GetImageFromBeginningOfDescription(
              t,
              Number.MAX_VALUE,
            );
            if (e) return e;
            let r = this.appid;
            if (!r && o && ((o.is_creator_home && !o.is_ogg) || o.is_curator)) {
              if (
                !(null ===
                  (i =
                    null === (n = this.jsondata) || void 0 === n
                      ? void 0
                      : n.referenced_appids) || void 0 === i
                  ? void 0
                  : i.length)
              )
                return o.avatar_full_url;
              r = this.jsondata.referenced_appids[0];
            }
            const a = Wi.Get().GetApp(r);
            return a
              ? a.GetAssets().GetMainCapsuleURL()
              : w.MEDIA_CDN_URL + "steam/apps/" + r + "/header.jpg";
          }
          return "background" == e &&
            o &&
            ((o.is_creator_home && !o.is_ogg) || o.is_curator)
            ? o.creator_page_bg_url
            : this.GetFallbackArtworkScreenshot();
        }
        GetFallbackArtworkScreenshot() {
          var e;
          if (this.appid) {
            Wi.Get().QueueAppRequest(this.appid, { include_screenshots: !0 });
            const t = Wi.Get().GetApp(this.appid);
            let r = Number(
              this.bOldAnnouncement
                ? this.AnnouncementGID
                : null == this.GID
                  ? 0
                  : this.GID,
            );
            return (null == t
              ? void 0
              : t.GetOnlyAllAgesSafeScreenshots().length) > 1
              ? ((r %= t.GetOnlyAllAgesSafeScreenshots().length),
                t.GetOnlyAllAgesSafeScreenshots()[r])
              : (null ===
                    (e =
                      null == t
                        ? void 0
                        : t.GetBothAllAgesSafeAndMatureScreenshots()) ||
                  void 0 === e
                    ? void 0
                    : e.length) > 0
                ? ((r %= t.GetBothAllAgesSafeAndMatureScreenshots().length),
                  t.GetBothAllAgesSafeAndMatureScreenshots()[r])
                : "";
          }
          if (this.clanSteamID) {
            const e = an.GetClanInfoByClanAccountID(
              this.clanSteamID.GetAccountID(),
            );
            if (e && ((e.is_creator_home && !e.is_ogg) || e.is_curator))
              return e.avatar_full_url;
          }
          return "";
        }
        BImageNeedScreenshotFallback(e, t) {
          let r = this.GetImageURL(e, t);
          if (!r || 0 == r.length) {
            const n = ze.GetELanguageFallback(t);
            t != n && (r = this.GetImageURL(e, n));
          }
          return !r || 0 == r.length;
        }
        GetImageForSizeAsArrayWithFallback(e, t, r, n) {
          let i = new Array();
          this.BImageNeedScreenshotFallback(e, t) ||
            (i.push(this.GetImageURLWithFallback(e, t, r)),
            r != Sr.full &&
              i.push(this.GetImageURLWithFallback(e, t, Sr.full)));
          const a = this.GetFallbackArtworkScreenshot();
          return a && !n && i.push(a), i;
        }
        GetDescriptionWithFallback(e) {
          const t = ze.GetELanguageFallback(e);
          return this.description.get(e) || this.description.get(t);
        }
        BIsImageSafeForAllAges(e, t) {
          var r;
          const n = an.GetClanInfoByClanAccountID(
              this.clanSteamID.GetAccountID(),
            ),
            i = ze.GetELanguageFallback(t);
          return (
            null != this.GetImageURL(e, t) ||
            (t != i && null != this.GetImageURL(e, i)) ||
            (this.appid &&
              (null === (r = Wi.Get().GetApp(this.appid)) || void 0 === r
                ? void 0
                : r.BHasAgeSafeScreenshots())) ||
            (!this.appid &&
              n &&
              ((n.is_creator_home && !n.is_ogg) || n.is_curator))
          );
        }
        BIsVisibleEvent() {
          let e = Math.floor(cn.GetTimeNowWithOverride());
          return (
            this.visibility_state == ji.k_EEventStateVisible &&
            e > this.visibilityStartTime &&
            (this.visibilityEndTime < 10 || e < this.visibilityEndTime)
          );
        }
        BIsStagedEvent() {
          return this.visibility_state == ji.k_EEventStateStaged;
        }
        GetStartTimeAndDateUnixSeconds() {
          return this.startTime;
        }
        GetEndTimeAndDateUnixSeconds() {
          return this.endTime;
        }
        GetPostTimeAndDateUnixSeconds() {
          return this.postTime;
        }
        GetVisibilityStartTimeAndDateUnixSeconds() {
          return this.visibilityStartTime;
        }
        BIsEventActionEnabled() {
          return (
            !!this.jsondata.action_end_time &&
            (this.jsondata.action_end_time > cn.GetTimeNowWithOverride() ||
              (1575396e3 == this.jsondata.action_end_time &&
                1606845600 > cn.GetTimeNowWithOverride()))
          );
        }
        BHasSubTitle(e) {
          if (
            !this.jsondata ||
            !this.jsondata.localized_subtitle ||
            e >= this.jsondata.localized_subtitle.length
          )
            return !1;
          let t = this.jsondata.localized_subtitle[e];
          return null != t && "" != t;
        }
        GetSubTitle(e) {
          if (
            !this.jsondata ||
            !this.jsondata.localized_subtitle ||
            e >= this.jsondata.localized_subtitle.length
          )
            return "";
          let t = this.jsondata.localized_subtitle[e];
          return t || "";
        }
        GetSubTitleWithLanguageFallback(e) {
          return this.jsondata
            ? Ke.GetWithFallback(this.jsondata.localized_subtitle, e)
            : "";
        }
        GetSubTitleWithSummaryFallback(e) {
          var t;
          return (
            Ke.GetWithFallback(
              null === (t = this.jsondata) || void 0 === t
                ? void 0
                : t.localized_subtitle,
              e,
            ) || ea.GenerateSummaryFromText(this.GetDescriptionWithFallback(e))
          );
        }
        GetSummaryWithFallback(e, t) {
          var r;
          return (
            Ke.GetWithFallback(
              null === (r = this.jsondata) || void 0 === r
                ? void 0
                : r.localized_summary,
              e,
            ) ||
            ea.GenerateSummaryFromText(this.GetDescriptionWithFallback(e), t)
          );
        }
        GetSummary(e) {
          var t;
          return Ke.Get(
            null === (t = this.jsondata) || void 0 === t
              ? void 0
              : t.localized_summary,
            e,
          );
        }
        BHasSummary(e) {
          return Boolean(this.GetSummary(e));
        }
        static GenerateSummaryFromText(e, t) {
          return e && 0 != e.trim().length
            ? (function (e, t, r = !0) {
                let n = e.trim();
                if (
                  ((n = n.replace(r ? /\s+/g : /[ \t]+/g, " ")), n.length > t)
                ) {
                  n = n.substring(0, t);
                  let e = n.replace(/^(.*([.!?])) .*$/, "$1"),
                    i = e.length;
                  (i < 0.6 * t || i == t) && (e = n.replace(/ [^ ]*$/, "...")),
                    (n = r ? e.replace(/(\r\n|\n|\r)/gm, "") : e);
                }
                return n;
              })(
                (e = (function (e, t = "") {
                  return e.replace(/\bhttps?:\/\/\S+/gi, t);
                })(
                  (e = (function (e, t = null, r = "") {
                    let n = null == t ? void 0 : t.join("|");
                    n || (n = br.join("|") + "|\\*");
                    let i = "\\[\\/?(?:" + n + "){1,}.*?]";
                    return e.replace(new RegExp(i, "gi"), r);
                  })(
                    (e = vr(e, [
                      "img",
                      "h1",
                      "h2",
                      "h3",
                      "spoiler",
                      "table",
                      "previewyoutube",
                      "looping_media",
                      "roomeffect",
                      "sticker",
                    ])),
                  )),
                )),
                t || 180,
              )
            : "";
        }
        BHasTag(e) {
          return -1 != this.vecTags.indexOf(e);
        }
        BHasTagStartingWith(e) {
          return this.vecTags.some((t) => t.startsWith(e));
        }
        BIsOGGEvent() {
          return Boolean(this.appid) && this.appid > 0;
        }
        BShowLibrarySpotlight() {
          return Boolean(this.jsondata.library_spotlight);
        }
        BShowLibrarySpotlightText() {
          return Boolean(this.jsondata.library_spotlight_text);
        }
        BHasBroadcastEnabled() {
          return this.jsondata.bBroadcastEnabled;
        }
        BEventCanShowBroadcastWidget(e) {
          if (this.jsondata.bSaleEnabled) return this.BHasBroadcastEnabled();
          const t = cn.GetTimeNowWithOverride(),
            r = this.endTime ? this.endTime : t + 3600;
          return (
            this.BHasBroadcastEnabled() &&
            this.jsondata.broadcast_whitelist &&
            this.jsondata.broadcast_whitelist.length > 0 &&
            (e || (this.startTime - 600 <= t && t < r))
          );
        }
        BHasBroadcastForceBanner() {
          return this.jsondata.broadcast_force_banner;
        }
        BSaleShowBroadcastAtTopOfPage() {
          return !(
            this.jsondata.sale_sections &&
            this.jsondata.sale_sections.some(
              (e) => "broadcast" == e.section_type,
            )
          );
        }
        BSaleShowCuratorRecommendationAtBottomOfPage() {
          return !(
            this.jsondata.sale_sections &&
            this.jsondata.sale_sections.some(
              (e) => "curator_recommendation" == e.section_type,
            )
          );
        }
        GetBroadcastChatVisibility() {
          return this.jsondata.broadcastChatSetting || "hide";
        }
        GetBroadcastTitle(e) {
          var t;
          return (
            Ke.GetWithFallback(this.jsondata.localized_broadcast_title, e) ||
            We(
              null !== (t = this.jsondata.default_broadcast_title) &&
                void 0 !== t
                ? t
                : "#Broadcast_default_title_dev",
            )
          );
        }
        GetBroadcastWhitelist() {
          return this.jsondata.broadcast_whitelist;
        }
        GetBroadcastWhitelistAsSteamIDs() {
          return this.jsondata.broadcast_whitelist.map((e) =>
            ot.InitFromAccountID(e).ConvertTo64BitString(),
          );
        }
        BIsBroadcastAccountIDWhiteListed(e) {
          return (this.jsondata.broadcast_whitelist || []).includes(Number(e));
        }
        BHasSaleEnabled() {
          return this.jsondata.bSaleEnabled;
        }
        BHasSaleVanity() {
          return (
            this.jsondata.bSaleEnabled && Boolean(this.jsondata.sale_vanity_id)
          );
        }
        GetSaleVanity() {
          return this.jsondata.sale_vanity_id;
        }
        GetSaleURL() {
          if (!Boolean(this.jsondata.sale_vanity_id))
            return (
              w.STORE_BASE_URL +
              "newshub/" +
              (this.appid
                ? "app/" + this.appid
                : "group/" + this.clanSteamID.GetAccountID()) +
              "/view/" +
              this.GID
            );
          if (this.BUsesContentHubForItemSource()) {
            const e = this.jsondata.source_content_hub;
            return e
              ? "string" == typeof e
                ? w.STORE_BASE_URL + "category/" + e
                : "category" == e.type
                  ? w.STORE_BASE_URL + "category/" + e.category
                  : "tags" == e.type
                    ? w.STORE_BASE_URL +
                      "tags/" +
                      (Ye() || "en") +
                      "/" +
                      e.tagid
                    : "freetoplay" == e.type
                      ? w.STORE_BASE_URL + "genre/Free%20to%20Play/"
                      : "earlyaccess" == e.type
                        ? w.STORE_BASE_URL + "genre/Early%20Access/"
                        : w.STATS_BASE_URL + e.type
              : w.STORE_BASE_URL + "sale/" + this.jsondata.sale_vanity_id;
          }
          if (!this.jsondata.sale_vanity_id_valve_approved_for_sale_subpath) {
            if (rn.BHasCreatorHomeLoaded(this.clanSteamID)) {
              return (
                rn
                  .GetCreatorHome(this.clanSteamID)
                  .GetCreatorHomeURL("developer") +
                "sale/" +
                this.jsondata.sale_vanity_id
              );
            }
            return (
              w.STORE_BASE_URL +
              "curator/" +
              this.clanSteamID.GetAccountID() +
              "/sale/" +
              this.jsondata.sale_vanity_id
            );
          }
          return w.STORE_BASE_URL + "sale/" + this.jsondata.sale_vanity_id;
        }
        BHasEmailEnabled() {
          return (
            this.jsondata.email_setting && this.jsondata.email_setting.bEnable
          );
        }
        GetSaleSections() {
          return this.jsondata.sale_sections;
        }
        GetSaleSectionByID(e) {
          var t;
          return null === (t = this.jsondata.sale_sections) || void 0 === t
            ? void 0
            : t.find((t) => t.unique_id == e);
        }
        GetSaleSectionsByType(e) {
          var t;
          return null === (t = this.jsondata.sale_sections) || void 0 === t
            ? void 0
            : t.filter((t) => t.section_type == e);
        }
        GetSaleSectionCount() {
          return this.jsondata.sale_sections.length;
        }
        static AccumulateCapsuleListIDs(e, t, r, n) {
          e &&
            e.forEach((e) => {
              if (e) {
                t.has(e.type) && ((n && !n(e.id)) || r.add(e.id));
              }
            });
        }
        GetSaleItemOfType(e, t) {
          var r;
          if (!this.jsondata.sale_sections) return new Set();
          const n = new Set(e),
            i = new Set();
          if (
            (c(
              !this.jsondata.bOptimizedForSize,
              "Cannot find all items in optimized json",
            ),
            this.jsondata.bOptimizedForSize && "dev" == w.WEB_UNIVERSE)
          )
            throw new Error(
              "GetSaleOfItemType called on a truncated jsondata.",
            );
          return (
            null === (r = this.jsondata.tagged_items) ||
              void 0 === r ||
              r.forEach((e) => {
                ea.AccumulateCapsuleListIDs([e.capsule], n, i, t);
              }),
            this.jsondata.sale_sections.forEach((e) => {
              if ("items" === e.section_type)
                ea.AccumulateCapsuleListIDs(e.capsules, n, i, t);
              else if ("tabs" === e.section_type && e.tabs)
                for (const r of e.tabs)
                  ea.AccumulateCapsuleListIDs(r.capsules, n, i, t);
            }),
            i
          );
        }
        GetSaleItemCountOfType(e, t) {
          return this.GetSaleItemOfType(e, t).size;
        }
        GetSaleFeaturedAppsCount(e) {
          return this.GetSaleItemCountOfType(
            ["game", "application", "software", "dlc", "music"],
            e,
          );
        }
        GetSaleFeaturedAppsAndDemosCount(e) {
          return this.GetSaleItemCountOfType(
            ["game", "application", "software", "dlc", "music", "demo"],
            e,
          );
        }
        GetSaleFeaturedBundlesCount(e) {
          return this.GetSaleItemCountOfType(["bundle"], e);
        }
        GetSaleFeaturedPackagesCount(e) {
          return this.GetSaleItemCountOfType(["sub"], e);
        }
        GetSaleFeaturedApps(e) {
          return this.GetSaleItemOfType(
            ["game", "application", "software", "dlc", "music"],
            e,
          );
        }
        GetSaleFeaturedAppsAndDemos(e) {
          return this.GetSaleItemOfType(
            ["game", "application", "software", "dlc", "music", "demo"],
            e,
          );
        }
        GetSaleFeaturedBundles(e) {
          return this.GetSaleItemOfType(["bundle"], e);
        }
        GetSaleFeaturedPackages(e) {
          return this.GetSaleItemOfType(["sub"], e);
        }
        GetTaggedItems() {
          return this.jsondata.tagged_items || [];
        }
        BHasScheduleEnabled() {
          return this.jsondata.bScheduleEnabled;
        }
        GetEventType() {
          return this.type;
        }
        GetEventTypeAsString() {
          return (function (e) {
            let t = "#PartnerEvent_" + e,
              r = We(t);
            return r != t ? r : We("#PartnerEvent_Other");
          })(this.type);
        }
        GetCategoryAsString() {
          return this.BHasTag("steam_award_nomination_request")
            ? We("#PartnerEvent_SteamAwardNominations")
            : this.BHasTag("steam_award_vote_request")
              ? We("#PartnerEvent_SteamAwardVoteRequest")
              : this.BHasTag("steam_game_festival_artist_statement")
                ? We("#PartnerEvent_SteamGameFestival_ArtistState")
                : this.BHasTag("steam_game_festival_office_hour")
                  ? We("#PartnerEvent_SteamGameFestival_OfficeHour")
                  : this.BHasTag("steam_game_festival_broadcast") ||
                      (this.BHasTagStartingWith("sale_nextfest_") &&
                        11 == this.type)
                    ? We("#PartnerEvent_SteamGameFestival_Broadcast")
                    : this.GetEventTypeAsString();
        }
        GetAllTags() {
          return this.vecTags;
        }
        BMatchesAllTags(e) {
          let t = !0;
          return (
            null == e ||
              e.forEach((e) => {
                this.vecTags.includes(e) || (t = !1);
              }),
            t
          );
        }
        BAllowedSteamStoreSpotlight() {
          return Boolean(this.jsondata.store_spotlight);
        }
        BHasLibaryHomeSpotlight() {
          return Boolean(this.jsondata.library_home_spotlight);
        }
        BHasSaleProductBanners() {
          return (
            this.jsondata.bSaleEnabled &&
            (this.BHasSomeImage("product_banner") ||
              this.BHasSomeImage("product_banner_override"))
          );
        }
        GetSteamAwardCategory() {
          return this.jsondata.steam_award_category_suggestion;
        }
        GetSteamAwardNomineeCategories() {
          return this.jsondata.steam_award_category_voteids;
        }
        BIsLockedToGameOwners() {
          var e;
          return Boolean(
            null === (e = this.jsondata.ownership_requirement_info) ||
              void 0 === e
              ? void 0
              : e.bLockedToAppOwners,
          );
        }
        GetRequiredAppIDs() {
          return this.jsondata.ownership_requirement_info
            ? this.jsondata.ownership_requirement_info.rgRequiredAppIDs
            : [];
        }
        GetRequiredPackageIDs() {
          return this.jsondata.ownership_requirement_info
            ? this.jsondata.ownership_requirement_info.rgRequiredPackageIDs
            : [];
        }
        BUseSubscriptionLayout() {
          return !!this.jsondata.sale_use_subscription_layout;
        }
        BIsLockedToPartnerAppRights() {
          var e;
          return Boolean(
            null === (e = this.jsondata.app_right_requirement_info) ||
              void 0 === e
              ? void 0
              : e.bLockedToPartnerAppRights,
          );
        }
        GetRequiredPartnerAppRights() {
          return this.jsondata.app_right_requirement_info;
        }
        GetValveAccessLog() {
          return Array.isArray(this.jsondata.valve_access_log)
            ? this.jsondata.valve_access_log
            : [];
        }
        BUsesContentHubForItemSource() {
          return (
            this.jsondata.item_source_type === Xi.k_EContentHub &&
            Boolean(this.jsondata.source_content_hub)
          );
        }
        GetContentHubType() {
          return this.BUsesContentHubForItemSource()
            ? null == this.jsondata.source_content_hub
              ? "games"
              : "string" == typeof this.jsondata.source_content_hub
                ? "category"
                : this.jsondata.source_content_hub.type
            : void 0;
        }
        GetContentHubCategory() {
          return null == this.jsondata.source_content_hub
            ? void 0
            : "string" == typeof this.jsondata.source_content_hub
              ? this.jsondata.source_content_hub
              : this.jsondata.source_content_hub.category;
        }
        GetContentHubTag() {
          return null == this.jsondata.source_content_hub
            ? void 0
            : "string" == typeof this.jsondata.source_content_hub
              ? 0
              : this.jsondata.source_content_hub.tagid;
        }
        GetContentHub() {
          return "string" == typeof this.jsondata.source_content_hub
            ? { type: "category", category: this.jsondata.source_content_hub }
            : this.jsondata.source_content_hub;
        }
        BContentHubDiscountedOnly() {
          return this.jsondata.content_hub_discounted_only;
        }
      }
      (0, i.gn)([Je.LO], ea.prototype, "GID", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "AnnouncementGID", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "forumTopicGID", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "type", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "appid", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "name", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "description", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "timestamp_loc_updated", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "startTime", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "endTime", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "visibilityStartTime", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "visibilityEndTime", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "m_nBuildID", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "m_strBuildBranch", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "postTime", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "visibility_state", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "broadcaster", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "jsondata", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "nCommentCount", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "nVotesUp", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "nVotesDown", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "bOldAnnouncement", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "announcementClanSteamID", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "loadedAllLanguages", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "bLoaded", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "deleteInProgress", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "vecTags", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "last_update_steamid", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "rtime32_last_modified", void 0),
        (0, i.gn)(
          [Je.LO],
          ea.prototype,
          "rtime32_last_solr_search_col_updated",
          void 0,
        ),
        (0, i.gn)(
          [Je.LO],
          ea.prototype,
          "rtime32_last_local_modification",
          void 0,
        ),
        (0, i.gn)([Je.LO], ea.prototype, "rtime32_moderator_reviewed", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "video_preview_type", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "video_preview_id", void 0),
        (0, i.gn)([Je.LO], ea.prototype, "m_overrideCurrentDay", void 0);
      class ta {
        constructor(e) {
          c(
            "number" == typeof e.appid,
            "AJAX updated app returned a non-numeric AppID! Did the PHP change?",
          ),
            (this.appid = e.appid),
            (this.date = e.date),
            (this.can_play = e.can_play),
            (this.playtime = e.playtime),
            (this.announcementid = e.announcementid);
        }
      }
      function ra(e) {
        let t = "" + e;
        const r = ze.GetELanguageFallback(e);
        return e != r && (t += "_" + r), t;
      }
      class na {
        constructor() {
          (this.m_mapExistingEvents = new Map()),
            (this.m_mapAnnouncementBodyToEvent = new Map()),
            (this.m_mapClanToGIDs = new Map()),
            (this.m_mapAppIDToGIDs = new Map()),
            (this.m_mapAdjacentAnnouncementGIDs = new Map()),
            (this.m_mapUpdatedApps = new Map()),
            (this.m_tsUpdatedAppsQueryTime = 0),
            (this.m_rgQueuedEventsClanIDs = new Array()),
            (this.m_rgQueuedEventsUniqueIDs = new Array()),
            (this.m_rgQueuedEventsForEditFlags = new Array()),
            (this.m_QueuedEventTimeout = new Ee()),
            (this.m_bLoadedFromConfig = !1),
            (0, Je.rC)(this);
        }
        Init() {
          if (!this.m_bLoadedFromConfig) {
            let t =
              ((e = "PartnerEventStore"),
              window.StoreDefaults ? window.StoreDefaults[e] : void 0);
            this.ValidateStoreDefault(t) &&
              t.forEach((e) => {
                if (e) {
                  let t = new ot(e.clan_steamid);
                  const r = this.InsertEventModelFromClanEventData(t, e);
                  e.announcement_body &&
                    this.m_mapExistingEvents.set(
                      Ji + e.announcement_body.gid,
                      r,
                    );
                }
              });
            let r = f("partnereventstore", "application_config");
            this.ValidateStoreDefault(r) &&
              r.forEach((e) => {
                if (e) {
                  let t = new ot(e.clan_steamid);
                  const r = this.InsertEventModelFromClanEventData(t, e);
                  e.announcement_body &&
                    !this.m_mapExistingEvents.has(
                      Ji + e.announcement_body.gid,
                    ) &&
                    this.m_mapExistingEvents.set(
                      Ji + e.announcement_body.gid,
                      r,
                    );
                }
              });
            let n = f("partnereventadjacents", "application_config");
            this.ValidateAdjacentEvent(n) &&
              (("dev" != w.WEB_UNIVERSE && "beta" != w.WEB_UNIVERSE) ||
                console.log(
                  "DEV_DEBUG: CPartnerEventStore loading adjacents gids payload: " +
                    n.length,
                ),
              n.forEach((e) => {
                e &&
                  this.m_mapAdjacentAnnouncementGIDs.set(
                    e.announcementGID,
                    e.adjacents,
                  );
              })),
              "dev" == w.WEB_UNIVERSE &&
                console.log(
                  "PartnerEventStore Loaded events: " +
                    this.m_mapExistingEvents.size +
                    " with adjacent info: " +
                    this.m_mapExistingEvents.size,
                ),
              (this.m_bLoadedFromConfig = !0);
          }
          var e;
        }
        ValidateStoreDefault(e) {
          const t = e;
          return (
            !!(
              t &&
              Array.isArray(t) &&
              t.length > 0 &&
              "object" == typeof t[0]
            ) &&
            ("string" == typeof t[0].gid ||
              ("object" == typeof t[0].announcement_body &&
                "string" == typeof t[0].announcement_body.gid))
          );
        }
        ValidateAdjacentEvent(e) {
          const t = e;
          return (
            !!(
              t &&
              Array.isArray(t) &&
              t.length > 0 &&
              "object" == typeof t[0]
            ) &&
            "string" == typeof t[0].announcementGID &&
              Array.isArray(t[0].adjacents) &&
            (0 == t[0].adjacents.length || "string" == typeof t[0].adjacents[0])
          );
        }
        GetClanEventGIDs(e) {
          let t = this.m_mapClanToGIDs.get(e.GetAccountID());
          return t || [];
        }
        GetClanEventGIDsForApp(e) {
          let t = this.m_mapAppIDToGIDs.get(e);
          return t || [];
        }
        GetClanEventModel(e) {
          return this.m_mapExistingEvents.get(e);
        }
        BHasClanEventModel(e) {
          return this.m_mapExistingEvents.has(e);
        }
        BHasClanAnnouncementGID(e) {
          if (this.m_mapAnnouncementBodyToEvent.has(e)) {
            let t = this.m_mapAnnouncementBodyToEvent.get(e);
            return this.BHasClanEventModel(t);
          }
          return !1;
        }
        GetClanEventGIDFromAnnouncementGID(e) {
          return this.m_mapAnnouncementBodyToEvent.get(e);
        }
        GetClanEventFromAnnouncementGID(e) {
          return this.m_mapExistingEvents.get(
            this.m_mapAnnouncementBodyToEvent.get(e),
          );
        }
        DefaultEventSortFunction(e, t) {
          return e.startTime == t.startTime
            ? mn(e.GID, t.GID)
            : t.startTime - e.startTime;
        }
        RegisterClanEvents(e) {
          if (e)
            for (const t of e) {
              const e = this.GetEventLookupKey(t);
              if (!this.m_mapExistingEvents.has(e)) {
                const e = new ot(t.clan_steamid);
                this.InsertEventModelFromClanEventData(e, t);
              }
            }
        }
        GetRankedClanEvents(e, t) {
          let r = [],
            n = e ? this.GetClanEventGIDs(e) : this.GetClanEventGIDsForApp(t);
          if (!n || 0 == n.length) return r;
          for (let e of n) {
            let t = this.GetClanEventModel(e);
            r.push(t);
          }
          return r.sort(this.DefaultEventSortFunction), r;
        }
        BIsOldAnnouncement(e) {
          return (
            (null == e.gid || null == e.gid || "0" == e.gid) &&
            e.announcement_body &&
            "0" != e.announcement_body.gid
          );
        }
        GetEventLookupKey(e) {
          return this.BIsOldAnnouncement(e)
            ? Ji + e.announcement_body.gid
            : e.gid;
        }
        InsertEventModelFromClanEventData(e, t) {
          let r = new ea();
          if (
            ((r.clanSteamID = e),
            c(
              r.clanSteamID && r.clanSteamID.BIsValid(),
              "Invalid Clan SteamID: " +
                r.clanSteamID.ConvertTo64BitString() +
                " " +
                w.EUNIVERSE,
            ),
            (r.GID = this.GetEventLookupKey(t)),
            (r.bOldAnnouncement = this.BIsOldAnnouncement(t)),
            (r.appid = t.appid),
            (r.startTime = t.rtime32_start_time),
            (r.endTime = t.rtime32_end_time),
            (r.visibilityStartTime = t.rtime32_visibility_start),
            (r.visibilityEndTime = t.rtime32_visibility_end),
            (r.loadedAllLanguages = !1),
            (r.type = t.event_type),
            (r.nVotesUp = t.votes_up),
            (r.nVotesDown = t.votes_down),
            (r.comment_type = t.comment_type),
            (r.gidfeature = t.gidfeature),
            (r.gidfeature2 = t.gidfeature2),
            (r.featured_app_tagid = t.featured_app_tagid),
            (r.vecTags = new Array()),
            (r.creator_steamid = t.creator_steamid),
            (r.last_update_steamid = t.last_update_steamid),
            (r.rtime32_last_modified = t.rtime32_last_modified),
            (r.rtime32_moderator_reviewed = t.rtime_mod_reviewed),
            (r.video_preview_type = t.video_preview_type),
            (r.video_preview_id = t.video_preview_id),
            (r.has_live_stream = t.has_live_stream),
            (r.live_stream_viewer_count = t.live_stream_viewer_count),
            (r.m_nBuildID = t.build_id),
            (r.m_strBuildBranch = t.build_branch),
            t.announcement_body)
          ) {
            let e = t.announcement_body;
            (r.AnnouncementGID = e.gid),
              r.name.set(e.language, e.headline),
              r.description.set(e.language, e.body),
              r.timestamp_loc_updated.clear(),
              (r.forumTopicGID = e.forum_topic_id),
              (r.nCommentCount = e.commentcount),
              (r.postTime = e.posttime),
              r.bOldAnnouncement && !e.hidden && (r.startTime = e.posttime),
              (r.announcementClanSteamID = new ot(e.clanid)),
              e.tags &&
                e.tags.length > 0 &&
                e.tags.forEach((e) => r.vecTags.push(e)),
              !r.rtime32_last_solr_search_col_updated &&
                r.rtime32_last_modified &&
                ((r.rtime32_last_solr_search_col_updated =
                  r.rtime32_last_modified),
                (r.rtime32_last_modified = e.updatetime));
          } else
            (r.AnnouncementGID = "0"),
              (r.forumTopicGID = t.forum_topic_id),
              r.name.clear(),
              r.description.clear(),
              r.timestamp_loc_updated.clear(),
              (r.postTime = t.rtime32_start_time),
              (r.nCommentCount = t.comment_count),
              r.name.set(0, t.event_name),
              r.description.set(0, t.event_notes);
          t.broadcaster_accountid &&
            (r.broadcaster = new ot(t.broadcaster_accountid));
          const n = Zi;
          try {
            r.jsondata = Object.assign(
              Object.assign({}, n),
              t.jsondata ? JSON.parse(t.jsondata) : void 0,
            );
          } catch (e) {
            const t = Ft(e);
            throw (
              (console.error(
                "PartnerEventStore::InsertEventModelFromClanEventData: failed to parse embedded json model" +
                  t.strErrorMsg,
                t,
              ),
              e)
            );
          }
          if (
            ((r.jsondata.localized_capsule_image = ve(
              r.jsondata.localized_capsule_image || [],
              31,
              null,
            )),
            (r.jsondata.localized_title_image = ve(
              r.jsondata.localized_title_image || [],
              31,
              null,
            )),
            (r.jsondata.localized_subtitle = ve(
              r.jsondata.localized_subtitle || [],
              31,
              null,
            )),
            (r.jsondata.localized_summary = ve(
              r.jsondata.localized_summary || [],
              31,
              null,
            )),
            (r.jsondata.localized_broadcast_title = ve(
              r.jsondata.localized_broadcast_title || [],
              31,
              null,
            )),
            (r.jsondata.localized_broadcast_left_image = ve(
              r.jsondata.localized_broadcast_left_image || [],
              31,
              null,
            )),
            (r.jsondata.localized_broadcast_right_image = ve(
              r.jsondata.localized_broadcast_right_image || [],
              31,
              null,
            )),
            (r.jsondata.localized_sale_header = ve(
              r.jsondata.localized_sale_header || [],
              31,
              null,
            )),
            (r.jsondata.localized_sale_overlay = ve(
              r.jsondata.localized_sale_overlay || [],
              31,
              null,
            )),
            (r.jsondata.localized_sale_product_banner = ve(
              r.jsondata.localized_sale_product_banner || [],
              31,
              null,
            )),
            (r.jsondata.localized_sale_product_mobile_banner = ve(
              r.jsondata.localized_sale_product_mobile_banner || [],
              31,
              null,
            )),
            (r.jsondata.localized_sale_logo = ve(
              r.jsondata.localized_sale_logo || [],
              31,
              null,
            )),
            void 0 !== r.jsondata.sale_num_headers)
          )
            for (let e = 0; e < r.jsondata.sale_num_headers; ++e)
              r.jsondata.localized_per_day_sales_header[e] = ve(
                r.jsondata.localized_per_day_sales_header[e],
                31,
                null,
              );
          return (
            r.jsondata.sale_sections &&
              r.jsondata.sale_sections.forEach((e, t) => {
                e.localized_label &&
                  (e.localized_label = ve(e.localized_label, 31, null)),
                  (r.jsondata.sale_sections[t] = Object.assign(
                    Object.assign({}, Qi),
                    e,
                  ));
              }),
            r.jsondata.email_setting &&
              r.jsondata.email_setting.sections &&
              r.jsondata.email_setting.sections.forEach((e) => {
                void 0 !== e.localized_headline &&
                  null !== e.localized_headline &&
                  (e.localized_headline = ve(e.localized_headline, 31, null)),
                  void 0 !== e.localized_body &&
                    null !== e.localized_body &&
                    (e.localized_body = ve(e.localized_body, 31, null)),
                  void 0 !== e.localized_image &&
                    null !== e.localized_image &&
                    (e.localized_image = ve(e.localized_image, 31, null));
              }),
            r.jsondata.localized_title_image.forEach((e, t) => {
              if (null != e && "http" == e.substr(0, 4)) {
                let n = e.lastIndexOf("/"),
                  i = e.substr(n + 1);
                r.jsondata.localized_title_image[t] = i;
              }
            }),
            t.published
              ? t.hidden
                ? (r.visibility_state = ji.k_EEventStateStaged)
                : (r.visibility_state = ji.k_EEventStateVisible)
              : (r.visibility_state = ji.k_EEventStateUnpublished),
            this.InsertUniqueEventGID(e.GetAccountID(), r.appid, r.GID),
            this.m_mapExistingEvents.set(r.GID, r),
            r.AnnouncementGID &&
              r.AnnouncementGID.length > 1 &&
              this.m_mapAnnouncementBodyToEvent.set(r.AnnouncementGID, r.GID),
            (r.bLoaded = !0),
            r
          );
        }
        HelperInitializeNumSalesHeaderArray(e) {
          if (e.jsondata.sale_num_headers > 1) {
            e.jsondata.localized_per_day_sales_header = [];
            for (let t = 0; t < e.jsondata.sale_num_headers; ++t)
              e.jsondata.localized_per_day_sales_header.push(ve([], 31, null));
            e.m_overrideCurrentDay = 0;
          } else e.m_overrideCurrentDay = void 0;
        }
        GetAllClanEvents(e) {
          let t = new Array();
          return (
            this.m_mapClanToGIDs.has(e.GetAccountID()) &&
              this.m_mapClanToGIDs.get(e.GetAccountID()).forEach((e) => {
                let r = this.m_mapExistingEvents.get(e);
                r && t.push(r);
              }),
            t
          );
        }
        QueueLoadPartnerEvent(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (this.m_mapExistingEvents.has(t)) return;
            this.m_rgQueuedEventsClanIDs.push(e),
              this.m_rgQueuedEventsUniqueIDs.push(t),
              this.m_rgQueuedEventsForEditFlags.push(Boolean(r)),
              this.m_PendingInfoPromise ||
                (this.m_PendingInfoPromise = new Promise(
                  (e) => (this.m_PendingInfoResolve = e),
                ));
            const n = this.m_PendingInfoPromise,
              i = () => {
                const e = this.m_PendingInfoResolve,
                  t = this.m_rgQueuedEventsClanIDs,
                  r = this.m_rgQueuedEventsUniqueIDs,
                  n = this.m_rgQueuedEventsForEditFlags;
                (this.m_PendingInfoPromise = null),
                  (this.m_rgQueuedEventsClanIDs = new Array()),
                  (this.m_rgQueuedEventsUniqueIDs = new Array()),
                  (this.m_rgQueuedEventsForEditFlags = new Array()),
                  this.InternalLoadPartnerEventList(t, r, n).then(() => e());
              };
            if (this.m_rgQueuedEventsClanIDs.length >= 30)
              this.m_QueuedEventTimeout.Cancel(), i();
            else if (!this.m_QueuedEventTimeout.IsScheduled()) {
              const e = 50;
              this.m_QueuedEventTimeout.Schedule(e, i);
            }
            return n;
          });
        }
        InternalLoadPartnerEventList(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let n = r.some((e) => e);
            const i =
                w.STORE_BASE_URL +
                (n
                  ? "events/ajaxgeteventdetailsforedit/"
                  : "events/ajaxgeteventdetails/"),
              a = ra(te(w.LANGUAGE)),
              s = {
                clanid_list: e.join(","),
                uniqueid_list: t.join(","),
                lang_list: a,
                origin: self.origin,
              };
            try {
              const e = yield Ze().get(i, { params: s, withCredentials: n });
              this.RegisterClanEvents(e.data.events);
            } catch (e) {
              let t = Ft(e);
              console.error("GetEventDetails hit error " + t.strErrorMsg, t);
            }
          });
        }
        LoadAdjacentPartnerEvents(e, t, r, n, a, s, o) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.InternalLoadAdjacentPartnerEvents(
              e,
              void 0,
              t,
              r,
              n,
              a,
              s,
              o,
            );
          });
        }
        LoadAdjacentPartnerEventsByAnnouncement(e, t, r, n, a, s, o) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.InternalLoadAdjacentPartnerEvents(
              void 0,
              e,
              t,
              r,
              n,
              a,
              s,
              o,
            );
          });
        }
        LoadAdjacentPartnerEventsByEvent(e, t, r, n, a, s, o) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const i = t || e.clanSteamID;
            return e.bOldAnnouncement
              ? this.InternalLoadAdjacentPartnerEvents(
                  void 0,
                  e.AnnouncementGID,
                  i,
                  r,
                  n,
                  a,
                  s,
                  o,
                )
              : this.InternalLoadAdjacentPartnerEvents(
                  e.GID,
                  e.AnnouncementGID,
                  i,
                  r,
                  n,
                  a,
                  s,
                  o,
                );
          });
        }
        InternalLoadAdjacentPartnerEvents(e, t, r, n, a, s, o, l) {
          var c;
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = new Array();
            if (this.m_mapAdjacentAnnouncementGIDs.has(t)) {
              let e = this.m_mapAdjacentAnnouncementGIDs.get(t),
                r = new Array();
              if (
                (e.forEach((e) => {
                  if (this.m_mapAnnouncementBodyToEvent.has(e)) {
                    let t = this.m_mapAnnouncementBodyToEvent.get(e);
                    i.push(this.m_mapExistingEvents.get(t));
                  } else r.push(e);
                }),
                r.length > 0)
              ) {
                (yield this.LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs(
                  null,
                  r,
                  l,
                )).forEach((e) => i.push(e));
              }
            } else {
              let u = w.STORE_BASE_URL + "events/ajaxgetadjacentpartnerevents/";
              const d = ra(te(w.LANGUAGE));
              let m = {
                clan_accountid: r ? r.GetAccountID() : void 0,
                appid: n,
                count_before: a,
                count_after: s,
                gidevent: e,
                gidannouncement: t,
                lang_list: d,
                rtime_oldestevent: o ? o.rtime_oldestevent : void 0,
                require_tags:
                  o && o.require_tags ? o.require_tags.join(",") : void 0,
                exclude_tags:
                  o && o.exclude_tags ? o.exclude_tags.join(",") : void 0,
                require_no_tags: o ? o.require_no_tags : void 0,
                event_type_filter:
                  o && o.event_type_filter
                    ? o.event_type_filter.join(",")
                    : void 0,
                exclude_event_types:
                  o && o.exclude_event_types
                    ? o.exclude_event_types.join(",")
                    : void 0,
                origin: self.origin,
              };
              try {
                let a = yield Ze().get(u, {
                  params: m,
                  cancelToken: null == l ? void 0 : l.token,
                });
                if (
                  1 ==
                  (null === (c = null == a ? void 0 : a.data) || void 0 === c
                    ? void 0
                    : c.success)
                )
                  (0, Je.z)(() => {
                    for (let e of a.data.events) {
                      let t = this.GetEventLookupKey(e);
                      if (!this.m_mapExistingEvents.has(t)) {
                        let t = new ot(e.clan_steamid);
                        this.InsertEventModelFromClanEventData(r || t, e);
                      }
                      i.push(this.m_mapExistingEvents.get(t));
                    }
                    0 == i.length &&
                      (e && this.BHasClanEventModel(e)
                        ? i.push(this.m_mapExistingEvents.get(e))
                        : t &&
                          this.BHasClanAnnouncementGID(t) &&
                          i.push(this.GetClanEventFromAnnouncementGID(t)));
                  });
                else {
                  let e = Ft(null == a ? void 0 : a.data);
                  console.error(
                    "LoadAdjacentPartnerEvents Success but empty response:" +
                      n +
                      " clanAccount:" +
                      (r ? r.GetAccountID() : 0) +
                      " " +
                      e.strErrorMsg,
                    e,
                  );
                }
              } catch (e) {
                let t = Ft(e);
                52 != t.errorCode &&
                  console.error(
                    "LoadAdjacentPartnerEvents hit error on appid:" +
                      n +
                      " clanAccount:" +
                      (r ? r.GetAccountID() : 0) +
                      " " +
                      t.strErrorMsg,
                    t,
                  );
              }
            }
            return i;
          });
        }
        LoadPartnerEventsPageable(e, t, r = 0, n = 0) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = new Array(),
              a = w.STORE_BASE_URL + "events/ajaxgetpartnereventspageable/",
              s = {
                clan_accountid: e ? e.GetAccountID() : void 0,
                appid: t,
                offset: r,
                count: n,
                l: w.LANGUAGE,
                origin: self.origin,
              };
            try {
              let e = yield Ze().get(a, { params: s });
              (0, Je.z)(() => {
                for (let t of e.data.events) {
                  let e = this.GetEventLookupKey(t);
                  if (!this.m_mapExistingEvents.has(e)) {
                    let e = new ot(t.clan_steamid);
                    this.InsertEventModelFromClanEventData(e, t);
                  }
                  i.push(this.m_mapExistingEvents.get(e));
                }
              });
            } catch (e) {
              console.error(
                "LoadClanEventInDateRange hit error " + Ft(e).strErrorMsg,
              );
            }
            return i;
          });
        }
        GetBestEventsForCurrentUser(e, t, r) {
          var n, a;
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = new Array(),
              s = {
                l: w.LANGUAGE,
                include_steam_blog: !0,
                filter_to_played_within_days: e,
                include_only_game_updates: t,
              },
              o = w.STORE_BASE_URL + "events/ajaxgetbesteventsforuser",
              l = yield Ze().get(o, {
                params: s,
                withCredentials: !0,
                cancelToken: r ? r.token : void 0,
              });
            if (!(null === (n = l.data) || void 0 === n ? void 0 : n.events)) {
              let e =
                (null === (a = l.data) || void 0 === a ? void 0 : a.err_msg) ||
                "";
              throw new Error(
                `GetBestEventsForCurrentUser request failed (${e})`,
              );
            }
            return (
              (0, Je.z)(() => {
                for (let e of l.data.events) {
                  let t = this.GetEventLookupKey(e);
                  if (!this.m_mapExistingEvents.has(t)) {
                    let t = new ot(e.clan_steamid);
                    this.InsertEventModelFromClanEventData(t, e);
                  }
                  let r = {
                    nAppPriority: e.nAppPriority,
                    bPossibleTakeOver: e.bPossibleTakeOver,
                    event: this.m_mapExistingEvents.get(t),
                  };
                  i.push(r);
                }
              }),
              i
            );
          });
        }
        LoadImportantEventsAroundToday(e, t, r, n, a, s) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = new Array(),
              o = new Array();
            o.push({ priority: 0, appids: t }),
              r && o.push({ priority: 1, appids: r }),
              n && o.push({ priority: 2, appids: n });
            let l = {
                count: e,
                strAppIDPriority: JSON.stringify({ prioritized_apps: o }),
                filterToEventTypes: s ? s.toString() : "",
                l: w.LANGUAGE,
              },
              c = w.STORE_BASE_URL + "events/ajaxgettodayboundedevents",
              u = yield Ze().get(c, {
                params: l,
                withCredentials: !0,
                cancelToken: a.token,
              });
            return (
              (0, Je.z)(() => {
                for (let e of u.data.events) {
                  let t = this.GetEventLookupKey(e);
                  if (!this.m_mapExistingEvents.has(t)) {
                    let t = new ot(e.clan_steamid);
                    this.InsertEventModelFromClanEventData(t, e);
                  }
                  i.push(this.m_mapExistingEvents.get(t));
                }
              }),
              i
            );
          });
        }
        InsertUniqueEventGID(e, t, r) {
          this.m_mapClanToGIDs.has(e) ||
            this.m_mapClanToGIDs.set(e, new Array()),
            this.m_mapAppIDToGIDs.has(t) ||
              this.m_mapAppIDToGIDs.set(t, new Array());
          let n = this.m_mapClanToGIDs.get(e);
          -1 == n.indexOf(r) &&
            (n.push(r), this.m_mapAppIDToGIDs.get(t).push(r));
        }
        ResetModel() {}
        DeleteClanEvent(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            this.m_mapExistingEvents.has(t) &&
              (this.m_mapExistingEvents.get(t).deleteInProgress = !0);
            let r = null,
              n = new URLSearchParams();
            return (
              n.append("sessionid", w.SESSIONID),
              n.append("bDelete", "1"),
              n.append("gid", t),
              (r = yield Ze().post(
                w.COMMUNITY_BASE_URL +
                  "/gid/" +
                  e.ConvertTo64BitString() +
                  "/ajaxcreateupdatedeletepartnerevents/",
                n,
              )),
              this.RemoveGIDFromList(e, t),
              r.data
            );
          });
        }
        RemoveGIDFromList(e, t) {
          if (
            (this.m_mapExistingEvents.delete(t),
            this.m_mapClanToGIDs.has(e.GetAccountID()))
          ) {
            let r = this.m_mapClanToGIDs.get(e.GetAccountID()),
              n = r.indexOf(t);
            n >= 0 && r.splice(n, 1);
          }
        }
        FlushEventFromCache(e, t) {
          if (e && this.m_mapExistingEvents.has(e)) {
            if (!t) {
              t = this.m_mapExistingEvents.get(e).AnnouncementGID;
            }
            this.m_mapExistingEvents.delete(e);
          }
          if (
            t &&
            (this.m_mapExistingEvents.has(Ji + t) &&
              this.m_mapExistingEvents.delete(Ji + t),
            this.m_mapAnnouncementBodyToEvent.has(t))
          ) {
            const e = this.m_mapAnnouncementBodyToEvent.get(t);
            this.m_mapExistingEvents.has(e) &&
              this.m_mapExistingEvents.delete(e),
              this.m_mapAnnouncementBodyToEvent.delete(t);
          }
        }
        InternalLoadPartnerEventFromClanEventOrClanAnnouncementGID(
          e,
          t,
          r,
          n,
          a,
          s = !1,
        ) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = ra(s ? 0 : te(w.LANGUAGE)),
              o = {
                appid: t,
                clan_accountid: e ? e.GetAccountID() : void 0,
                announcement_gid: n,
                event_gid: r,
                lang_list: i,
                last_modified_time: a || 0,
                origin: self.origin,
                for_edit: s,
              },
              l = null,
              u = null;
            if (s) {
              const r = L();
              "community" === r
                ? ((u = w.COMMUNITY_BASE_URL),
                  (u += e ? "gid/" + e.ConvertTo64BitString() : "ogg/" + t),
                  (u += "/"))
                : (u =
                    "partnerweb" === r
                      ? w.PARTNER_BASE_URL + "sales/"
                      : w.STORE_BASE_URL + "events/"),
                (u += "ajaxgetpartnereventforedit"),
                (l = { params: o, withCredentials: !0 });
            } else
              (u = w.STORE_BASE_URL + "events/ajaxgetpartnerevent"),
                (l = { params: o, withCredentials: !1 });
            let d = (yield Ze().get(u, l)).data.event,
              m = this.GetEventLookupKey(d);
            if (
              !this.m_mapExistingEvents.has(m) ||
              this.m_mapExistingEvents.get(m).rtime32_last_modified <
                d.rtime32_last_modified ||
              this.m_mapExistingEvents.get(m).rtime32_moderator_reviewed <
                d.rtime_mod_reviewed
            ) {
              c(d.clan_steamid, "ClanSteamID is missing from data we received");
              let e = new ot(d.clan_steamid);
              this.InsertEventModelFromClanEventData(e, d);
            }
            return this.m_mapExistingEvents.get(m);
          });
        }
        InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
          e,
          t,
          r,
          n,
          a,
          s,
        ) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (r && this.m_mapExistingEvents.has(r))
              return this.m_mapExistingEvents.get(r);
            if (n) {
              if (this.m_mapExistingEvents.has(Ji + n))
                return this.m_mapExistingEvents.get(Ji + n);
              if (this.m_mapAnnouncementBodyToEvent.has(n)) {
                const e = this.m_mapAnnouncementBodyToEvent.get(n);
                if (this.m_mapExistingEvents.has(e))
                  return this.m_mapExistingEvents.get(e);
              }
            }
            return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGID(
              e,
              t,
              r,
              n,
              a,
              s,
            );
          });
        }
        LoadPartnerEventFromAnnoucementGID(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
              void 0,
              e,
              void 0,
              t,
              r,
            );
          });
        }
        LoadPartnerEventFromAnnoucementGIDAndClanSteamID(e, t, r, n) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
              e,
              void 0,
              void 0,
              t,
              r,
              n,
            );
          });
        }
        LoadPartnerEventFromClanEventGID(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
              void 0,
              e,
              t,
              void 0,
              r,
            );
          });
        }
        LoadPartnerEventFromClanEventGIDAndClanSteamID(e, t, r, n) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
              e,
              void 0,
              t,
              void 0,
              r,
              n,
            );
          });
        }
        LoadPartnerEventGeneric(e, t, r, n, a) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
              e,
              t,
              r,
              n,
              a,
            );
          });
        }
        LoadHiddenPartnerEvent(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGID(
              e,
              null,
              t,
              null,
              0,
              !0,
            );
          });
        }
        LoadHiddenPartnerEventByAnnouncementGID(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGID(
              e,
              null,
              null,
              t,
              0,
              !0,
            );
          });
        }
        HintLoadImportantUpdates() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const e = (0, Zr.zO)(36e5);
            if (e != this.m_tsUpdatedAppsQueryTime) {
              this.m_tsUpdatedAppsQueryTime = e;
              const t = { page: 1, numPerPage: 500, includeAnnouncements: !1 },
                r = w.STORE_BASE_URL + "updated/ajaxgetmyappsraw",
                n = yield Ze().get(r, { params: t, withCredentials: !0 });
              n.data.apps &&
                n.data.apps.length > 0 &&
                (0, Je.z)(() => {
                  const e = new Map(
                    n.data.apps.map((e) => [e.appid, new ta(e)]),
                  );
                  this.m_mapUpdatedApps = e;
                });
            }
            return this.m_mapUpdatedApps;
          });
        }
        GetAppImportantUpdate(e) {
          return (
            this.HintLoadImportantUpdates().catch((e) => {
              console.log("UpdatedApps failed to load: ", e.response.data);
            }),
            this.m_mapUpdatedApps && this.m_mapUpdatedApps.get(e)
          );
        }
        LoadClanEventLocalizationFromAnnouncementGID(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let r =
              w.COMMUNITY_BASE_URL +
              "gid/" +
              e.ConvertTo64BitString() +
              "/announcements/ajaxgetlocalization/" +
              t;
            return (yield Ze().get(r)).data.localization;
          });
        }
        LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const n = new Array(),
              i = w.STORE_BASE_URL + "events/ajaxgetbatchedpartnerevent/",
              a = ra(te(w.LANGUAGE));
            let s = null,
              o = null;
            if (e) {
              let t = new Array();
              e.forEach((e) => {
                this.m_mapExistingEvents.has(e)
                  ? n.push(this.m_mapExistingEvents.get(e))
                  : t.push(e);
              }),
                t.sort(),
                (s = t);
            }
            if (t) {
              let e = new Array();
              t.forEach((t) => {
                if (
                  this.m_mapAnnouncementBodyToEvent.has(t) &&
                  this.m_mapExistingEvents.has(
                    this.m_mapAnnouncementBodyToEvent.get(t),
                  )
                ) {
                  let e = this.m_mapAnnouncementBodyToEvent.get(t);
                  n.push(this.m_mapExistingEvents.get(e));
                } else e.push(t);
              }),
                e.sort(),
                (o = e);
            }
            if (!s && !o) return n;
            const l = new Array();
            for (
              ;
              (null == s ? void 0 : s.length) > 0 ||
              (null == o ? void 0 : o.length) > 0;
            ) {
              let e = {
                event_gids:
                  (null == s ? void 0 : s.length) > 0
                    ? null == s
                      ? void 0
                      : s.splice(0, 100).join(",")
                    : void 0,
                announcement_gids:
                  (null == o ? void 0 : o.length) > 0
                    ? null == o
                      ? void 0
                      : o.splice(0, 100).join(",")
                    : void 0,
                lang_list: a,
                origin: self.origin,
              };
              l.push(
                Ze().get(i, { params: e, cancelToken: r ? r.token : void 0 }),
              );
            }
            try {
              const e = yield Promise.all([...l]);
              let t = 0;
              (0, Je.z)(() =>
                e.forEach((e) => {
                  if (e && e.data && e.data.events)
                    for (let t of e.data.events) {
                      let e = this.GetEventLookupKey(t);
                      if (!this.m_mapExistingEvents.has(e)) {
                        let e = new ot(t.clan_steamid);
                        this.InsertEventModelFromClanEventData(e, t);
                      }
                      n.push(this.m_mapExistingEvents.get(e));
                    }
                  else {
                    const t = Ft(e);
                    console.error(
                      "LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs partial processing hit error " +
                        t.strErrorMsg,
                      t,
                    );
                  }
                  t += 1;
                }),
              );
            } catch (e) {
              const t = Ft(e);
              console.error(
                "LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs hit error " +
                  t.strErrorMsg,
                t,
              );
            }
            return n;
          });
        }
      }
      (0, i.gn)([Je.LO], na.prototype, "m_mapExistingEvents", void 0),
        (0, i.gn)(
          [Je.LO],
          na.prototype,
          "m_mapAnnouncementBodyToEvent",
          void 0,
        ),
        (0, i.gn)([Je.LO], na.prototype, "m_mapClanToGIDs", void 0),
        (0, i.gn)([Je.LO], na.prototype, "m_mapAppIDToGIDs", void 0),
        (0, i.gn)([Je.LO], na.prototype, "m_mapUpdatedApps", void 0),
        (0, i.gn)([Je.aD], na.prototype, "Init", null),
        (0, i.gn)([Je.aD], na.prototype, "RegisterClanEvents", null),
        (0, i.gn)(
          [Je.aD],
          na.prototype,
          "InsertEventModelFromClanEventData",
          null,
        ),
        (0, i.gn)([Je.aD], na.prototype, "DeleteClanEvent", null),
        (0, i.gn)([Je.aD], na.prototype, "RemoveGIDFromList", null),
        (0, i.gn)([Je.aD], na.prototype, "FlushEventFromCache", null);
      const ia = new na();
      window.g_PartnerEventStore = ia;
      var aa = r(929),
        sa = r.n(aa);
      const oa = ({ event: e }) => {
        const t = new Date(1e3 * e.GetStartTimeAndDateUnixSeconds()),
          r = te(k.LANGUAGE),
          n = e.GetSummaryWithFallback(r),
          i = e.GetImageURL("capsule");
        return s.createElement(
          j.rU,
          { to: x(e.GID), className: sa().BlogCapsule, key: e.GID },
          s.createElement(
            "div",
            { className: sa().Entry },
            s.createElement(
              "div",
              { className: sa().EntryImage },
              s.createElement("div", {
                className: sa().Image,
                style: { backgroundImage: i ? `url( ${i} )` : null },
              }),
            ),
            s.createElement(
              "div",
              { className: sa().EntryContent },
              s.createElement(
                "div",
                { className: sa().Date },
                t.toLocaleDateString(void 0, {
                  month: "long",
                  day: "numeric",
                  year: "numeric",
                }),
              ),
              s.createElement(
                "div",
                { className: sa().Title },
                e.GetNameWithFallback(r),
              ),
              s.createElement("div", { className: sa().Desc }, Gr(n)),
              s.createElement(
                "div",
                { className: sa().FeaturedLink },
                Gr("#news_readmore"),
                s.createElement("img", {
                  src: k.IMG_URL + "global/arrow_left.png",
                  className: sa().ForwardArrow,
                }),
              ),
            ),
          ),
          s.createElement("div", { className: sa().Divider }),
        );
      };
      var la = r(6317),
        ca = r.n(la);
      const ua = ({
        top: e,
        bottom: t,
        left: r,
        right: n,
        color: i,
        startPct: a,
        midPct: o,
        endPct: l,
        zIndex: c,
      }) => {
        const u = a || 60,
          d = l || 90,
          m = o || u + 0.5 * (d - u),
          _ = {
            background: `linear-gradient( to top, ${i}00 ${u}%, ${i}BB ${m}%, ${i}FF ${d}%`,
          },
          h = {
            background: `linear-gradient( to bottom, ${i}00 ${u}%, ${i}BB ${m}%, ${i}FF ${d}%`,
          },
          p = {
            background: `linear-gradient( to left, ${i}00 ${u}%, ${i}BB ${m}%, ${i}FF ${d}%`,
          },
          g = {
            background: `linear-gradient( to right, ${i}00 ${u}%, ${i}BB ${m}%, ${i}FF ${d}%`,
          },
          b = {};
        return (
          c && (b.zIndex = c),
          s.createElement(
            "div",
            {
              className: xr(
                ca().FadeContainer,
                e && ca().Top,
                t && ca().Bottom,
                r && ca().Left,
                n && ca().Right,
              ),
              style: b,
            },
            e && s.createElement("div", { style: _, className: ca().Fade }),
            t && s.createElement("div", { style: h, className: ca().Fade }),
            r && s.createElement("div", { style: p, className: ca().Fade }),
            n && s.createElement("div", { style: g, className: ca().Fade }),
          )
        );
      };
      var da = r(8075),
        ma = r.n(da);
      const _a = ({ event: e }) => {
        const t = new Date(1e3 * e.GetStartTimeAndDateUnixSeconds()),
          r = te(k.LANGUAGE),
          n = vr(e.GetDescriptionWithFallback(r), ["img"]);
        return s.createElement(
          "div",
          { className: ma().UpdateCapsule, key: e.GID },
          s.createElement(
            "div",
            { className: ma().Date },
            t.toLocaleDateString(void 0, {
              month: "long",
              day: "numeric",
              year: "numeric",
            }),
          ),
          s.createElement(
            "div",
            { className: ma().Title },
            e.GetNameWithFallback(r),
          ),
          s.createElement("div", { className: ma().Desc }, Gr(n)),
        );
      };
      var ha = r(4198),
        pa = r.n(ha);
      function ga(e, t) {
        return (
          (t.BIsVisibleEvent() && e && 12 == t.type) ||
          (!e &&
            (13 == t.type ||
              14 == t.type ||
              28 == t.type ||
              35 == t.type ||
              26 == t.type ||
              21 == t.type))
        );
      }
      const ba = (0, W.Pi)((e) => {
        const t = (0, V.UO)(),
          [r, n] = (0, s.useState)(void 0),
          [i, a] = (0, s.useState)(0),
          o = !!t.updates;
        if (((0, s.useEffect)(() => a(0), [t]), !r))
          return (
            ia
              .LoadPartnerEventsPageable(ot.InitFromClanID(0), 730, 0, 100)
              .then((e) => n(e)),
            s.createElement(Vr, { bOverlapping: !0 })
          );
        const l = te(k.LANGUAGE);
        let c,
          u = 0;
        for (const e of r)
          if (ga(!1, e)) {
            u = e.GID;
            const t = new Date(1e3 * e.GetStartTimeAndDateUnixSeconds());
            c = s.createElement(
              "div",
              { className: pa().LargeEntry, key: e.GID },
              s.createElement("div", {
                className: pa().HeadingImage,
                style: {
                  backgroundImage: `url( ${e.GetImageURL("background")} )`,
                },
              }),
              s.createElement(ua, {
                bottom: !0,
                startPct: 75,
                midPct: 85,
                endPct: 95,
                color: "#000000",
              }),
              s.createElement("div", { className: pa().BottomFade }),
              s.createElement(
                "div",
                { className: pa().FeaturedContent },
                s.createElement(
                  "div",
                  { className: pa().Tag },
                  Gr("#news_featured"),
                ),
                s.createElement(
                  "div",
                  { className: pa().Date },
                  t.toLocaleDateString(void 0, {
                    month: "long",
                    day: "numeric",
                    year: "numeric",
                  }),
                ),
                s.createElement(
                  "div",
                  { className: pa().Title },
                  e.GetNameWithFallback(l),
                ),
                s.createElement(
                  j.rU,
                  { to: x(e.GID), className: pa().FeaturedLink },
                  Gr("#news_readmore"),
                  s.createElement("img", {
                    src: k.IMG_URL + "global/arrow_left.png",
                    className: pa().ForwardArrow,
                  }),
                ),
              ),
            );
            break;
          }
        let d = [],
          m = [],
          _ = [],
          h = 0;
        for (const e of r) ga(o, e) && (h += 1);
        let p = 0,
          g = 0;
        for (const e of r)
          if (ga(o, e) && ((p += 1), !(p <= 15 * i))) {
            if (((g += 1), g > 15)) break;
            o
              ? m.push(s.createElement(_a, { event: e, key: e.GID }))
              : d.push(s.createElement(oa, { event: e, key: e.GID }));
          }
        const b = Math.ceil((h - 1) / 15);
        _.push(
          s.createElement(
            "div",
            {
              className: xr(
                pa().PageNumber,
                pa().PageChange,
                0 == i && pa().Hidden,
              ),
              key: "page_previous",
              onClick: () => a(i - 1),
            },
            "<",
          ),
        );
        for (let e = 0; e < b; e += 1)
          _.push(
            s.createElement(
              "div",
              {
                className: xr(pa().PageNumber, e == i && pa().SelectedPage),
                key: `page_${e}`,
                onClick: () => a(e),
              },
              e + 1,
            ),
          );
        return (
          _.push(
            s.createElement(
              "div",
              {
                className: xr(
                  pa().PageNumber,
                  pa().PageChange,
                  i == b - 1 && pa().Hidden,
                ),
                key: "page_next",
                onClick: () => a(i + 1),
              },
              ">",
            ),
          ),
          s.createElement(
            "div",
            { className: pa().BlogOverviewPage },
            s.createElement(Vr, { bOverlapping: !0 }),
            s.createElement(
              Xr.ql,
              null,
              s.createElement("title", null, Gr("#header_news")),
            ),
            s.createElement("div", { className: pa().NewsHeader }),
            s.createElement(
              "div",
              { className: pa().Body },
              s.createElement(
                "div",
                { className: pa().TabContainer },
                s.createElement(
                  "div",
                  { className: pa().TabsLeft },
                  s.createElement(
                    j.rU,
                    { to: G(), className: xr(pa().Tab, !o && pa().Active) },
                    Gr("#news_news"),
                  ),
                  s.createElement(
                    j.rU,
                    {
                      to: G("updates"),
                      className: xr(pa().Tab, o && pa().Active),
                    },
                    Gr("#news_updates"),
                  ),
                ),
              ),
              s.createElement(
                "div",
                { className: pa().BottomSection },
                !o && s.createElement("div", { className: pa().SubEntries }, d),
                o && s.createElement("div", { className: pa().SubUpdates }, m),
                !o && s.createElement("div", { className: pa().Pages }, _),
                s.createElement(
                  "div",
                  { className: pa().ArchiveLink },
                  s.createElement(
                    "a",
                    {
                      className: pa().PlayForFree,
                      href: "https://blog.counter-strike.net/",
                    },
                    s.createElement(
                      "div",
                      { className: pa().MicroButton },
                      s.createElement(
                        "div",
                        { className: pa().ButtonText },
                        Gr("#news_archive_link"),
                      ),
                    ),
                  ),
                ),
              ),
              s.createElement(Kr, null),
            ),
          )
        );
      });
      var fa = r(6491),
        va = r.n(fa),
        ya = r(7588),
        Sa = r.n(ya),
        wa = r(1781),
        Ca = r(8837),
        Ba = r.n(Ca);
      const Ea =
        r.p + "images/csgo_react/steam_spinner.png?v=valveisgoodatcaching";
      function Ia() {
        return (
          w.IN_CLIENT &&
          (function (e) {
            switch (e) {
              default:
                break;
              case 4:
              case 1:
              case 8:
                return !0;
            }
            return !1;
          })(w.LAUNCHER_TYPE)
        );
      }
      const Ra = s.memo(function (e) {
        const {
          className: t,
          size: r,
          string: n,
          position: i,
          static: a,
          msDelayAppear: o,
        } = e;
        let l = [Ba().LoadingWrapper, "SteamLogoThrobber", Ta(r)];
        const [c, u] = s.useState(!o),
          d = !Ia();
        return (
          (0, s.useEffect)(() => {
            if (c) return;
            const e = setTimeout(() => u(!0), o);
            return () => clearTimeout(e);
          }, [o, c]),
          void 0 === n && l.push(Ba().noString),
          t && l.push(t),
          a && l.push(Ba().Static),
          s.createElement(
            "div",
            {
              className: xr(
                "center" == i && Ba().throbber_center_wrapper,
                o && Ba().ThrobberDelayAppear,
                c && Ba().Visible,
              ),
            },
            c &&
              d &&
              s.createElement(
                "div",
                { className: l.join(" ") },
                s.createElement(
                  "div",
                  { className: Ba().NewThrobber },
                  s.createElement("img", { src: Ea }),
                ),
              ),
            Boolean(n) &&
              s.createElement("div", { className: Ba().ThrobberText }, n),
          )
        );
      });
      s.memo(function (e) {
        const {
          className: t,
          size: r,
          string: n,
          position: i,
          static: a,
          msDelayAppear: o,
        } = e;
        let l = [Ba().LoadingWrapper, "SteamLogoThrobber", Ta(r)];
        const [c, u] = s.useState(!o);
        return (
          (0, s.useEffect)(() => {
            if (c) return;
            const e = setTimeout(() => u(!0), o);
            return () => clearTimeout(e);
          }, [o, c]),
          void 0 === n && l.push(Ba().noString),
          t && l.push(t),
          a && l.push(Ba().Static),
          s.createElement(
            "div",
            {
              className: xr(
                "center" == i && Ba().throbber_center_wrapper,
                o && Ba().ThrobberDelayAppear,
                c && Ba().Visible,
              ),
            },
            c &&
              s.createElement(
                "div",
                { className: l.join(" ") },
                s.createElement(
                  "div",
                  { className: Ba().Throbber },
                  s.createElement(Ma, { className: Ba().base }),
                  s.createElement(Ma, { className: Ba().blur }),
                ),
              ),
            Boolean(n) &&
              s.createElement("div", { className: Ba().ThrobberText }, n),
          )
        );
      });
      function Ta(e) {
        switch (e) {
          case "small":
            return Ba().throbber_small;
          case "medium":
            return Ba().throbber_medium;
          case "xlarge":
            return Ba().throbber_xlarge;
          case "xxlarge":
            return Ba().throbber_xxlarge;
          default:
            return Ba().throbber_large;
        }
      }
      function Ma(e) {
        let t = "SVGIcon_Button SVGIcon_Throbber ";
        return (
          e.className && (t += e.className),
          s.createElement(
            "svg",
            {
              version: "1.1",
              id: "base",
              xmlns: "http://www.w3.org/2000/svg",
              className: t,
              x: "0px",
              y: "0px",
              width: "256px",
              height: "256px",
              viewBox: "0 0 256 256",
            },
            s.createElement(
              "g",
              { className: Ba().partCircle },
              s.createElement("path", {
                className: Ba().roundOuter,
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895",
              }),
              s.createElement("path", {
                className: Ba().roundOuter,
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M201.432,101.166",
              }),
              s.createElement("path", {
                className: Ba().roundOuter,
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754",
              }),
            ),
            s.createElement(
              "g",
              { className: Ba().mainOutline },
              s.createElement("path", {
                className: Ba().roundFill,
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundOuterOutline,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber01,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber02,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber03,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber04,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber05,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber06,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber07,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber08,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber09,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber10,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber11,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber12,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber13,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber14,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
              s.createElement("path", {
                className: Ba().roundThrobber15,
                strokeLinecap: "butt",
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                d: "M127.82,23.895 c-54.686,0-99.487,42.167-103.745,95.754l55.797,23.069c4.729-3.231,10.44-5.122,16.584-5.122c0.551,0,1.098,0.014,1.642,0.047 l24.815-35.968c0-0.17-0.004-0.338-0.004-0.509c0-21.647,17.61-39.261,39.26-39.261s39.263,17.613,39.263,39.261 c0,21.65-17.611,39.264-39.263,39.264c-0.299,0-0.593-0.007-0.887-0.014l-35.392,25.251c0.018,0.462,0.035,0.931,0.035,1.396 c0,16.252-13.22,29.472-29.469,29.472c-14.265,0-26.19-10.185-28.892-23.666L27.66,156.37 c12.355,43.698,52.503,75.733,100.16,75.733c57.495,0,104.104-46.61,104.104-104.105S185.314,23.895,127.82,23.895z",
              }),
            ),
            s.createElement(
              "g",
              { className: Ba().bottomCircle },
              s.createElement("path", {
                fill: "#ffffff",
                d: "M89.226,181.579L76.5,176.321c2.256,4.696,6.159,8.628,11.339,10.786 c11.197,4.668,24.11-0.647,28.779-11.854c2.259-5.425,2.274-11.405,0.033-16.841c-2.237-5.436-6.46-9.675-11.886-11.938 c-5.384-2.24-11.151-2.156-16.22-0.244l13.146,5.436c8.261,3.443,12.166,12.93,8.725,21.189 C106.976,181.115,97.486,185.022,89.226,181.579",
              }),
            ),
            s.createElement(
              "g",
              { className: Ba().topCircle },
              s.createElement("circle", {
                fill: "none",
                stroke: "#ffffff",
                strokeWidth: "6",
                strokeMiterlimit: "10",
                cx: "161.731",
                cy: "101.274",
                r: "23.019",
              }),
            ),
          )
        );
      }
      var Da;
      !(function (e) {
        (e[(e.NotLoaded = 0)] = "NotLoaded"),
          (e[(e.Loading = 1)] = "Loading"),
          (e[(e.Loaded = 2)] = "Loaded");
      })(Da || (Da = {}));
      let Aa = Da.NotLoaded,
        Oa = [];
      function Fa(e) {
        if (Aa == Da.Loaded) return void e();
        if (Aa == Da.NotLoaded) {
          let e = document.createElement("script");
          e.src = "https://www.youtube.com/iframe_api";
          let t = document.getElementsByTagName("script")[0];
          t.parentNode.insertBefore(e, t),
            (window.onYouTubeIframeAPIReady = La);
        }
        Oa.findIndex((t) => e == t) < 0 && Oa.push(e);
      }
      function La() {
        Aa = Da.Loaded;
        for (let e of Oa) e();
        Oa = [];
      }
      class ka extends s.Component {
        constructor(e) {
          super(e),
            (this.m_strPlayerID = ""),
            (this.m_player = null),
            (this.m_playerContainer = null),
            (this.m_bPlayerReady = !1),
            (this.m_strPlayerID = "YoutubePlayer_" + ka.s_nPlayerIndex++),
            (this.state = { bYoutubeLoaded: !1 });
        }
        componentWillUnmount() {
          var e;
          this.DestroyPlayer(), (e = this.OnYoutubeScriptsReady), fe(Oa, e);
        }
        shouldComponentUpdate(e, t) {
          if (!this.m_player) return !1;
          const r = this.props;
          return r.autoplay != e.autoplay ||
            r.controls != e.controls ||
            r.showInfo != e.showInfo ||
            r.video != e.video
            ? (this.CreatePlayer(e), !1)
            : ((r.width == e.width && r.height == e.height) ||
                (this.m_bPlayerReady &&
                  e.width &&
                  e.height &&
                  this.m_player.setSize(e.width, e.height)),
              r.forcePause != e.forcePause);
        }
        componentDidUpdate(e) {
          e.forcePause != this.props.forcePause &&
            (this.props.forcePause
              ? this.m_player.pauseVideo()
              : this.m_player.playVideo());
        }
        DestroyPlayer() {
          if (this.m_player)
            try {
              this.m_player.stopVideo && this.m_player.stopVideo(),
                this.m_player.destroy && this.m_player.destroy();
            } catch (e) {
            } finally {
              this.m_player = null;
            }
        }
        BindPlayerContainer(e) {
          this.m_playerContainer != e &&
            ((this.m_playerContainer = e),
            this.DestroyPlayer(),
            this.m_playerContainer && Fa(this.OnYoutubeScriptsReady));
        }
        OnYoutubeScriptsReady() {
          this.CreatePlayer(this.props);
        }
        CreatePlayer(e) {
          if ((this.DestroyPlayer(), !this.m_playerContainer)) return;
          const t = !1 === e.autoplay ? 0 : 1,
            r = !0 === e.showInfo ? 1 : 0,
            n = !0 === e.controls ? 1 : 0,
            i = !0 === e.showFullscreenBtn ? 1 : 0,
            a = !0 === e.playsInline ? 1 : 0;
          let s = {
              width: void 0 !== e.width ? String(e.width) : void 0,
              height: void 0 !== e.height ? String(e.height) : void 0,
              videoId: e.video,
              playerVars: {
                autoplay: t,
                showinfo: r,
                autohide: 1,
                fs: i,
                modestbranding: 1,
                rel: 0,
                playsinline: a,
                iv_load_policy: 3,
                controls: n,
                start: e.startSeconds,
              },
              events: {
                onReady: this.OnPlayerReady,
                onStateChange: this.OnPlayerStateChange,
                onError: this.OnError,
              },
            },
            o = this.m_playerContainer.firstElementChild;
          (this.m_bPlayerReady = !1), (this.m_player = new YT.Player(o, s));
        }
        OnPlayerReady(e) {
          if (((this.m_bPlayerReady = !0), this.props.onVideoInfoChanged)) {
            let e = this.m_player.getVideoData(),
              t = { strAuthor: "", strTitle: "", strVideoID: "" };
            e.author && (t.strAuthor = e.author),
              e.title && (t.strTitle = e.title),
              e.video_id && (t.strVideoID = e.video_id),
              this.props.onVideoInfoChanged(t);
          }
          this.props.width &&
            this.props.height &&
            this.m_player.setSize(this.props.width, this.props.height),
            this.props.autoplay && this.m_player.playVideo(),
            this.props.onPlayerReady && this.props.onPlayerReady();
        }
        OnPlayerStateChange(e) {
          switch (e.data) {
            case YT.PlayerState.UNSTARTED:
              break;
            case YT.PlayerState.BUFFERING:
              this.props.onBuffering && this.props.onBuffering();
              break;
            case YT.PlayerState.PLAYING:
              this.props.onPlaying && this.props.onPlaying();
              break;
            case YT.PlayerState.PAUSED:
              this.props.onPaused && this.props.onPaused();
              break;
            case YT.PlayerState.ENDED:
              this.props.onMovieEnd && this.props.onMovieEnd();
          }
        }
        OnError(e) {
          console.log("Youtube: Playback failed", e),
            this.props.onError && this.props.onError(e);
        }
        OnPlayerLeftView() {
          this.props.autopause &&
            this.m_player &&
            this.m_bPlayerReady &&
            this.m_player.pauseVideo();
        }
        PlayVideo(e) {
          this.m_player &&
            this.m_bPlayerReady &&
            (e && this.m_player.seekTo(0, !0), this.m_player.playVideo());
        }
        render() {
          const e = s.createElement(
            "div",
            {
              key: this.m_strPlayerID,
              ref: this.BindPlayerContainer,
              className: xr("YoutubePlayer", this.props.classnames),
            },
            s.createElement(Ra, { className: "YoutubePlayerThrobber" }),
          );
          return this.props.autopause
            ? s.createElement(wa.h, { onLeave: this.OnPlayerLeftView }, e)
            : e;
        }
      }
      var Na;
      (ka.s_nPlayerIndex = 0),
        (0, i.gn)([ye], ka.prototype, "BindPlayerContainer", null),
        (0, i.gn)([ye], ka.prototype, "OnYoutubeScriptsReady", null),
        (0, i.gn)([ye], ka.prototype, "CreatePlayer", null),
        (0, i.gn)([ye], ka.prototype, "OnPlayerReady", null),
        (0, i.gn)([ye], ka.prototype, "OnPlayerStateChange", null),
        (0, i.gn)([ye], ka.prototype, "OnError", null),
        (0, i.gn)([ye], ka.prototype, "OnPlayerLeftView", null),
        (0, i.gn)([ye], ka.prototype, "PlayVideo", null),
        (function (e) {
          (e[(e.TOP = 0)] = "TOP"),
            (e[(e.BOTTOM = 1)] = "BOTTOM"),
            (e[(e.LEFT = 2)] = "LEFT"),
            (e[(e.RIGHT = 3)] = "RIGHT"),
            (e[(e.CENTER = 4)] = "CENTER");
        })(Na || (Na = {}));
      const Pa = (e) => {
        var t;
        const [r, n] = (0, s.useState)(!1),
          [i, a] = (0, s.useState)(null == e.strYouTubeVideoID),
          o = (0, s.useRef)(null);
        let l =
          ".LabelStyleHack { background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; ";
        e.labelColors &&
          (e.labelColors.length > 1
            ? (l += `background-image: -webkit-linear-gradient( left, ${e.labelColors.join(", ")} ); `)
            : (l += `background-image: -webkit-linear-gradient( left, ${e.labelColors[0]}, ${e.labelColors[0]} ); `));
        const c =
          null === (t = e.glowDetails) || void 0 === t
            ? void 0
            : t.sort((e, t) => e.size - t.size);
        return (
          c &&
            ((l += `-webkit-filter: ${c.map((e) => `drop-shadow( 0px 0px ${e.size}px ${e.color} )`).join(" ")}; `),
            (l += `filter: ${c.map((e) => `drop-shadow( 0px 0px ${e.size}px ${e.color} )`).join(" ")}; `)),
          s.createElement(
            "div",
            {
              className: Sa().TrailerOverlay,
              onClick: () => {
                var e;
                n(!0),
                  null === (e = o.current) || void 0 === e || e.PlayVideo(!1);
              },
            },
            e.strBackgroundImage &&
              !e.strBackgroundVideo &&
              s.createElement("img", {
                className: Sa().BackgroundImage,
                src: `${k.IMG_URL}${e.strBackgroundImage}`,
              }),
            e.strBackgroundVideo &&
              s.createElement(
                "div",
                { className: Sa().BackgroundVideo },
                s.createElement(
                  "video",
                  {
                    className: Sa().BackgroundVideo,
                    autoPlay: !0,
                    preload: "auto",
                    muted: !0,
                    loop: !0,
                    playsInline: !0,
                    poster: `${k.IMG_URL}${e.strBackgroundImage}`,
                  },
                  s.createElement("source", {
                    type: "video/webm",
                    src: `${k.VIDEO_URL}${e.strBackgroundVideo}.webm`,
                  }),
                  s.createElement("source", {
                    type: "video/mp4",
                    src: `${k.VIDEO_URL}${e.strBackgroundVideo}.mp4`,
                  }),
                ),
              ),
            s.createElement(
              "div",
              { className: xr(Sa().TrailerContainer, r && Sa().Playing) },
              e.strYouTubeVideoID &&
                s.createElement(ka, {
                  video: e.strYouTubeVideoID,
                  autoplay: !1,
                  showFullscreenBtn: !0,
                  playsInline: !0,
                  controls: !0,
                  ref: o,
                  onPlayerReady: () => a(!0),
                  onBuffering: () => n(!0),
                  onPlaying: () => n(!0),
                  onPaused: () => n(!1),
                  onMovieEnd: () => n(!1),
                }),
              e.strForegroundVideo &&
                s.createElement(
                  "video",
                  {
                    className: Sa().BackgroundVideo,
                    autoPlay: !0,
                    preload: "auto",
                    muted: !0,
                    loop: !0,
                    playsInline: !0,
                    poster: `${k.IMG_URL}${e.strBackgroundImage}`,
                  },
                  s.createElement("source", {
                    type: "video/webm",
                    src: `${k.VIDEO_URL}${e.strForegroundVideo}.webm`,
                  }),
                  s.createElement("source", {
                    type: "video/mp4",
                    src: `${k.VIDEO_URL}${e.strForegroundVideo}.mp4`,
                  }),
                ),
            ),
            s.createElement(
              "div",
              {
                className: xr(
                  Sa().LogoElementContainer,
                  e.eLogoPosition == Na.TOP && Sa().LogoTop,
                  e.eLogoPosition == Na.BOTTOM && Sa().LogoBottom,
                  e.eLogoPosition == Na.LEFT && Sa().LogoLeft,
                  e.eLogoPosition == Na.RIGHT && Sa().LogoRight,
                  e.eLogoPosition == Na.CENTER && Sa().LogoCenter,
                ),
              },
              e.logoElement,
              s.createElement(
                "div",
                {
                  className: xr(
                    Sa().PlayButtonContainer,
                    (r || !i) && Sa().Hide,
                  ),
                  onClick: () => {
                    var e;
                    n(!0),
                      null === (e = o.current) ||
                        void 0 === e ||
                        e.PlayVideo(!1);
                  },
                },
                s.createElement("div", {
                  className: Sa().Button,
                  style: {
                    backgroundImage: `url( ${k.IMG_URL}${e.strPlayButton} )`,
                  },
                }),
                s.createElement("style", null, l),
                s.createElement(
                  "div",
                  { className: xr(Sa().Label, "LabelStyleHack") },
                  Gr(e.strPlayButtonLabel),
                ),
              ),
            ),
          )
        );
      };
      var Ga = r(6145);
      const xa = () =>
          s.createElement("div", {
            className: va().RightArrow,
            style: {
              backgroundImage: `url( ${k.IMG_URL}/global/arrow_left.png )`,
            },
          }),
        Ua = () =>
          s.createElement("div", {
            className: va().UpRightArrow,
            style: {
              backgroundImage: `url( ${k.IMG_URL}/global/arrow_left.png )`,
            },
          }),
        za = (e) => {
          const [t, r] = (0, s.useState)(void 0);
          t ||
            ia
              .LoadPartnerEventsPageable(ot.InitFromClanID(0), 730, 0, 100)
              .then((e) => r(e));
          let n = [];
          if (t)
            for (const e of t)
              if (
                (ga(!1, e) &&
                  n.push(s.createElement(Qr, { event: e, key: e.GID })),
                2 == n.length)
              )
                break;
          return s.createElement(
            "div",
            { className: va().HomePage },
            s.createElement(Vr, { bOverlapping: !0 }),
            s.createElement(
              Xr.ql,
              null,
              s.createElement("title", null, Gr("Counter-Strike 2")),
            ),
            s.createElement(
              "div",
              { className: va().HeaderSection },
              s.createElement(
                "div",
                { className: va().BackgroundVideoContainer },
                s.createElement(
                  "video",
                  {
                    className: va().BackgroundVideo,
                    autoPlay: !0,
                    preload: "auto",
                    muted: !0,
                    loop: !0,
                    playsInline: !0,
                  },
                  s.createElement("source", {
                    type: "video/webm",
                    src: `${k.VIDEO_URL}cs2/cs2_header.webm`,
                  }),
                  s.createElement("source", {
                    type: "video/mp4",
                    src: `${k.VIDEO_URL}cs2/cs2_header.mp4`,
                  }),
                ),
              ),
              s.createElement(
                "div",
                {
                  className: va().LogoContainer,
                  "data-aos": "fade-up",
                  "data-aos-delay": "600",
                  "data-aos-duration": "2500",
                },
                s.createElement("div", { className: va().CSLogo }),
                s.createElement(
                  "div",
                  { className: va().Quote },
                  s.createElement(
                    "div",
                    { className: va().QuoteText },
                    Gr("#homepage_quote"),
                  ),
                ),
                s.createElement(
                  j.rU,
                  { to: U(), className: va().S2Bumper },
                  s.createElement(
                    "div",
                    { className: va().IntroContainer },
                    s.createElement(
                      "div",
                      {
                        className: va().IntroText,
                        "data-aos": "fade-in",
                        "data-aos-delay": "500",
                        "data-aos-duration": "1000",
                      },
                      Gr("#cs2beta_bumper_intro"),
                    ),
                    s.createElement("img", {
                      className: va().CS2Logo,
                      src: `${k.IMG_URL}/cs2/logo_cs2_header.svg`,
                      "data-aos": "fade-left",
                      "data-aos-delay": "100",
                      "data-aos-duration": "1000",
                    }),
                  ),
                ),
              ),
              s.createElement("div", { className: va().BottomFade }),
            ),
            s.createElement(
              "div",
              { className: va().HypeContainer },
              s.createElement(
                "div",
                {
                  className: va().ContentSection,
                  "data-aos": "fade-right",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1500",
                },
                s.createElement(
                  "div",
                  { className: va().InlineVideoContainer },
                  s.createElement(Pa, {
                    strBackgroundVideo: "cs2/hype_thumbnail",
                    strPlayButton: "global/play_button.svg",
                    strPlayButtonLabel: "#cs2beta_videos_play",
                    strYouTubeVideoID: "nSE38xjMLqE",
                    labelColors: ["#ffffff", "#FFFFFF", "#ffffff"],
                    glowDetails: [
                      { size: 3, color: "#000000" },
                      { size: 10, color: "#0066ff" },
                      { size: 8, color: "#b566ff" },
                    ],
                    eLogoPosition: Na.CENTER,
                    logoElement: s.createElement(
                      "div",
                      { className: va().VideoTitleContainer },
                      s.createElement(
                        "div",
                        { className: va().VideoSubHeaderText },
                        Gr("#cs2beta_videos_subtitle"),
                      ),
                      s.createElement(
                        "div",
                        { className: va().VideoHeaderText },
                        Gr("#cs2beta_hype_title"),
                      ),
                    ),
                  }),
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: va().NewsSection },
              s.createElement(
                "div",
                { className: va().NewsTop },
                s.createElement(
                  "div",
                  { className: va().Latest },
                  Gr("#home_latest_news"),
                ),
                s.createElement(
                  j.rU,
                  { to: G(), className: va().ViewAll },
                  Gr("#home_view_all"),
                  s.createElement(xa, null),
                ),
              ),
              s.createElement("div", { className: va().NewsCapsules }, n),
            ),
            s.createElement(
              "div",
              { className: va().MapsSection },
              s.createElement("div", { className: va().TopFade }),
              s.createElement("div", { className: va().BottomFade }),
              s.createElement(
                "div",
                {
                  className: va().TextArea,
                  "data-aos": "fade-up",
                  "data-aos-duration": "1500",
                },
                s.createElement(
                  "div",
                  { className: va().HeaderText },
                  Gr("#homepage_maps_title"),
                ),
                s.createElement(
                  "div",
                  { className: va().BodyText },
                  Gr("#homepage_maps_desc"),
                ),
                s.createElement(
                  Ga.fO,
                  { to: U("#Maps") },
                  s.createElement(
                    "div",
                    { className: va().StandardButton },
                    s.createElement(
                      "div",
                      { className: va().ButtonText },
                      Gr("#homepage_maps_btn"),
                    ),
                  ),
                ),
              ),
              s.createElement(
                "div",
                { className: va().BackgroundVideoContainer },
                s.createElement(
                  "video",
                  {
                    className: va().BackgroundVideo,
                    autoPlay: !0,
                    preload: "auto",
                    muted: !0,
                    loop: !0,
                    playsInline: !0,
                  },
                  s.createElement("source", {
                    type: "video/webm",
                    src: `${k.VIDEO_URL}cs2/maps_flythrough.webm`,
                  }),
                  s.createElement("source", {
                    type: "video/mp4",
                    src: `${k.VIDEO_URL}cs2/maps_flythrough.mp4`,
                  }),
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: va().EsportsSection },
              s.createElement(
                "div",
                { className: va().CompetitiveContainer },
                s.createElement(
                  "div",
                  { className: va().BackgroundVideoContainer },
                  s.createElement(
                    "video",
                    {
                      className: va().BackgroundVideo,
                      autoPlay: !0,
                      preload: "auto",
                      muted: !0,
                      loop: !0,
                      playsInline: !0,
                    },
                    s.createElement("source", {
                      type: "video/webm",
                      src: `${k.VIDEO_URL}cs2/competitive_clip.webm`,
                    }),
                    s.createElement("source", {
                      type: "video/mp4",
                      src: `${k.VIDEO_URL}cs2/competitive_clip.mp4`,
                    }),
                  ),
                ),
                s.createElement("div", { className: va().TopFade }),
                s.createElement("div", { className: va().BottomFade }),
                s.createElement(
                  "div",
                  { className: va().CompetitiveContent },
                  s.createElement(
                    "div",
                    { className: va().CompetitiveIntro },
                    s.createElement("div", {
                      className: va().CSGOCompetitiveLogo,
                      style: {
                        backgroundImage: `url( ${k.IMG_URL}/global/cs2_icon_color_512x512.png )`,
                      },
                    }),
                    s.createElement(
                      "div",
                      { className: va().HeaderText },
                      Gr("#homepage_competitive_title"),
                    ),
                    s.createElement(
                      "div",
                      { className: va().BodyText },
                      Gr("#homepage_competitive_desc"),
                    ),
                    s.createElement(
                      "div",
                      { className: va().Permission },
                      Gr("#homepage_permission"),
                    ),
                  ),
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: va().BattleSection },
              s.createElement("div", { className: va().TopFade }),
              s.createElement("div", { className: va().BottomFade }),
              s.createElement(
                "div",
                {
                  className: va().LeftHalf,
                  "data-aos": "fade-up",
                  "data-aos-duration": "1500",
                },
                s.createElement("img", {
                  className: va().CSGOWorkshopImages,
                  src: `${k.IMG_URL}/home/workshop_images.png`,
                }),
                s.createElement(
                  "div",
                  { className: va().LabelText },
                  Gr("#homepage_workshop_label"),
                ),
                s.createElement(
                  "div",
                  { className: va().HeaderText },
                  Gr("#homepage_workshop_title"),
                ),
                s.createElement(
                  "div",
                  { className: va().BodyText },
                  Gr("#homepage_workshop_desc"),
                ),
                s.createElement(
                  "a",
                  { href: "https://www.counter-strike.net/workshop/workshop" },
                  s.createElement(
                    "div",
                    { className: va().StandardButton },
                    s.createElement(
                      "div",
                      { className: va().ButtonText },
                      Gr("#homepage_workshop_btn"),
                    ),
                    s.createElement(Ua, null),
                  ),
                ),
              ),
            ),
            s.createElement(Kr, null),
          );
        };
      var Wa = r(728),
        ja = r.n(Wa);
      function Va() {
        const { pathname: e } = (0, V.TH)();
        return (
          (0, s.useEffect)(() => {
            window.scrollTo(0, 0);
          }, [e]),
          null
        );
      }
      const Ha = (0, W.Pi)((e) => {
        const t = (0, V.UO)(),
          [r, n] = (0, s.useState)(void 0),
          i = (0, V.TH)(),
          a = new URLSearchParams(i.search).has("is_embedded_in_client");
        if (!r)
          return (
            ia
              .LoadPartnerEventsPageable(ot.InitFromClanID(0), 730, 0, 100)
              .then((e) => n(e)),
            s.createElement("div", null)
          );
        let o = r.find((e) => e.GID == t.id);
        if (!o) return s.createElement(V.l_, { to: G() });
        const l = te(k.LANGUAGE),
          c = new Date(
            1e3 * o.GetStartTimeAndDateUnixSeconds(),
          ).toLocaleDateString(void 0, {
            month: "long",
            day: "numeric",
            year: "numeric",
          }),
          u = o.GetDescriptionWithFallback(l);
        let d = [];
        for (const e of r)
          if (
            e != o &&
            (ga(!1, e) && d.push(s.createElement(oa, { event: e, key: e.GID })),
            3 == d.length)
          )
            break;
        const m = o.GetNameWithFallback(l),
          _ = o.GetImageURL("background"),
          h = Gr(
            null == (p = u)
              ? void 0
              : p.replace(/\[url=steam:.*?\[\/url]/g, ""),
          );
        var p;
        return s.createElement(
          "div",
          { className: ja().BlogEntryPage },
          s.createElement(Xr.ql, null, s.createElement("title", null, m)),
          s.createElement(Va, null),
          !a && s.createElement(Vr, { bOverlapping: !0 }),
          !a &&
            k.VALVE_INTERNAL &&
            s.createElement(
              "a",
              {
                className: ja().CommunityLink,
                href: `https://steamcommunity.com/games/dota2/announcements/detail/${o.AnnouncementGID}`,
              },
              "Admin Community Link",
            ),
          !a &&
            s.createElement(
              "div",
              {
                className: a
                  ? ja().TitleContainerInClient
                  : ja().TitleContainer,
              },
              s.createElement("div", {
                className: ja().TitleBackground,
                style: { backgroundImage: _ ? `url( ${_} )` : null },
              }),
            ),
          !a &&
            s.createElement(
              j.rU,
              { to: G(), className: ja().BackToOverview },
              s.createElement("img", {
                src: k.IMG_URL + "global/arrow_left.png",
                className: ja().BackArrow,
              }),
              Gr("#back_to_news"),
            ),
          !a && s.createElement("div", { className: ja().Title }, m),
          !a && s.createElement("div", { className: ja().Date }, c),
          s.createElement("div", { className: ja().Body }, h),
          !a &&
            s.createElement(
              "div",
              { className: ja().LatestNews },
              s.createElement(
                "div",
                { className: ja().LatestNewsHeader },
                Gr("#latest_news"),
              ),
              s.createElement(
                "div",
                { className: ja().LatestNewsContainer },
                d,
              ),
            ),
          !a && s.createElement(Kr, null),
        );
      });
      var qa = r(5205),
        Ka = r.n(qa),
        $a = r(7214),
        Ya = r(5043),
        Qa = r.n(Ya);
      const Xa = ({ image: e, is_new: t }) =>
          s.createElement(
            "div",
            { className: Qa().ComparisonImage },
            s.createElement(
              "div",
              { className: xr(Qa().ImageLabel, t && Qa().IsNew) },
              Gr(
                t ? "#cs2beta_maps_compare_cs2" : "#cs2beta_maps_compare_csgo",
              ),
            ),
            s.createElement("img", { src: `${k.IMG_URL}${e}` }),
          ),
        Za = (e) => {
          const [t, r] = (0, s.useState)(0);
          return s.createElement(
            "div",
            { className: Qa().TabbedMapComparison },
            s.createElement(
              "div",
              { className: Qa().TabContents },
              s.Children.map(e.children, (e, r) =>
                s.createElement(
                  "div",
                  {
                    key: "tabelement_" + r,
                    className: xr(
                      Qa().TabContentContainer,
                      r == t && Qa().Active,
                    ),
                  },
                  e,
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: Qa().TabHeader },
              e.labels.map((e, n) =>
                s.createElement(
                  "div",
                  {
                    key: "tab_" + n,
                    className: xr(Qa().Tab, t == n && Qa().Active),
                    onClick: () => r(n),
                  },
                  Gr(e),
                ),
              ),
            ),
          );
        },
        Ja = (e) =>
          s.createElement(
            "div",
            { className: xr(Ka().BetaCS2, "BetaCS2") },
            s.createElement(Vr, { bOverlapping: !1 }),
            s.createElement(
              Xr.ql,
              null,
              s.createElement("title", null, Gr("Counter-Strike 2")),
            ),
            s.createElement(
              "div",
              { className: Ka().HeaderSection },
              s.createElement("div", { className: Ka().HeaderBG }),
              s.createElement(
                "div",
                { className: Ka().CS2Art },
                s.createElement("img", {
                  className: Ka().ArtFront,
                  src: `${k.IMG_URL}/cs2/header_ctt.png`,
                  "data-aos": "fade-right",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1000",
                }),
              ),
              s.createElement(
                "div",
                { className: Ka().IntroContainer },
                s.createElement(
                  "div",
                  {
                    className: Ka().IntroText,
                    "data-aos": "fade-in",
                    "data-aos-delay": "500",
                    "data-aos-duration": "1000",
                  },
                  Gr("#cs2beta_header_title"),
                ),
                s.createElement("img", {
                  className: Ka().CS2Logo,
                  src: `${k.IMG_URL}/cs2/logo_cs2_header.svg`,
                  "data-aos": "fade-left",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1000",
                }),
              ),
            ),
            s.createElement(
              "div",
              { className: Ka().IntroSection },
              s.createElement(
                "div",
                {
                  className: Ka().IntroBox,
                  "data-aos": "fade-up",
                  "data-aos-delay": "0",
                  "data-aos-duration": "1500",
                },
                s.createElement(
                  "div",
                  { className: Ka().IntroText },
                  Gr("#cs2_intro_title"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().IntroDesc },
                  Gr("#cs2_intro_desc"),
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: Ka().MMContainer },
              s.createElement(
                "div",
                {
                  className: Ka().ContentSection,
                  "data-aos": "fade-right",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1500",
                },
                s.createElement(
                  "div",
                  { className: Ka().InlineVideoContainer },
                  s.createElement(Pa, {
                    strBackgroundVideo: "cs2/video_matchmaking",
                    strPlayButton: "global/play_button.svg",
                    strPlayButtonLabel: "#cs2beta_videos_play",
                    strYouTubeVideoID: "s6BNHro0vSg",
                    labelColors: ["#ffffff", "#FFFFFF", "#ffffff"],
                    glowDetails: [
                      { size: 3, color: "#000000" },
                      { size: 10, color: "#0066ff" },
                      { size: 8, color: "#b566ff" },
                    ],
                    eLogoPosition: Na.CENTER,
                    logoElement: s.createElement(
                      "div",
                      { className: Ka().VideoTitleContainer },
                      s.createElement(
                        "div",
                        { className: Ka().VideoSubHeaderText },
                        Gr("#cs2beta_videos_subtitle"),
                      ),
                      s.createElement(
                        "div",
                        { className: Ka().VideoHeaderText },
                        Gr("#cs2beta_videos_title"),
                      ),
                    ),
                  }),
                ),
                s.createElement(
                  "div",
                  { className: Ka().HeaderText },
                  Gr("#cs2beta_matchmaking_title"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().SubHeaderText },
                  Gr("#cs2beta_matchmaking_subtitle"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().BodyText },
                  Gr("#cs2beta_matchmaking_desc"),
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: Ka().SmokesContainer },
              s.createElement(
                "div",
                {
                  className: Ka().ContentSection,
                  "data-aos": "fade-left",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1500",
                },
                s.createElement(
                  "div",
                  { className: Ka().InlineVideoContainer },
                  s.createElement(Pa, {
                    strBackgroundVideo: "cs2/video_smokes",
                    strBackgroundImage: "cs2/thumbnails/video_smokes.jpg",
                    strPlayButton: "global/play_button.svg",
                    strPlayButtonLabel: "#cs2beta_videos_play",
                    strYouTubeVideoID: "_y9MpNcAitQ",
                    labelColors: ["#ffffff", "#FFFFFF", "#ffffff"],
                    glowDetails: [
                      { size: 3, color: "#000000" },
                      { size: 10, color: "#0066ff" },
                      { size: 8, color: "#b566ff" },
                    ],
                    eLogoPosition: Na.CENTER,
                    logoElement: s.createElement(
                      "div",
                      { className: Ka().VideoTitleContainer },
                      s.createElement(
                        "div",
                        { className: Ka().VideoSubHeaderText },
                        Gr("#cs2beta_videos_subtitle"),
                      ),
                      s.createElement(
                        "div",
                        { className: Ka().VideoHeaderText },
                        Gr("#cs2beta_smokes_title_video"),
                      ),
                    ),
                  }),
                ),
                s.createElement(
                  "div",
                  { className: Ka().HeaderText },
                  Gr("#cs2beta_smokes2_title"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().BodyText },
                  Gr("#cs2beta_smokes_desc"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().InlineVideoRow },
                  s.createElement(
                    "video",
                    {
                      className: Ka().InlineVideo,
                      autoPlay: !0,
                      preload: "auto",
                      muted: !0,
                      loop: !0,
                      playsInline: !0,
                      poster: `${k.IMG_URL}cs2/smokes_vid2.jpg`,
                    },
                    s.createElement("source", {
                      type: "video/webm",
                      src: `${k.IMG_URL}cs2/smokes_vid2.webm`,
                    }),
                    s.createElement("source", {
                      type: "video/mp4",
                      src: `${k.IMG_URL}cs2/smokes_vid2.mp4`,
                    }),
                  ),
                  s.createElement(
                    "div",
                    { className: Ka().SmokesSubIntro },
                    s.createElement(
                      "div",
                      { className: Ka().InlineHeaderText },
                      Gr("#cs2beta_smokes_item3_title"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyText },
                      Gr("#cs2beta_smokes_item3_desc"),
                    ),
                  ),
                ),
                s.createElement(
                  "div",
                  { className: Ka().InlineVideoRow },
                  s.createElement(
                    "div",
                    { className: Ka().SmokesSubIntro },
                    s.createElement(
                      "div",
                      { className: Ka().InlineHeaderText },
                      Gr("#cs2beta_smokes_item2_title"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyText },
                      Gr("#cs2beta_smokes_item2_desc"),
                    ),
                  ),
                  s.createElement(
                    "video",
                    {
                      className: Ka().InlineVideo,
                      autoPlay: !0,
                      preload: "auto",
                      muted: !0,
                      loop: !0,
                      playsInline: !0,
                      poster: `${k.IMG_URL}cs2/smokes_vid1.jpg`,
                    },
                    s.createElement("source", {
                      type: "video/webm",
                      src: `${k.IMG_URL}cs2/smokes_vid1.webm`,
                    }),
                    s.createElement("source", {
                      type: "video/mp4",
                      src: `${k.IMG_URL}cs2/smokes_vid1.mp4`,
                    }),
                  ),
                ),
                s.createElement(
                  "div",
                  { className: Ka().InlineVideoRow },
                  s.createElement(
                    "video",
                    {
                      className: Ka().InlineVideo,
                      autoPlay: !0,
                      preload: "auto",
                      muted: !0,
                      loop: !0,
                      playsInline: !0,
                      poster: `${k.IMG_URL}cs2/smokes_vid3.jpg`,
                    },
                    s.createElement("source", {
                      type: "video/webm",
                      src: `${k.IMG_URL}/cs2/smokes_vid3.webm`,
                    }),
                    s.createElement("source", {
                      type: "video/mp4",
                      src: `${k.IMG_URL}/cs2/smokes_vid3.mp4`,
                    }),
                  ),
                  s.createElement(
                    "div",
                    { className: Ka().SmokesSubIntro },
                    s.createElement(
                      "div",
                      { className: Ka().InlineHeaderText },
                      Gr("#cs2beta_smokes_item1_title"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyText },
                      Gr("#cs2beta_smokes_item1_desc"),
                    ),
                  ),
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: Ka().TicksContainer },
              s.createElement(
                "div",
                {
                  className: Ka().ContentSection,
                  "data-aos": "fade-right",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1500",
                },
                s.createElement(
                  "div",
                  { className: Ka().InlineVideoContainer },
                  s.createElement(Pa, {
                    strBackgroundVideo: "cs2/video_ticks",
                    strBackgroundImage: "cs2/thumbnails/video_ticks.jpg",
                    strPlayButton: "global/play_button.svg",
                    strPlayButtonLabel: "#cs2beta_videos_play",
                    strYouTubeVideoID: "GqhhFl5zgA0",
                    labelColors: ["#ffffff", "#FFFFFF", "#ffffff"],
                    glowDetails: [
                      { size: 3, color: "#000000" },
                      { size: 10, color: "#0066ff" },
                      { size: 8, color: "#b566ff" },
                    ],
                    eLogoPosition: Na.CENTER,
                    logoElement: s.createElement(
                      "div",
                      { className: Ka().VideoTitleContainer },
                      s.createElement(
                        "div",
                        { className: Ka().VideoSubHeaderText },
                        Gr("#cs2beta_videos_subtitle"),
                      ),
                      s.createElement(
                        "div",
                        { className: Ka().VideoHeaderText },
                        Gr("#cs2beta_server_title_video"),
                      ),
                    ),
                  }),
                ),
                s.createElement(
                  "div",
                  { className: Ka().HeaderText },
                  Gr("#cs2beta_server2_title"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().SubHeaderText },
                  Gr("#cs2beta_server_subtitle"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().BodyText },
                  Gr("#cs2beta_server_desc"),
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: Ka().MapsContainer, id: "Maps" },
              s.createElement(
                "div",
                {
                  className: Ka().ContentSection,
                  "data-aos": "fade-left",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1500",
                },
                s.createElement(
                  "div",
                  { className: Ka().InlineVideoContainer },
                  s.createElement(Pa, {
                    strBackgroundVideo: "cs2/video_maps",
                    strBackgroundImage: "cs2/thumbnails/video_maps.jpg",
                    strPlayButton: "global/play_button.svg",
                    strPlayButtonLabel: "#cs2beta_videos_play",
                    strYouTubeVideoID: "ExZtISgOxEQ",
                    labelColors: ["#ffffff", "#FFFFFF", "#ffffff"],
                    glowDetails: [{ size: 0, color: "#000000" }],
                    eLogoPosition: Na.CENTER,
                    logoElement: s.createElement(
                      "div",
                      { className: Ka().VideoTitleContainer },
                      s.createElement(
                        "div",
                        { className: Ka().VideoSubHeaderText },
                        Gr("#cs2beta_videos_subtitle"),
                      ),
                      s.createElement(
                        "div",
                        { className: Ka().VideoHeaderText },
                        Gr("#cs2beta_maps_title_video"),
                      ),
                    ),
                  }),
                ),
                s.createElement(
                  "div",
                  { className: Ka().HeaderText },
                  Gr("#cs2beta_maps2_title"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().SubHeaderText },
                  Gr("#cs2beta_maps_subtitle"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().CompareSlider },
                  s.createElement(
                    "div",
                    { className: Ka().MapIntro },
                    s.createElement(
                      "div",
                      { className: Ka().InlineHeaderText },
                      Gr("#cs2beta_maps_item3_title"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyText },
                      Gr("#cs2beta_maps_item3_desc"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyExample },
                      Gr("#cs2beta_maps_item3_example"),
                    ),
                  ),
                  s.createElement(
                    Za,
                    {
                      labels: [
                        "#cs2beta_maps_overpass_1",
                        "#cs2beta_maps_overpass_2",
                        "#cs2beta_maps_overpass_3",
                        "#cs2beta_maps_overpass_4",
                      ],
                    },
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/overpass_back_long_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/overpass_back_long_s1.jpg",
                      }),
                    }),
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/overpass_lower_tunnel_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/overpass_lower_tunnel_s1.jpg",
                      }),
                    }),
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/overpass_toilets_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/overpass_toilets_s1.jpg",
                      }),
                    }),
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/overpass_van_vista_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/overpass_van_vista_s1.jpg",
                      }),
                    }),
                  ),
                ),
                s.createElement(
                  "div",
                  { className: Ka().CompareSlider },
                  s.createElement(
                    "div",
                    { className: Ka().MapIntro },
                    s.createElement(
                      "div",
                      { className: Ka().InlineHeaderText },
                      Gr("#cs2beta_maps_item2_title"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyText },
                      Gr("#cs2beta_maps_item2_desc"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyExample },
                      Gr("#cs2beta_maps_item2_example"),
                    ),
                  ),
                  s.createElement(
                    Za,
                    {
                      labels: [
                        "#cs2beta_maps_nuke_2",
                        "#cs2beta_maps_nuke_3",
                        "#cs2beta_maps_nuke_4",
                        "#cs2beta_maps_nuke_1",
                      ],
                    },
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/nuke_default_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/nuke_default_s1.jpg",
                      }),
                    }),
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/nuke_ramp_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/nuke_ramp_s1.jpg",
                      }),
                    }),
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/nuke_t_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/nuke_t_s1.jpg",
                      }),
                    }),
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/nuke_backhall_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/nuke_backhall_s1.jpg",
                      }),
                    }),
                  ),
                ),
                s.createElement(
                  "div",
                  { className: Ka().CompareSlider },
                  s.createElement(
                    "div",
                    { className: Ka().MapIntro },
                    s.createElement(
                      "div",
                      { className: Ka().InlineHeaderText },
                      Gr("#cs2beta_maps_item1_title"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyText },
                      Gr("#cs2beta_maps_item1_desc"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyExample },
                      Gr("#cs2beta_maps_item1_example"),
                    ),
                  ),
                  s.createElement(
                    Za,
                    {
                      labels: [
                        "#cs2beta_maps_dust_1",
                        "#cs2beta_maps_dust_2",
                        "#cs2beta_maps_dust_3",
                        "#cs2beta_maps_dust_4",
                      ],
                    },
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/dust2_back_plat_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/dust2_back_plat_s1.jpg",
                      }),
                    }),
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/dust2_blue_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/dust2_blue_s1.jpg",
                      }),
                    }),
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/dust2_ct_ramp_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/dust2_ct_ramp_s1.jpg",
                      }),
                    }),
                    s.createElement($a.vx, {
                      itemOne: s.createElement(Xa, {
                        is_new: !0,
                        image: "cs2/maps/dust2_double_doors_s2.jpg",
                      }),
                      itemTwo: s.createElement(Xa, {
                        is_new: !1,
                        image: "cs2/maps/dust2_double_doors_s1.jpg",
                      }),
                    }),
                  ),
                ),
                s.createElement(
                  "div",
                  { className: Ka().SubSectionText },
                  Gr("#cs2beta_maps_outro_title"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().BodyText },
                  Gr("#cs2beta_maps_outro_desc"),
                ),
                s.createElement(
                  "video",
                  {
                    className: Ka().FullwidthVideo,
                    autoPlay: !0,
                    preload: "auto",
                    muted: !0,
                    loop: !0,
                    playsInline: !0,
                    poster: `${k.IMG_URL}cs2/maps_s2tools.jpg`,
                  },
                  s.createElement("source", {
                    type: "video/webm",
                    src: `${k.IMG_URL}cs2/map_s2tools.webm`,
                  }),
                  s.createElement("source", {
                    type: "video/mp4",
                    src: `${k.IMG_URL}cs2/map_s2tools.mp4`,
                  }),
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: Ka().InventoryContainer },
              s.createElement(
                "div",
                {
                  className: Ka().ContentSection,
                  "data-aos": "fade-right",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1000",
                },
                s.createElement(
                  "div",
                  { className: Ka().HeaderText },
                  Gr("#cs2beta_inventory2_title"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().BodyText },
                  Gr("#cs2beta_inventory_desc"),
                ),
                s.createElement(
                  "video",
                  {
                    className: Ka().FullwidthVideo,
                    autoPlay: !0,
                    preload: "auto",
                    muted: !0,
                    loop: !0,
                    playsInline: !0,
                    poster: `${k.IMG_URL}cs2/weapons.jpg`,
                  },
                  s.createElement("source", {
                    type: "video/webm",
                    src: `${k.IMG_URL}cs2/thumbnails/weapons.webm`,
                  }),
                  s.createElement("source", {
                    type: "video/mp4",
                    src: `${k.IMG_URL}cs2/thumbnails/weapons.mp4`,
                  }),
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: Ka().VFXContainer },
              s.createElement(
                "div",
                {
                  className: Ka().ContentSection,
                  "data-aos": "fade-left",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1500",
                },
                s.createElement(
                  "div",
                  { className: Ka().HeaderText },
                  Gr("#cs2beta_vfx_title"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().SubHeaderText },
                  Gr("#cs2beta_vfx_subtitle"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().BodyText },
                  Gr("#cs2beta_vfx_desc"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().InlineVideoRow },
                  s.createElement(
                    "video",
                    {
                      className: Ka().InlineVideo,
                      autoPlay: !0,
                      preload: "auto",
                      muted: !0,
                      loop: !0,
                      playsInline: !0,
                      poster: `${k.IMG_URL}cs2/vfx/blood_hit_fx.jpg`,
                    },
                    s.createElement("source", {
                      type: "video/webm",
                      src: `${k.IMG_URL}cs2/vfx/blood_hit_fx.webm`,
                    }),
                    s.createElement("source", {
                      type: "video/mp4",
                      src: `${k.IMG_URL}cs2/vfx/blood_hit_fx.mp4`,
                    }),
                  ),
                  s.createElement(
                    "div",
                    { className: Ka().SmokesSubIntro },
                    s.createElement(
                      "div",
                      { className: Ka().InlineHeaderText },
                      Gr("#cs2beta_vfx_item1_title"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyText },
                      Gr("#cs2beta_vfx_item1_desc"),
                    ),
                  ),
                ),
                s.createElement(
                  "div",
                  { className: Ka().InlineVideoRow },
                  s.createElement(
                    "div",
                    { className: Ka().SmokesSubIntro },
                    s.createElement(
                      "div",
                      { className: Ka().InlineHeaderText },
                      Gr("#cs2beta_vfx_item2_title"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyText },
                      Gr("#cs2beta_vfx_item2_desc"),
                    ),
                  ),
                  s.createElement(
                    "video",
                    {
                      className: Ka().InlineVideo,
                      autoPlay: !0,
                      preload: "auto",
                      muted: !0,
                      loop: !0,
                      playsInline: !0,
                      poster: `${k.IMG_URL}cs2/vfx/explosions.jpg`,
                    },
                    s.createElement("source", {
                      type: "video/webm",
                      src: `${k.IMG_URL}cs2/vfx/explosions.webm`,
                    }),
                    s.createElement("source", {
                      type: "video/mp4",
                      src: `${k.IMG_URL}cs2/vfx/explosions.mp4`,
                    }),
                  ),
                ),
                s.createElement(
                  "div",
                  { className: Ka().InlineVideoRow },
                  s.createElement(
                    "video",
                    {
                      className: Ka().InlineVideo,
                      autoPlay: !0,
                      preload: "auto",
                      muted: !0,
                      loop: !0,
                      playsInline: !0,
                      poster: `${k.IMG_URL}cs2/vfx/UI.jpg`,
                    },
                    s.createElement("source", {
                      type: "video/webm",
                      src: `${k.IMG_URL}cs2/vfx/UI.webm`,
                    }),
                    s.createElement("source", {
                      type: "video/mp4",
                      src: `${k.IMG_URL}cs2/vfx/UI.mp4`,
                    }),
                  ),
                  s.createElement(
                    "div",
                    { className: Ka().SmokesSubIntro },
                    s.createElement(
                      "div",
                      { className: Ka().InlineHeaderText },
                      Gr("#cs2beta_vfx_item3_title"),
                    ),
                    s.createElement(
                      "div",
                      { className: Ka().InlineBodyText },
                      Gr("#cs2beta_vfx_item3_desc"),
                    ),
                  ),
                ),
              ),
            ),
            s.createElement(
              "div",
              { className: Ka().AudioContainer },
              s.createElement(
                "div",
                {
                  className: Ka().ContentSection,
                  "data-aos": "fade-right",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1500",
                },
                s.createElement(
                  "div",
                  { className: Ka().HeaderText },
                  Gr("#cs2beta_audio_title"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().SubHeaderText },
                  Gr("#cs2beta_audio_subtitle"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().BodyText },
                  Gr("#cs2beta_audio_desc"),
                ),
                s.createElement("img", {
                  className: Ka().AudioImage,
                  src: `${k.IMG_URL}/cs2/audio.png`,
                }),
              ),
            ),
            s.createElement(
              "div",
              { className: Ka().ComingSoonContainer },
              s.createElement(
                "div",
                {
                  className: Ka().ContentSection,
                  "data-aos": "fade-left",
                  "data-aos-delay": "100",
                  "data-aos-duration": "1000",
                },
                s.createElement(
                  "div",
                  { className: Ka().HeaderText },
                  Gr("#cs2beta_comingsoon_title"),
                ),
                s.createElement(
                  "div",
                  { className: Ka().BodyText },
                  Gr("#cs2beta_comingsoon_desc"),
                ),
              ),
            ),
            s.createElement(Kr, null),
          );
      let es = class extends s.Component {
        componentDidMount() {
          l().init({
            disable: !1,
            startEvent: "DOMContentLoaded",
            initClassName: "aos-init",
            animatedClassName: "aos-animate",
            useClassNames: !1,
            disableMutationObserver: !1,
            debounceDelay: 50,
            throttleDelay: 99,
            offset: 120,
            delay: 0,
            duration: 400,
            easing: "ease",
            once: !1,
            mirror: !1,
            anchorPlacement: "top-bottom",
          });
        }
        render() {
          return s.createElement(
            "div",
            { className: xr(q().CSGORoot, `Language_${k.LANGUAGE}`) },
            s.createElement(
              Xr.B6,
              null,
              s.createElement(
                j.VK,
                { basename: N() },
                s.createElement(
                  s.Suspense,
                  { fallback: null },
                  s.createElement(
                    V.rs,
                    null,
                    s.createElement(Y, { path: P(), component: za }),
                    s.createElement(Y, { exact: !0, path: "/", component: za }),
                    s.createElement(Y, { path: x(":id"), component: Ha }),
                    s.createElement(Y, { path: G(":updates?"), component: ba }),
                    s.createElement(Y, { path: U(), component: Ja }),
                    s.createElement(Y, {
                      path: z(":page"),
                      render: () => s.createElement(V.l_, { to: G() }),
                    }),
                  ),
                ),
              ),
            ),
          );
        }
      };
      es = (0, i.gn)([W.Pi], es);
      const ts = es;
      var rs, ns, is, as, ss;
      !(function (e) {
        (e[(e.Unrequested = 0)] = "Unrequested"),
          (e[(e.Pending = 1)] = "Pending"),
          (e[(e.Valid = 2)] = "Valid"),
          (e[(e.Failed = 3)] = "Failed"),
          (e[(e.Rerequest = 4)] = "Rerequest");
      })(rs || (rs = {}));
      class os {
        constructor() {
          (this.data = void 0),
            (this.eState = rs.Unrequested),
            (this.nExpirationTime = 0),
            (0, Je.rC)(this);
        }
        getData(e, t, r) {
          const n = this.eState == rs.Pending || this.eState == rs.Rerequest;
          return (
            this.isExpired() &&
              !n &&
              ((this.eState = rs.Pending),
              t()
                .then((n) => {
                  if (this.eState == rs.Rerequest)
                    return this.expireData(), void this.getData(e, t, r);
                  (this.data = r ? r(n) : n),
                    n
                      ? (this.delayNewData(e), (this.eState = rs.Valid))
                      : (this.eState = rs.Failed);
                })
                .catch((e) => {
                  (this.data = r(void 0)), (this.eState = rs.Failed);
                })),
            this.data
          );
        }
        clearData() {
          (this.eState = rs.Unrequested),
            (this.data = null),
            (this.nExpirationTime = 0);
        }
        setDataPending() {
          this.eState = rs.Pending;
        }
        isDataPending() {
          return this.eState == rs.Pending;
        }
        setData(e, t) {
          (this.data = t), this.delayNewData(e), (this.eState = rs.Valid);
        }
        expireData() {
          this.nExpirationTime = 0;
        }
        isExpired() {
          const e = Date.now() / 1e3;
          return this.nExpirationTime < e;
        }
        delayNewData(e) {
          if (e <= 0) this.nExpirationTime = Number.MAX_SAFE_INTEGER;
          else {
            const t = Date.now() / 1e3;
            this.nExpirationTime = t + e;
          }
        }
        rerequestDataIfPending() {
          this.eState == rs.Pending && (this.eState = rs.Rerequest);
        }
        getCachedData() {
          return this.data;
        }
      }
      (0, i.gn)([Je.LO], os.prototype, "data", void 0),
        (0, i.gn)([Je.LO], os.prototype, "nExpirationTime", void 0);
      (0, i.gn)(
        [Je.LO],
        class {
          constructor() {
            (this.m_mapKeyToDataWrapper = new Map()), (0, Je.rC)(this);
          }
          getAsyncDataWrapper(e) {
            let t;
            return (
              this.m_mapKeyToDataWrapper.has(e)
                ? (t = this.m_mapKeyToDataWrapper.get(e))
                : ((t = new os()), this.m_mapKeyToDataWrapper.set(e, t)),
              t
            );
          }
          clearKey(e) {
            this.m_mapKeyToDataWrapper.has(e) &&
              this.m_mapKeyToDataWrapper.get(e).clearData(),
              this.m_mapKeyToDataWrapper.delete(e);
          }
          getAllElements() {
            return Array.from(this.m_mapKeyToDataWrapper.values()).map((e) =>
              e.getCachedData(),
            );
          }
          getAllElementsAndKeys() {
            let e = [],
              t = this.m_mapKeyToDataWrapper.entries(),
              r = t.next();
            for (; !r.done; )
              e.push({ key: r.value[0], data: r.value[1].getCachedData() }),
                (r = t.next());
            return e;
          }
        }.prototype,
        "m_mapKeyToDataWrapper",
        void 0,
      );
      class ls {
        constructor(e) {
          this.m_config = e;
        }
        Reset() {
          (this.m_ActiveInputId = void 0),
            null != this.m_ActiveInputTimeout &&
              (clearInterval(this.m_ActiveInputTimeout),
              (this.m_ActiveInputTimeout = void 0));
        }
        HandleInputButtonDown(e, t) {
          if (this.m_ActiveInputId !== e && null != t) {
            this.Reset(), (this.m_ActiveInputId = e);
            const r = () => {
              this.m_ActiveInputTimeout = window.setInterval(() => {
                t();
              }, this.m_config.repeatInterval_ms);
            };
            null == this.m_config.firstRepeatInterval_ms ||
            this.m_config.firstRepeatInterval_ms ===
              this.m_config.repeatInterval_ms
              ? r()
              : (this.m_ActiveInputTimeout = window.setTimeout(() => {
                  t(), r();
                }, this.m_config.firstRepeatInterval_ms));
          }
        }
      }
      !(function (e) {
        (e[(e.None = 0)] = "None"),
          (e[(e.Horizontal = 1)] = "Horizontal"),
          (e[(e.Vertical = 2)] = "Vertical");
      })(ns || (ns = {}));
      class cs {
        constructor(e) {
          (this.m_repeatOnAxis = ns.None),
            (this.m_bRepeatEnabled = !0),
            (this.m_config = e),
            (this.m_inputRepeatGenerator = new ls(e));
        }
        Reset() {
          this.m_inputRepeatGenerator.Reset();
        }
        SetEnabled(e) {
          (this.m_bRepeatEnabled = e), this.m_bRepeatEnabled || this.Reset();
        }
        HandleInputButtonDown(e, t, r) {
          this.m_bRepeatEnabled && this.m_config.inputsThatRepeat.has(e)
            ? this.m_repeatOnAxis == ns.None &&
              ((e != is.DIR_UP && e != is.DIR_DOWN) ||
                (this.m_repeatOnAxis = ns.Vertical),
              (e != is.DIR_LEFT && e != is.DIR_RIGHT) ||
                (this.m_repeatOnAxis = ns.Horizontal),
              t(),
              this.m_inputRepeatGenerator.HandleInputButtonDown(e, r))
            : (t(), this.m_inputRepeatGenerator.Reset());
        }
        HandleInputButtonUp(e) {
          if (
            this.m_config.inputsThatRepeat.has(e) &&
            this.m_repeatOnAxis != ns.None
          ) {
            const t = e == is.DIR_UP || e == is.DIR_DOWN,
              r = e == is.DIR_LEFT || e == is.DIR_RIGHT;
            ((this.m_repeatOnAxis == ns.Vertical && t) ||
              (this.m_repeatOnAxis == ns.Horizontal && r)) &&
              ((this.m_repeatOnAxis = ns.None),
              this.m_inputRepeatGenerator.Reset());
          } else this.m_inputRepeatGenerator.Reset();
        }
      }
      !(function (e) {
        (e[(e.INVALID = 0)] = "INVALID"),
          (e[(e.OK = 1)] = "OK"),
          (e[(e.CANCEL = 2)] = "CANCEL"),
          (e[(e.SECONDARY = 3)] = "SECONDARY"),
          (e[(e.OPTIONS = 4)] = "OPTIONS"),
          (e[(e.BUMPER_LEFT = 5)] = "BUMPER_LEFT"),
          (e[(e.BUMPER_RIGHT = 6)] = "BUMPER_RIGHT"),
          (e[(e.TRIGGER_LEFT = 7)] = "TRIGGER_LEFT"),
          (e[(e.TRIGGER_RIGHT = 8)] = "TRIGGER_RIGHT"),
          (e[(e.DIR_UP = 9)] = "DIR_UP"),
          (e[(e.DIR_DOWN = 10)] = "DIR_DOWN"),
          (e[(e.DIR_LEFT = 11)] = "DIR_LEFT"),
          (e[(e.DIR_RIGHT = 12)] = "DIR_RIGHT"),
          (e[(e.SELECT = 13)] = "SELECT"),
          (e[(e.START = 14)] = "START"),
          (e[(e.LSTICK_CLICK = 15)] = "LSTICK_CLICK"),
          (e[(e.RSTICK_CLICK = 16)] = "RSTICK_CLICK"),
          (e[(e.LSTICK_TOUCH = 17)] = "LSTICK_TOUCH"),
          (e[(e.RSTICK_TOUCH = 18)] = "RSTICK_TOUCH"),
          (e[(e.LPAD_TOUCH = 19)] = "LPAD_TOUCH"),
          (e[(e.LPAD_CLICK = 20)] = "LPAD_CLICK"),
          (e[(e.RPAD_TOUCH = 21)] = "RPAD_TOUCH"),
          (e[(e.RPAD_CLICK = 22)] = "RPAD_CLICK"),
          (e[(e.REAR_LEFT_UPPER = 23)] = "REAR_LEFT_UPPER"),
          (e[(e.REAR_LEFT_LOWER = 24)] = "REAR_LEFT_LOWER"),
          (e[(e.REAR_RIGHT_UPPER = 25)] = "REAR_RIGHT_UPPER"),
          (e[(e.REAR_RIGHT_LOWER = 26)] = "REAR_RIGHT_LOWER"),
          (e[(e.STEAM_GUIDE = 27)] = "STEAM_GUIDE"),
          (e[(e.STEAM_QUICK_MENU = 28)] = "STEAM_QUICK_MENU");
      })(is || (is = {})),
        (function (e) {
          (e[(e.UNKNOWN = 0)] = "UNKNOWN"),
            (e[(e.GAMEPAD = 1)] = "GAMEPAD"),
            (e[(e.KEYBOARD = 2)] = "KEYBOARD"),
            (e[(e.MOUSE = 3)] = "MOUSE"),
            (e[(e.TOUCH = 4)] = "TOUCH"),
            (e[(e.LPAD = 5)] = "LPAD"),
            (e[(e.RPAD = 6)] = "RPAD");
        })(as || (as = {}));
      class us {
        constructor() {
          (this.m_OnGamepadDetectedCallbacks = new Se()),
            (this.m_ButtonDownCallbacks = new Se()),
            (this.m_ButtonUpCallbacks = new Se()),
            (this.m_AnalogCallbacks = new Se()),
            (this.m_NavigationTypeChangeCallbacks = new Se()),
            (this.m_nLastActiveControllerIndex = -1),
            (this.m_ButtonRepeatHandler = new cs({
              inputsThatRepeat: new Set([
                is.DIR_UP,
                is.DIR_DOWN,
                is.DIR_LEFT,
                is.DIR_RIGHT,
              ]),
              firstRepeatInterval_ms: 400,
              repeatInterval_ms: 50,
            })),
            (this.m_bGamepadDetected = !1);
        }
        RegisterForGamepadDetected(e) {
          return this.m_OnGamepadDetectedCallbacks.Register(e);
        }
        RegisterForGamepadButtonDown(e) {
          return this.m_ButtonDownCallbacks.Register(e);
        }
        RegisterForGamepadButtonUp(e) {
          return this.m_ButtonUpCallbacks.Register(e);
        }
        RegisterForAnalog(e) {
          return this.m_AnalogCallbacks.Register(e);
        }
        RegisterForNavigationTypeChange(e) {
          return this.m_NavigationTypeChangeCallbacks.Register(e);
        }
        SetSourceType(e) {
          this.m_eNavigationSourceType = e;
        }
        GetSourceType() {
          return this.m_eNavigationSourceType;
        }
        SetControllerActive(e) {
          (this.m_nLastActiveControllerIndex = e),
            (this.m_fLastActiveTime = Date.now());
        }
        GetActiveControllerIndex() {
          return this.m_nLastActiveControllerIndex;
        }
        GetActiveControllerTime() {
          return this.m_fLastActiveTime;
        }
        SetRepeatAllowed(e) {
          this.m_ButtonRepeatHandler.SetEnabled(e);
        }
        OnGamepadDetected() {
          console.log("Gamepad detected"),
            (this.m_bGamepadDetected = !0),
            this.m_OnGamepadDetectedCallbacks.Dispatch();
        }
        OnButtonDown(e, t) {
          void 0 === t && (t = -1),
            this.SetControllerActive(t),
            this.m_ButtonRepeatHandler.HandleInputButtonDown(
              e,
              () => this.DispatchButtonDown(e, !1),
              () => this.DispatchButtonDown(e, !0),
            );
        }
        OnButtonUp(e, t) {
          void 0 === t && (t = -1),
            this.SetControllerActive(t),
            this.m_ButtonRepeatHandler.HandleInputButtonUp(e),
            this.m_ButtonUpCallbacks.Dispatch(
              e,
              this.m_eNavigationSourceType,
              this.m_nLastActiveControllerIndex,
            );
        }
        DispatchButtonDown(e, t) {
          this.m_ButtonDownCallbacks.Dispatch(
            e,
            this.m_eNavigationSourceType,
            this.m_nLastActiveControllerIndex,
            t,
          );
        }
        OnAnalogPad(e, t, r, n) {
          void 0 === n && (n = -1),
            this.SetControllerActive(n),
            this.m_AnalogCallbacks.Dispatch(
              e,
              this.m_nLastActiveControllerIndex,
              t,
              r,
            );
        }
        OnNavigationTypeChanged(e) {
          this.m_NavigationTypeChangeCallbacks.Dispatch(e);
        }
      }
      !(function (e) {
        (e[(e.GAMEPAD = 0)] = "GAMEPAD"),
          (e[(e.KEYBOARD = 1)] = "KEYBOARD"),
          (e[(e.APPLICATION = 2)] = "APPLICATION"),
          (e[(e.BROWSER = 3)] = "BROWSER");
      })(ss || (ss = {}));
      let ds = {
        [is.OK]: "vgp_onok",
        [is.CANCEL]: "vgp_oncancel",
        [is.SECONDARY]: "vgp_onsecondaryaction",
        [is.OPTIONS]: "vgp_onoptions",
        [is.START]: "vgp_onmenu",
      };
      function ms(e, t, r) {
        return (
          e.addEventListener(t, r),
          () =>
            (function (e, t, r) {
              e.removeEventListener(t, r);
            })(e, t, r)
        );
      }
      function _s(e, t) {
        return ms(e, "vgp_onok", bs(t));
      }
      function hs(e, t) {
        return ms(e, "vgp_ondirection", bs(t));
      }
      function ps(e, t) {
        return ms(e, "vgp_onblur", t);
      }
      function gs(e, t, r) {
        let n = e;
        if (!n || !n.ownerDocument || !n.ownerDocument.defaultView) return !0;
        let i = new n.ownerDocument.defaultView.CustomEvent(t, {
          bubbles: !0,
          cancelable: !0,
          detail: r,
        });
        return e.dispatchEvent(i);
      }
      function bs(e) {
        return (t) => {
          !1 !== e(t) && (t.stopPropagation(), t.preventDefault());
        };
      }
      class fs {
        GetObject(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            try {
              const t = yield this.GetString(e);
              return t ? JSON.parse(t) : null;
            } catch (e) {
              return null;
            }
          });
        }
        StoreObject(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return this.StoreString(e, JSON.stringify(t));
          });
        }
      }
      class vs extends fs {
        GetString(e) {
          return Promise.resolve(localStorage.getItem(e));
        }
        StoreString(e, t) {
          return localStorage.setItem(e, t), Promise.resolve();
        }
        RemoveObject(e) {
          return localStorage.removeItem(e), Promise.resolve();
        }
      }
      const ys = [
        "ActionDescription",
        "Backstack",
        "BrowserBackstack",
        "GroupMemberStore",
        "Chat",
        "ChatRoom",
        "ChatRoomGroup",
        "ChatHistory",
        "CompositionState",
        "AppOverviewImplObservable",
        "ReducedValue",
        "FocusNavigation",
        "FocusNavigationMovement",
        "GamepadEvents",
        "VirtualKeyboard",
        "LibraryUIStore/BasicUIStore",
        "SystemNetworkStore",
        "SteamClient",
        "AudioPlaybackManager",
        "LaunchStates",
        "Haptics",
        "ControllerConfigurator",
        "FriendsUI/RemotePlay",
        "SalePage",
        "VR",
        "VRDashboardPopupStore",
        "VRGamepadUIMessages",
      ];
      var Ss;
      !(function (e) {
        (e[(e.Debug = 0)] = "Debug"),
          (e[(e.Info = 1)] = "Info"),
          (e[(e.Warning = 2)] = "Warning"),
          (e[(e.Error = 3)] = "Error");
      })(Ss || (Ss = {}));
      class ws {
        constructor(e, t) {
          (this.m_fnIdGenerator = null),
            (this.m_sName = e),
            (this.m_fnIdGenerator = t),
            Cs.Get().RegisterLogName(e);
        }
        Debug(...e) {
          this.Log(Ss.Debug, ...e);
        }
        Info(...e) {
          this.Log(Ss.Info, ...e);
        }
        Warning(...e) {
          this.Log(Ss.Warning, ...e);
        }
        Error(...e) {
          this.Log(Ss.Error, ...e);
        }
        Assert(e, ...t) {
          e || this.Log(Ss.Error, "Assertion failed:", ...t);
        }
        IsDebugEnabled() {
          return Cs.Get().IsDebugLogEnabled(this.m_sName);
        }
        Log(e, ...t) {
          var r, n;
          const i = Cs.Get().IsDebugLogEnabled(this.m_sName);
          if (e == Ss.Debug && !i) return;
          let a = this.m_sName;
          const s =
            null !==
              (n =
                null === (r = this.m_fnIdGenerator) || void 0 === r
                  ? void 0
                  : r.call(this)) && void 0 !== n
              ? n
              : null;
          null != s && (a += " (" + s + ")");
          Bs(e, i, Cs.Get().IncludeBacktraceInLog, a, this.m_sName, ...t);
        }
      }
      (0, i.gn)([ye], ws.prototype, "Debug", null),
        (0, i.gn)([ye], ws.prototype, "Info", null),
        (0, i.gn)([ye], ws.prototype, "Warning", null),
        (0, i.gn)([ye], ws.prototype, "Error", null),
        (0, i.gn)([ye], ws.prototype, "Assert", null);
      class Cs {
        constructor() {
          (this.m_Storage = null),
            (this.m_rgLogNames = null),
            (this.m_setEnabledDebugLogs = new Set()),
            (this.m_bIncludeBacktraceInLog = !1),
            (this.m_SettingsChangedCallback = new Se()),
            (this.m_bLoading = !1),
            (this.m_Storage = new vs()),
            (this.m_rgLogNames = ys.slice()),
            this.LoadSettings();
        }
        LogAsLogManager(...e) {
          Bs(
            Ss.Info,
            !0,
            this.IncludeBacktraceInLog,
            "LogManager",
            "LogManager",
            ...e,
          );
        }
        LoadSettings() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            (this.m_bLoading = !0),
              (this.m_bIncludeBacktraceInLog =
                !!(yield this.m_Storage.GetObject(
                  Cs.k_IncludeBacktraceInLog_StorageKey,
                )));
            const e = yield this.m_Storage.GetObject(
              Cs.k_EnabledLogNames_StorageKey,
            );
            Array.isArray(e) &&
              ((this.m_setEnabledDebugLogs = new Set(e)),
              this.LogAsLogManager(
                "Loaded debug enabled log names. Will print log messages for:",
                Array.from(this.m_setEnabledDebugLogs),
              )),
              (this.m_bLoading = !1),
              this.m_SettingsChangedCallback.Dispatch();
          });
        }
        SaveSettings() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            yield this.m_Storage.StoreObject(
              Cs.k_EnabledLogNames_StorageKey,
              Array.from(this.m_setEnabledDebugLogs),
            ),
              yield this.m_Storage.StoreObject(
                Cs.k_IncludeBacktraceInLog_StorageKey,
                this.m_bIncludeBacktraceInLog,
              ),
              this.LogAsLogManager(
                "Saved enabled debug log names. Will print log messages for:",
                Array.from(this.m_setEnabledDebugLogs),
              );
          });
        }
        static Get() {
          return (
            null == Cs.s_Singleton && (Cs.s_Singleton = new Cs()),
            Cs.s_Singleton
          );
        }
        get Loading() {
          return this.m_bLoading;
        }
        get LogNames() {
          return this.m_rgLogNames;
        }
        RegisterLogName(e) {
          this.m_rgLogNames.includes(e) || this.m_rgLogNames.push(e);
        }
        IsLogName(e) {
          return this.m_rgLogNames.includes(e);
        }
        IsDebugLogEnabled(e) {
          return this.m_setEnabledDebugLogs.has(e);
        }
        ToggleDebugLogEnabled(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            this.SetDebugLogEnabled(e, !this.IsDebugLogEnabled(e));
          });
        }
        SetDebugLogEnabled(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            t
              ? this.m_setEnabledDebugLogs.add(e)
              : this.m_setEnabledDebugLogs.delete(e),
              this.m_SettingsChangedCallback.Dispatch(),
              yield this.SaveSettings();
          });
        }
        SetAllDebugLogsEnabled(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            (this.m_setEnabledDebugLogs = new Set(e ? ys : [])),
              this.m_SettingsChangedCallback.Dispatch(),
              yield this.SaveSettings();
          });
        }
        RegisterForSettingsChanges(e) {
          return this.m_SettingsChangedCallback.Register(e);
        }
        get IncludeBacktraceInLog() {
          return this.m_bIncludeBacktraceInLog;
        }
        SetIncludeBacktraceInLog(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            (this.m_bIncludeBacktraceInLog = e),
              this.m_SettingsChangedCallback.Dispatch(),
              yield this.SaveSettings();
          });
        }
      }
      function Bs(e, t, r, n, i, ...a) {
        const s = (function (e) {
            let t = 0;
            for (let r = 0; r < e.length; r++)
              t = e.charCodeAt(r) + ((t << 5) - t);
            return [(t >> 0) & 255, (t >> 8) & 255, (t >> 16) & 255];
          })(i).map((e, t) =>
            Math.round(
              Math.max(0, Math.min(255, 255 * (0.8 * (e / 255 - 0.5) + 0.15))),
            ),
          ),
          o = (299 * (l = s)[0] + 587 * l[1] + 114 * l[2]) / 1e3 >= 128;
        var l;
        let c = n;
        r &&
          (c =
            (function (e) {
              switch (e) {
                case Ss.Debug:
                  return String.fromCodePoint(128027);
                case Ss.Info:
                  return String.fromCodePoint(8505);
                case Ss.Warning:
                  return String.fromCodePoint(9888);
                case Ss.Error:
                  return String.fromCodePoint(128165);
              }
            })(e) +
            " " +
            c);
        const u =
            a.length >= 1 && "string" == typeof a[0] && a[0].includes("%c"),
          d = u && a.shift();
        let m;
        if (
          ((m = t
            ? [
                `%c${c}%c:${u ? " %c" + d : ""}`,
                `color: ${o ? "black" : "white"}; background: rgb(${s.join(",")}); padding: 0 1ch`,
                "color: transparent; margin-right: -1ch",
                ...(u ? [""] : []),
                ...a,
              ]
            : a),
          r)
        )
          console.groupCollapsed(...m),
            console.trace("Callstack"),
            console.groupEnd();
        else
          switch (e) {
            case Ss.Debug:
            case Ss.Info:
              console.log(...m);
              break;
            case Ss.Warning:
              console.warn(...m);
              break;
            case Ss.Error:
              console.clogerror
                ? console.clogerror(3, ...m)
                : console.error(...m);
          }
      }
      (Cs.k_EnabledLogNames_StorageKey = "EnabledWebLogs"),
        (Cs.k_IncludeBacktraceInLog_StorageKey = "IncludeBacktraceInLog"),
        (Cs.s_Singleton = null);
      const Es = () => Cs.Get().LogNames.slice().sort(),
        Is = (e, t) => {
          Cs.Get().IsLogName(e)
            ? Cs.Get().SetDebugLogEnabled(e, t)
            : console.warn(`No log named "${e}", available logs:`, Es());
        };
      (window.DebugLogEnable = (...e) => e.forEach((e) => Is(e, !0))),
        (window.DebugLogDisable = (...e) => e.forEach((e) => Is(e, !1))),
        (window.DebugLogEnableAll = () => Cs.Get().SetAllDebugLogsEnabled(!0)),
        (window.DebugLogDisableAll = () => Cs.Get().SetAllDebugLogsEnabled(!1)),
        (window.DebugLogEnableBacktrace = () =>
          Cs.Get().SetIncludeBacktraceInLog(!0)),
        (window.DebugLogDisableBacktrace = () =>
          Cs.Get().SetIncludeBacktraceInLog(!1)),
        (window.DebugLogNames = Es),
        (window.EnableSteamConsole = (e = !0) =>
          Cs.Get().SetDebugLogEnabled("SteamClient", e));
      const Rs = new ws("GamepadEvents").Debug;
      function Ts(e, t, r) {
        void 0 === r &&
          (r = [
            e.onButtonDown,
            e.onButtonUp,
            e.onOKButton,
            e.onCancelButton,
            e.onSecondaryButton,
            e.onOptionsButton,
            e.onMenuButton,
            e.onGamepadDirection,
            e.onGamepadFocus,
            e.onGamepadBlur,
          ]),
          s.useLayoutEffect(() => {
            let r = t.current;
            const n = [];
            return (
              r &&
                (e.onButtonDown &&
                  n.push(
                    (function (e, t) {
                      return ms(e, "vgp_onbuttondown", t);
                    })(r, e.onButtonDown),
                  ),
                e.onButtonUp &&
                  n.push(
                    (function (e, t) {
                      return ms(e, "vgp_onbuttonup", t);
                    })(r, e.onButtonUp),
                  ),
                e.onOKButton && n.push(_s(r, e.onOKButton)),
                e.onCancelButton &&
                  n.push(
                    (function (e, t) {
                      return ms(e, "vgp_oncancel", bs(t));
                    })(r, e.onCancelButton),
                  ),
                e.onSecondaryButton &&
                  n.push(
                    (function (e, t) {
                      return ms(e, "vgp_onsecondaryaction", bs(t));
                    })(r, e.onSecondaryButton),
                  ),
                e.onOptionsButton &&
                  n.push(
                    (function (e, t) {
                      return ms(e, "vgp_onoptions", bs(t));
                    })(r, e.onOptionsButton),
                  ),
                e.onMenuButton &&
                  n.push(
                    (function (e, t) {
                      return ms(e, "vgp_onmenu", bs(t));
                    })(r, e.onMenuButton),
                  ),
                e.onGamepadDirection && n.push(hs(r, e.onGamepadDirection)),
                e.onGamepadFocus &&
                  n.push(
                    (function (e, t) {
                      return ms(e, "vgp_onfocus", t);
                    })(r, e.onGamepadFocus),
                  ),
                e.onGamepadBlur && n.push(ps(r, e.onGamepadBlur))),
              () => n.forEach((e) => e())
            );
          }, r);
      }
      function Ms(e) {
        return e.stopPropagation(), !1;
      }
      class Ds {
        constructor(e) {
          this.m_root = e;
        }
        static SerializeNavState(e, t = !0, r = !0) {
          return {
            root: Ds.SerializeNavNode(e, t, r),
            bHadFocus: e.BFocusWithin(),
          };
        }
        static SerializeNavNode(e, t = !0, r = !0) {
          let n = null;
          const [i, a] = e.GetChildren();
          return (
            i.length &&
              -1 != a &&
              t &&
              (n = i.map((e, t) => Ds.SerializeNavNode(e, t == a || r, r))),
            { sNavKey: e.NavKey, iActiveChild: a, rgChildren: n }
          );
        }
        static RestoreSerializedNavState(e, t, r = 0) {
          const { root: n, bHadFocus: i } = t;
          e.Tree.Controller.RestoreHistoryTransaction(() => {
            Ds.RestoreSerializedNavNode(e, n),
              (1 == r || (0 == r && i)) && e.BTakeFocus(ss.APPLICATION);
          });
        }
        static RestoreSerializedNavNode(e, t) {
          var r;
          const { sNavKey: n, iActiveChild: i, rgChildren: a } = t;
          if (
            (n && c(n == e.NavKey, "navkey mismatch"),
            e.SetActiveChild(i),
            a && a.length)
          ) {
            const [t] = e.GetChildren();
            let n = new Map();
            t.forEach((e) => {
              e.NavKey && n.set(e.NavKey, e);
            });
            for (const e of a) {
              if (!e.sNavKey) continue;
              const t = n.get(e.sNavKey);
              t && Ds.RestoreSerializedNavNode(t, e);
            }
            if (
              -1 != i &&
              (null === (r = a[i]) || void 0 === r ? void 0 : r.sNavKey)
            ) {
              const r = n.get(a[i].sNavKey);
              r && e.SetActiveChild(t.indexOf(r));
            }
            let s = 0,
              o = 0;
            for (; s < t.length && o < a.length; ) {
              for (; s < t.length && t[s].NavKey; ) s++;
              for (; o < a.length && a[o].sNavKey; ) o++;
              if (s >= t.length || o >= a.length) break;
              Ds.RestoreSerializedNavNode(t[s], a[o]), s++, o++;
            }
          }
        }
      }
      class As extends Ds {
        constructor() {
          super(...arguments), (this.m_rgHistory = []);
        }
        PushState() {
          this.m_rgHistory.push(Ds.SerializeNavState(this.m_root));
        }
        PopState(e = 0) {
          this.m_rgHistory.length &&
            Ds.RestoreSerializedNavState(
              this.m_root,
              this.m_rgHistory.pop(),
              e,
            );
        }
      }
      class Os extends Ds {
        constructor() {
          super(...arguments), (this.m_mapHistory = new Map());
        }
        SaveState(e) {
          this.m_mapHistory.set(e, Ds.SerializeNavState(this.m_root));
        }
        RestoreState(e, t = 0) {
          const r = this.m_mapHistory.get(e);
          return (
            !!r &&
            (console.log(`Restoring history for state ${e}`),
            Ds.RestoreSerializedNavState(this.m_root, r, t),
            !0)
          );
        }
      }
      const Fs = { x: "y", y: "x" };
      function Ls(e, t) {
        return e.x * t.x + e.y * t.y;
      }
      function ks(e, t) {
        return { x: t.x - e.x, y: t.y - e.y };
      }
      function Ns(e, t, r) {
        const n = [],
          [i, a] = e.GetChildren(),
          s = e.GetActiveChild();
        let o;
        const l = s ? s.Element.getBoundingClientRect() : null;
        if (s) {
          const e = xs(s, t, r);
          if (
            e &&
            !e.offScreen &&
            ((o = Ps(s, e, e.overlap, r)), o && !o.visibility.offScreen)
          )
            return o;
          e && n.push({ child: s, visibility: e });
        }
        const c = r || l;
        for (let e = 0; e < i.length; e++) {
          const r = i[e];
          if (r == s) continue;
          const a = xs(r, t, c);
          a && n.push({ child: r, visibility: a });
        }
        let u;
        n.sort(Gs);
        for (const e of n) {
          const { child: r, visibility: n } = e;
          if (n.offScreen && u) {
            if (!u.visibility.offScreen) break;
            if (n.distance > u.visibility.distance) break;
          }
          const i = r == s ? o : Ps(r, n, n.overlap || t, c);
          i && (!u || Gs(i, u) < 0) && (u = i);
        }
        return u;
      }
      function Ps(e, t, r, n) {
        switch (e.GetFocusable()) {
          case "none":
            return null;
          case "children":
            return Ns(e, t.overlap || r, n);
          case "self":
            return { child: e, visibility: t };
        }
      }
      function Gs(e, t) {
        const r = e.visibility,
          n = t.visibility;
        return r.offScreen
          ? n.offScreen
            ? r.distance - n.distance
            : 1
          : n.offScreen
            ? -1
            : r.distance - n.distance;
      }
      function xs(e, t, r) {
        const n = e.Element.getBoundingClientRect(),
          i = e.GetFocusable();
        let a;
        if ("none" == i) return null;
        if ("self" == i) {
          if (
            n.top < t.top ||
            n.right > t.right ||
            n.bottom > t.bottom ||
            n.left < t.left
          ) {
            const e = n.top + n.height / 2,
              r = n.left + n.width / 2;
            if (e < t.top) return { offScreen: "top", distance: t.top - e };
            if (r > t.right)
              return { offScreen: "right", distance: r - t.right };
            if (e > t.bottom)
              return { offScreen: "bottom", distance: e - t.bottom };
            if (r < t.left) return { offScreen: "left", distance: t.left - r };
          }
          r &&
            (a = (function (e, t) {
              let r = 0,
                n = 0;
              return (
                t.right < e.left
                  ? (r = e.left - t.right)
                  : t.left > e.right && (r = t.left - e.right),
                t.bottom < e.top
                  ? (n = e.top - t.bottom)
                  : t.top > e.bottom && (n = t.top - e.bottom),
                Math.sqrt(r * r + n * n)
              );
            })(n, r));
        } else if ("children" == i) {
          const r = e.Element;
          if (r.scrollHeight > n.height || r.scrollWidth > n.width) {
            const e = r.ownerDocument.defaultView.getComputedStyle(r);
            if ("visible" == e.overflowX || "visible" == e.overflowY)
              return { overlap: t };
          }
          if (n.bottom < t.top)
            return { offScreen: "top", distance: t.top - n.bottom };
          if (n.left > t.right)
            return { offScreen: "right", distance: n.left - t.right };
          if (n.top > t.bottom)
            return { offScreen: "bottom", distance: n.top - t.bottom };
          if (n.right < t.left)
            return { offScreen: "left", distance: t.left - n.right };
        }
        return {
          overlap: {
            top: Math.max(n.top, t.top),
            right: Math.min(n.right, t.right),
            bottom: Math.min(n.bottom, t.bottom),
            left: Math.max(n.left, t.left),
          },
          distance: a,
        };
      }
      class Us {
        constructor(e, t) {
          (this.m_bActive = !1),
            (this.m_fnBoundAnimationFunc = void 0),
            (this.m_window = e),
            (this.m_options = Object.assign({ timing: "sine" }, t));
        }
        Start() {
          let e;
          switch (
            ((this.m_msStart = performance.now()),
            (this.m_msEnd = this.m_msStart + this.m_options.msDuration),
            this.m_options.timing)
          ) {
            case "linear":
              e = function (e) {
                return e;
              };
              break;
            case "cubic-in-out":
              e = function (e) {
                return e < 0.5
                  ? 4 * e * e * e
                  : (e - 1) * (2 * e - 2) * (2 * e - 2) + 1;
              };
              break;
            default:
              e = function (e) {
                return 0.5 - Math.cos(e * Math.PI) / 2;
              };
          }
          (this.m_bActive = !0),
            (this.m_fnBoundAnimationFunc = this.OnInterval.bind(this, e)),
            this.m_window.requestAnimationFrame(this.m_fnBoundAnimationFunc);
        }
        BIsActive() {
          return this.m_bActive;
        }
        End() {
          if (this.m_bActive) {
            try {
              this.Update(1);
            } catch (e) {}
            this.ClearInterval(), this.FireOnComplete();
          }
        }
        FireOnComplete() {
          this.m_options.onComplete && this.m_options.onComplete();
        }
        Cancel() {
          this.m_bActive = !1;
        }
        OnInterval(e) {
          if (!this.m_bActive) return;
          let t = performance.now() - this.m_msStart;
          if (t >= this.m_options.msDuration) return void this.End();
          let r = t / this.m_options.msDuration;
          try {
            this.Update(e(r));
          } catch (e) {}
          this.m_window.requestAnimationFrame(this.m_fnBoundAnimationFunc);
        }
        ClearInterval() {
          this.m_bActive = !1;
        }
      }
      class zs extends Us {
        constructor(e, t, r) {
          super(e, t), (this.m_fnCallback = r);
        }
        Update(e) {
          this.m_fnCallback(e);
        }
      }
      class Ws extends Us {
        constructor(e, t, r) {
          super("ownerDocument" in e ? Pt(e) : e, r),
            (this.m_props = {}),
            (this.m_object = e),
            (this.m_propTargets = t);
        }
        Start() {
          this.m_props = {};
          for (let e in this.m_propTargets) {
            let t = parseFloat(this.m_object[e]) || 0,
              r = this.m_propTargets[e];
            t != r && (this.m_props[e] = { start: t, end: r });
          }
          super.Start();
        }
        Update(e) {
          for (let t in this.m_props) {
            let r = this.m_props[t],
              n = r.start + (r.end - r.start) * e;
            this.m_object[t] = n;
          }
        }
      }
      const js = new ws("ScrollSnap").Debug;
      let Vs = !1;
      let Hs;
      function qs(e) {
        if (!e) return { left: 0, top: 0, right: 0, bottom: 0 };
        if (!("ownerDocument" in e))
          return {
            left: 0,
            right: e.innerWidth,
            top: 0,
            bottom: e.innerHeight,
          };
        let t = 0,
          r = 0,
          n = e;
        for (; n; ) {
          if (((t += n.offsetTop), (r += n.offsetLeft), "ownerDocument" in n)) {
            if ("fixed" === window.getComputedStyle(n).position) break;
          }
          n = n.offsetParent;
        }
        for (n = null == e ? void 0 : e.parentElement; n; ) {
          const { scrollTop: e, scrollLeft: i } = no(n);
          if (((t -= e), (r -= i), "ownerDocument" in n)) {
            if ("fixed" === window.getComputedStyle(n).position) break;
          }
          n = n.parentElement;
        }
        return {
          left: r,
          top: t,
          right: r + e.offsetWidth,
          bottom: t + e.offsetHeight,
        };
      }
      function Ks(e, t) {
        return "x" == t
          ? [e.left, e.right, e.right - e.left]
          : [e.top, e.bottom, e.bottom - e.top];
      }
      function $s(e, t, r, n) {
        let [i, a, s] = Ks(e, n),
          [o, l, c] = Ks(t, n),
          [u, d] = Ks(r, n);
        return i < o && a > l
          ? 0
          : (i < o && s <= c) || (a > l && s > c)
            ? i - o - u
            : (i < o && s > c) || (a > l && s <= c)
              ? a - l + d
              : 0;
      }
      function Ys(e) {
        return "auto" == e
          ? 0
          : e.endsWith("px")
            ? parseInt(e)
            : (console.log("Unsupported length", e), 0);
      }
      function Qs(e) {
        if (!("ownerDocument" in e))
          return { left: 0, right: 0, top: 0, bottom: 0 };
        const t = e.ownerDocument.defaultView.getComputedStyle(e);
        return {
          left: Ys(t.scrollMarginLeft),
          right: Ys(t.scrollMarginRight),
          top: Ys(t.scrollMarginTop),
          bottom: Ys(t.scrollMarginBottom),
        };
      }
      function Xs(e, t) {
        let r = (function (e) {
          let t;
          return (
            (t =
              "ownerDocument" in e
                ? e.ownerDocument.defaultView.getComputedStyle(e)
                : e.document.defaultView.getComputedStyle(
                    window.document.documentElement,
                  )),
            {
              left: Ys(t.scrollPaddingLeft),
              right: Ys(t.scrollPaddingRight),
              top: Ys(t.scrollPaddingTop),
              bottom: Ys(t.scrollPaddingBottom),
            }
          );
        })(e);
        return {
          left: Math.max(0, t.left + r.left),
          right: Math.max(0, t.right - r.right),
          top: Math.max(0, t.top + r.top),
          bottom: Math.max(0, t.bottom - r.bottom),
        };
      }
      function Zs(e) {
        return e > -1 && e < 1;
      }
      function Js(e, t, r, n, i) {
        js(
          "----------------------------------------------------------------------------------",
        ),
          js("Scrolling Into View:", t);
        let a = [],
          s = t,
          o = qs(t),
          l = null != i ? i : Number.MAX_VALUE;
        for (; s; ) {
          let e = xt(s);
          e || (e = Pt(s));
          let t = Qs(s),
            r = Xs(e, qs(e)),
            c = ro(e),
            d = { element: e, left: 0, top: 0 };
          if (
            (js(
              "Checking scroll div",
              e,
              `scroll y:${c.scrollTop} of ${c.MaxScrollTop()}, x:${c.scrollLeft} of ${c.MaxScrollLeft()}, adjusted =>`,
              r,
              "target => ",
              o,
            ),
            (n && "y" != n) ||
              !Ut(e, "y") ||
              ((d.top = $s(o, r, t, "y")),
              (d.top = u(d.top, -c.scrollTop, c.MaxScrollTop() - c.scrollTop)),
              i &&
                ((d.top = Math.min(l, Math.abs(d.top)) * (d.top < 0 ? -1 : 1)),
                (l -= Math.abs(d.top))),
              js(`- checked y: ${d.top}`)),
            (n && "x" != n) ||
              !Ut(e, "x") ||
              ((d.left = $s(o, r, t, "x")),
              (d.left = u(
                d.left,
                -c.scrollLeft,
                c.MaxScrollLeft() - c.scrollLeft,
              )),
              i &&
                ((d.left =
                  Math.min(l, Math.abs(d.left)) * (d.left < 0 ? -1 : 1)),
                (l -= Math.abs(d.left))),
              js(`- checked x: ${d.left}`)),
            a.push(d),
            i && !l)
          )
            break;
          if (!("ownerDocument" in e)) break;
          const m = window.getComputedStyle(e);
          if ("fixed" === m.position || "sticky" === m.position) break;
          (s = e),
            (o = {
              top: o.top - d.top,
              right: o.right - d.left,
              bottom: o.bottom - d.top,
              left: o.left - d.left,
            });
        }
        let c = !1;
        for (let e of a) {
          if (Zs(e.left) && Zs(e.top)) continue;
          let t = ro(e.element),
            n = t.scrollTop + e.top,
            i = t.scrollLeft + e.left;
          (i = u(i, 0, t.MaxScrollLeft())),
            (n = u(n, 0, t.MaxScrollTop())),
            (Zs(t.scrollLeft - i) && Zs(t.scrollTop - n)) ||
              (t.scrollTo({ left: i, top: n, behavior: r }),
              c || (js("Scrolling:"), (c = !0)),
              js(
                `- ${e.top},${e.left} => ${n}, ${i}, behavior: ${r}`,
                e.element,
              ));
        }
      }
      class eo {
        constructor(e) {
          (this.m_scrollTopTarget = void 0),
            (this.m_scrollLeftTarget = void 0),
            (this.m_animation = void 0),
            "ownerDocument" in e
              ? ((this.m_element = e),
                (this.m_fnOriginalScrollTo = e.scrollTo),
                (this.m_element.scrollTo = (e, t) => {
                  "number" == typeof e
                    ? this.scrollTo({ left: e, top: t })
                    : this.scrollTo(e);
                }))
              : ((this.m_window = e),
                (this.m_element = e.document.documentElement));
        }
        ResetScrollState() {
          (this.m_scrollTopTarget = void 0),
            (this.m_scrollLeftTarget = void 0),
            this.m_window || (this.m_element.style.scrollSnapType = "");
        }
        scrollTo(e) {
          var t, r;
          if ("smooth" != e.behavior)
            this.m_animation &&
              (this.m_animation.Cancel(), (this.m_animation = void 0)),
              this.m_window
                ? this.m_window.scrollTo(e)
                : this.m_fnOriginalScrollTo.apply(this.m_element, [e]),
              this.ResetScrollState();
          else {
            const n =
                null !== (t = e.left) && void 0 !== t ? t : this.scrollLeft,
              i = null !== (r = e.top) && void 0 !== r ? r : this.scrollTop;
            let a = "sine";
            this.m_animation && (this.m_animation.Cancel(), (a = "linear"));
            if (
              Math.max(
                Math.abs(this.currentScrollTop - i),
                Math.abs(this.currentScrollLeft - n),
              ) > 0
            ) {
              const e = {
                msDuration: 200,
                timing: a,
                onComplete: this.ResetScrollState,
              };
              if (this.m_window) {
                const t = this.currentScrollLeft,
                  r = this.currentScrollTop;
                this.m_animation = new zs(this.m_window, e, (e) => {
                  this.m_window.scrollTo({
                    left: t + (n - t) * e,
                    top: r + (i - r) * e,
                    behavior: "auto",
                  });
                });
              } else
                (this.m_element.style.scrollSnapType = "initial"),
                  (this.m_animation = new Ws(
                    this.m_element,
                    { scrollTop: i, scrollLeft: n },
                    e,
                  ));
              (this.m_scrollLeftTarget = n),
                (this.m_scrollTopTarget = i),
                this.m_animation.Start();
            }
          }
        }
        get clientWidth() {
          return this.m_window
            ? this.m_window.innerWidth
            : this.m_element.clientWidth;
        }
        get clientHeight() {
          return this.m_window
            ? this.m_window.innerHeight
            : this.m_element.clientHeight;
        }
        get currentScrollLeft() {
          return this.m_window
            ? this.m_window.scrollX
            : this.m_element.scrollLeft;
        }
        get currentScrollTop() {
          return this.m_window
            ? this.m_window.scrollY
            : this.m_element.scrollTop;
        }
        get scrollLeft() {
          var e;
          return null !== (e = this.m_scrollLeftTarget) && void 0 !== e
            ? e
            : this.currentScrollLeft;
        }
        get scrollTop() {
          var e;
          return null !== (e = this.m_scrollTopTarget) && void 0 !== e
            ? e
            : this.currentScrollTop;
        }
        get scrollWidth() {
          return this.m_element.scrollWidth;
        }
        get scrollHeight() {
          return this.m_element.scrollHeight;
        }
        MaxScrollTop() {
          return this.scrollHeight - this.clientHeight;
        }
        MaxScrollLeft() {
          return this.scrollWidth - this.clientWidth;
        }
      }
      (0, i.gn)([ye], eo.prototype, "ResetScrollState", null);
      const to = new WeakMap();
      function ro(e) {
        let t = to.get(e);
        return t || ((t = new eo(e)), to.set(e, t)), t;
      }
      function no(e) {
        const t = to.get(e);
        return t
          ? { scrollLeft: t.scrollLeft, scrollTop: t.scrollTop }
          : { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop };
      }
      const io = new ws("FocusNavigationMovement").Debug;
      var ao, so, oo, lo;
      !(function (e) {
        (e[(e.NONE = 0)] = "NONE"),
          (e[(e.COLUMN = 1)] = "COLUMN"),
          (e[(e.ROW = 2)] = "ROW"),
          (e[(e.COLUMN_REVERSE = 3)] = "COLUMN_REVERSE"),
          (e[(e.ROW_REVERSE = 4)] = "ROW_REVERSE"),
          (e[(e.GRID = 5)] = "GRID"),
          (e[(e.GEOMETRIC = 6)] = "GEOMETRIC");
      })(ao || (ao = {})),
        (function (e) {
          (e[(e.FIRST = 0)] = "FIRST"),
            (e[(e.LAST = 1)] = "LAST"),
            (e[(e.MAINTAIN_X = 2)] = "MAINTAIN_X"),
            (e[(e.MAINTAIN_Y = 3)] = "MAINTAIN_Y"),
            (e[(e.PREFERRED_CHILD = 4)] = "PREFERRED_CHILD");
        })(so || (so = {})),
        (function (e) {
          (e[(e.Standard = 0)] = "Standard"),
            (e[(e.NoTransform = 1)] = "NoTransform"),
            (e[(e.NoTransformSparseContent = 2)] = "NoTransformSparseContent");
        })(oo || (oo = {})),
        (function (e) {
          (e[(e.INVALID = 0)] = "INVALID"),
            (e[(e.FORWARD = 1)] = "FORWARD"),
            (e[(e.BACKWARD = 2)] = "BACKWARD");
        })(lo || (lo = {}));
      class co {
        constructor(e, t, r) {
          (this.m_rgChildren = []),
            (this.m_iLastActiveChildIndex = -1),
            (this.m_bChildrenSorted = !1),
            (this.m_bAutoFocusChild = !1),
            (this.m_bMounted = !1),
            (this.m_bFocused = !1),
            (this.m_FocusCallbackList = new Se()),
            (this.m_bFocusWithin = !1),
            (this.m_FocusWithinCallbackList = new Se()),
            (this.m_ActionDescriptionsChangedCallbackList = new Se()),
            (this.m_RetainFocusParent = null),
            (this.m_rgNavigationHandlers = []),
            (this.m_rgFocusHandlers = []),
            (this.m_Tree = e),
            (this.m_Parent = t),
            (this.m_FocusRing = r),
            (this.m_nDepth = t ? t.m_nDepth + 1 : 0);
        }
        CreateHandle() {
          return new Io(this);
        }
        get Tree() {
          return this.m_Tree;
        }
        get NavKey() {
          var e, t;
          return (
            null === (e = this.m_Properties) || void 0 === e
              ? void 0
              : e.navKey
          )
            ? this.m_Properties.navKey
            : (null === (t = this.m_element) || void 0 === t ? void 0 : t.id)
              ? this.m_element.id
              : void 0;
        }
        get Element() {
          return this.m_element;
        }
        get Parent() {
          return this.m_Parent;
        }
        SetProperties(e) {
          var t, r, n, i, a;
          const s =
            ((o =
              null === (t = this.m_Properties) || void 0 === t
                ? void 0
                : t.actionDescriptionMap),
            (l = null == e ? void 0 : e.actionDescriptionMap),
            !(null == o || null == l
              ? o === l
              : "object" == typeof o &&
                "object" == typeof l &&
                Object.keys(o).length === Object.keys(l).length &&
                Object.keys(o).every(
                  (e) => l.hasOwnProperty(e) && o[e] === l[e],
                )));
          var o, l;
          const c =
              null === (r = this.m_Properties) || void 0 === r
                ? void 0
                : r.retainFocus,
            u =
              null === (n = this.m_Properties) || void 0 === n
                ? void 0
                : n.noFocusRing;
          (this.m_Properties = e || {}),
            s && this.m_ActionDescriptionsChangedCallbackList.Dispatch(),
            this.m_Properties.retainFocus && !c
              ? this.PropagateRetainFocusParentToChildren(this)
              : !this.m_Properties.retainFocus &&
                c &&
                this.PropagateRetainFocusParentToChildren(
                  this.m_RetainFocusParent,
                ),
            this.m_Properties.noFocusRing && !u && this.BHasFocus()
              ? null === (i = this.m_FocusRing) ||
                void 0 === i ||
                i.OnBlur(ss.APPLICATION, this, this)
              : !this.m_Properties.noFocusRing &&
                u &&
                this.BHasFocus() &&
                (null === (a = this.m_FocusRing) ||
                  void 0 === a ||
                  a.OnFocus(ss.APPLICATION, this, this)),
            this.m_element && this.RegisterDOMEvents();
        }
        BWantsAutoFocus() {
          return this.m_Properties.autoFocus || this.m_bAutoFocusChild;
        }
        BWantsPreferredFocus() {
          return this.m_Properties.preferredFocus;
        }
        BWantsFocusRing() {
          return (
            !this.m_Properties.noFocusRing ||
            this.m_Tree.Controller.GetShowDebugFocusRing().Value
          );
        }
        GetBoundingRect() {
          return this.m_element && this.m_element.getBoundingClientRect();
        }
        SetHasFocus(e) {
          e != this.m_bFocused &&
            ((this.m_bFocused = e),
            this.m_FocusCallbackList.Dispatch(this.m_bFocused));
        }
        SetFocusWithin(e) {
          var t;
          e != this.m_bFocusWithin &&
            ((this.m_bFocusWithin = e),
            this.m_FocusWithinCallbackList.Dispatch(this.m_bFocusWithin),
            (null === (t = this.m_Properties) || void 0 === t
              ? void 0
              : t.onFocusWithin) &&
              this.m_Properties.onFocusWithin(this.m_bFocusWithin));
        }
        BHasFocus() {
          return this.m_bFocused;
        }
        BFocusWithin() {
          return this.m_bFocusWithin;
        }
        get FocusCallbackList() {
          return this.m_FocusCallbackList;
        }
        get FocusWithinCallbackList() {
          return this.m_FocusWithinCallbackList;
        }
        ForceMeasureFocusRing() {
          var e;
          null === (e = this.m_FocusRing) ||
            void 0 === e ||
            e.OnForceMeasureFocusRing();
        }
        get ActionDescriptionChangedCallbackList() {
          return this.m_ActionDescriptionsChangedCallbackList;
        }
        GetActiveActionDescriptions() {
          return this.BuildConsolidatedActionDescriptionMap({});
        }
        BuildConsolidatedActionDescriptionMap(e) {
          var t;
          const r =
            null === (t = this.m_Properties) || void 0 === t
              ? void 0
              : t.actionDescriptionMap;
          if (r)
            for (const t in r) {
              const n = t;
              void 0 === e[n] && (e[n] = r[n]);
            }
          return this.m_Parent
            ? this.m_Parent.BuildConsolidatedActionDescriptionMap(e)
            : e;
        }
        AddChild(e) {
          var t;
          this.m_rgChildren.push(e),
            (this.m_bChildrenSorted = !1),
            this.m_element && this.RegisterDOMEvents(),
            (
              null === (t = this.m_Properties) || void 0 === t
                ? void 0
                : t.retainFocus
            )
              ? e.SetRetainFocusParent(this)
              : this.m_RetainFocusParent &&
                e.SetRetainFocusParent(this.m_RetainFocusParent),
            this.m_bMounted &&
              e.BFocusWithin() &&
              (c(
                !this.m_ActiveChild && this.BFocusWithin(),
                "Invalid focus state in AddChild",
              ),
              this.SetActiveChild(this.m_rgChildren.length - 1));
        }
        OnMount(e) {
          (this.m_element = e),
            this.m_Parent
              ? this.m_Parent.AddChild(this)
              : c(this == this.m_Tree.Root, "Only root should have no parent"),
            (this.m_bMounted = !0),
            this.RegisterDOMEvents();
          const t =
              this.m_RetainFocusParent && this.m_RetainFocusParent.BHasFocus(),
            r = this.m_Properties.autoFocus || t;
          if (this.BWantsAutoFocus() || r) {
            let e = -1;
            this.m_rgChildren.length &&
              (this.EnsureChildrenSorted(),
              (e = this.m_rgChildren.findIndex((e) => e.BWantsAutoFocus()))),
              (this.m_Properties.autoFocus || r || -1 !== e) &&
                (this.SetActiveChild(e),
                !this.m_Parent || this.m_Parent.m_element
                  ? t
                    ? this.m_Tree.DeferredFocus.BHasQueuedFocusNode() ||
                      this.m_Tree.DeferredFocus.RequestFocus(
                        this.m_RetainFocusParent,
                        { bFocusDescendant: !0 },
                      )
                    : this.Tree.DeferredFocus.RequestFocus(this)
                  : (this.m_Parent.m_bAutoFocusChild = !0));
          } else if (this.m_rgChildren.length) {
            const e = this.m_rgChildren.findIndex((e) => e.BFocusWithin());
            -1 != e &&
              (this.SetActiveChild(e),
              c(
                this.m_bFocusWithin,
                "Child has focus, we should be m_bFocusWithin",
              ));
          }
        }
        DEV_SetDebugPropsOnElement() {}
        OnUnmount() {
          var e;
          (null === (e = this.m_Properties) || void 0 === e
            ? void 0
            : e.retainFocus) &&
            this.PropagateRetainFocusParentToChildren(this.m_RetainFocusParent),
            (this.m_bMounted = !1);
          const t = this.Tree.DeferredFocus.BIsQueuedFocusNode(this);
          (this.m_bFocused || t) &&
            (io(
              `The focused node is unmounting, ${this.m_RetainFocusParent ? "will transfer to retain focus ancestor" : "will blur"}.`,
            ),
            t && this.Tree.DeferredFocus.RequestFocus(void 0),
            this.m_RetainFocusParent
              ? this.m_RetainFocusParent.OnFocusedDecendantRemoved(this)
              : this.m_bFocused &&
                this.m_Tree.TransferFocus(ss.APPLICATION, null)),
            this.UnregisterDOMEvents(),
            this.m_Parent
              ? this.m_Parent.RemoveChild(this)
              : c(this == this.m_Tree.Root, "Only root should have no parent");
        }
        RegisterDOMEvents() {
          !this.m_rgNavigationHandlers.length &&
            (this.m_rgChildren.length >= 2 ||
              this.m_Properties.layout != ao.NONE ||
              this.m_Properties.onMoveUp ||
              this.m_Properties.onMoveRight ||
              this.m_Properties.onMoveDown ||
              this.m_Properties.onMoveLeft) &&
            this.m_rgNavigationHandlers.push(
              hs(this.m_element, this.OnNavigationEvent),
            ),
            (this.m_Properties.focusable || 0 == this.m_rgChildren.length) &&
              (this.m_rgFocusHandlers.length ||
                (this.m_element.addEventListener("focus", this.OnDOMFocus),
                this.m_element.addEventListener("blur", this.OnDOMBlur),
                this.m_rgFocusHandlers.push(() => {
                  this.m_element.removeEventListener("focus", this.OnDOMFocus),
                    this.m_element.removeEventListener("blur", this.OnDOMBlur);
                })));
        }
        RemoveChild(e) {
          let t = this.m_rgChildren.indexOf(e);
          c(-1 !== t, "Child was not found to remove"),
            -1 !== t &&
              (this.m_ActiveChild == e && (this.m_ActiveChild = void 0),
              this.m_rgChildren.splice(t, 1));
        }
        UnregisterDOMEvents() {
          this.m_rgNavigationHandlers.forEach((e) => e()),
            (this.m_rgNavigationHandlers = []),
            this.m_rgFocusHandlers.forEach((e) => e()),
            (this.m_rgFocusHandlers = []);
        }
        GetActiveDescendant() {
          const e = this.GetActiveChild();
          return e ? e.GetActiveDescendant() : this;
        }
        IsValidChildIndex(e) {
          return e >= 0 && e < this.m_rgChildren.length;
        }
        GetActiveChild() {
          return this.m_ActiveChild
            ? this.m_ActiveChild
            : (this.EnsureChildrenSorted(),
              this.IsValidChildIndex(this.m_iLastActiveChildIndex)
                ? this.m_rgChildren[this.m_iLastActiveChildIndex]
                : null);
        }
        GetActiveChildIndex() {
          if (this.m_ActiveChild) {
            if (
              this.IsValidChildIndex(this.m_iLastActiveChildIndex) &&
              this.m_rgChildren[this.m_iLastActiveChildIndex] ==
                this.m_ActiveChild
            )
              return this.m_iLastActiveChildIndex;
            this.m_iLastActiveChildIndex = this.m_rgChildren.indexOf(
              this.m_ActiveChild,
            );
          }
          return this.m_iLastActiveChildIndex;
        }
        EnsureChildrenSorted(e = !1) {
          (this.m_bChildrenSorted && !e) ||
            (this.m_rgChildren.sort((e, t) => {
              const r = e.m_element,
                n = t.m_element;
              if (!r) return n ? 1 : 0;
              if (!n) return -1;
              const i = r.compareDocumentPosition(n);
              return i & Node.DOCUMENT_POSITION_PRECEDING
                ? 1
                : i & Node.DOCUMENT_POSITION_FOLLOWING
                  ? -1
                  : 0;
            }),
            this.m_ActiveChild &&
              (this.m_iLastActiveChildIndex = this.m_rgChildren.indexOf(
                this.m_ActiveChild,
              )),
            (this.m_bChildrenSorted = !0));
        }
        GetLastFocusElement() {
          const e = this.GetActiveChild();
          return e ? e.GetLastFocusElement() : this.m_element;
        }
        OnDOMFocus(e) {
          this.m_bFocused || this.m_Tree.TransferFocus(ss.BROWSER, this);
        }
        OnDOMBlur(e) {
          this.m_bFocused &&
            this.m_element.ownerDocument.hasFocus() &&
            this.m_Tree.TransferFocus(ss.BROWSER, null);
        }
        UpdateParentActiveChild() {
          this.m_Parent &&
            (this.m_Parent.SetActiveChild(this),
            this.m_Parent.UpdateParentActiveChild());
        }
        GetFocusable() {
          const {
            focusable: e,
            focusableIfNoChildren: t,
            childFocusDisabled: r,
            fnCanTakeFocus: n,
          } = this.m_Properties;
          return this.m_bMounted
            ? n && !n(this)
              ? "none"
              : e || (t && (r || 0 == this.m_rgChildren.length))
                ? "self"
                : !r && this.m_rgChildren.length
                  ? "children"
                  : "none"
            : "none";
        }
        BTakeFocus(e, t) {
          const r = this.FindFocusableNode(t);
          return this.InternalFocusDescendant(r, e, t);
        }
        FindFocusableNode(e, t) {
          switch (this.GetFocusable()) {
            case "none":
              return null;
            case "self":
              return this;
            case "children":
              return this.FindFocusableDescendant(e, t);
          }
        }
        BChildTakeFocus(e, t) {
          const r = this.FindFocusableDescendant(t);
          return this.InternalFocusDescendant(r, e, t);
        }
        BFocusFirstChild(e) {
          const t = this.FindNextFocusableChildInDirection(
            -1,
            lo.FORWARD,
            is.INVALID,
          );
          return this.InternalFocusDescendant(t, e);
        }
        BFocusLastChild(e) {
          const t = this.FindNextFocusableChildInDirection(
            this.m_rgChildren.length,
            lo.BACKWARD,
            is.INVALID,
          );
          return this.InternalFocusDescendant(t, e);
        }
        FindFocusableDescendant(e, t) {
          var r, n;
          const i = Ao(e),
            { focusableIfNoChildren: a, childFocusDisabled: s } =
              this.m_Properties;
          if (s) return null;
          if (this.m_rgChildren.length) {
            this.EnsureChildrenSorted();
            const { navEntryPreferPosition: s, resetNavOnEntry: o } =
              this.m_Properties;
            let l,
              c = this.GetActiveChildIndex();
            if ((o && void 0 !== e && (c = -1), !this.IsValidChildIndex(c))) {
              const e = this.GetLayout();
              c =
                c >= this.m_rgChildren.length ||
                e == ao.ROW_REVERSE ||
                e == ao.COLUMN_REVERSE ||
                s == so.LAST
                  ? this.m_rgChildren.length - 1
                  : 0;
            }
            if ((s == so.MAINTAIN_X || s == so.MAINTAIN_Y || t) && i) {
              let a, o;
              s == so.MAINTAIN_X ? (a = "x") : s == so.MAINTAIN_Y && (a = "y"),
                a == Fs[i] &&
                  (o =
                    null !==
                      (r = this.m_Tree.GetLastFocusedMovementRect(Fs[i])) &&
                    void 0 !== r
                      ? r
                      : null === (n = this.m_Tree.GetLastFocusedNode()) ||
                          void 0 === n
                        ? void 0
                        : n.GetBoundingRect()),
                io(
                  `Taking focus while preserving ${so[s]} preserved: ${a} movement: ${i}, node:`,
                  o || t,
                );
              const c = this.ComputeRelativeDirection(e, ao.GRID);
              if (o || t) {
                const r = c == lo.BACKWARD ? this.m_rgChildren.length - 1 : 0;
                l = this.FindClosestChildInNextAxiallyAlignedSet(
                  a || Fs[i],
                  c,
                  e,
                  o || t,
                  r,
                  this.m_rgChildren[r].GetBoundingRect(),
                );
              } else if (a != Fs[i]) {
                const t = c == lo.BACKWARD ? this.m_rgChildren.length : -1;
                l = this.FindNextFocusableChildInDirection(t, c, e);
              }
            } else if (s == so.PREFERRED_CHILD) {
              for (const t of this.m_rgChildren)
                if (
                  ((l = t.BWantsPreferredFocus() && t.FindFocusableNode(e)), l)
                )
                  return l;
            } else
              s == so.LAST &&
                (l = this.FindNextFocusableChildInDirection(
                  c + 1,
                  lo.BACKWARD,
                  e,
                ));
            return (
              l ||
                (l = this.FindNextFocusableChildInDirection(
                  c - 1,
                  lo.FORWARD,
                  e,
                )),
              l ||
                (l = this.FindNextFocusableChildInDirection(c, lo.BACKWARD, e)),
              l || (a ? this : null)
            );
          }
          return null;
        }
        BVisibleChildTakeFocus(e) {
          var t, r, n, i;
          const a =
              null !==
                (n =
                  null ===
                    (r =
                      null === (t = this.Element) || void 0 === t
                        ? void 0
                        : t.ownerDocument) || void 0 === r
                    ? void 0
                    : r.defaultView) && void 0 !== n
                ? n
                : window,
            s = Ns(this, {
              top: 0,
              left: 0,
              right: a.innerWidth,
              bottom: a.innerHeight,
            });
          return (
            io(
              `Focusing visible child, best child match is ${null === (i = null == s ? void 0 : s.child) || void 0 === i ? void 0 : i.Element.className} - ${JSON.stringify(null == s ? void 0 : s.visibility)}`,
            ),
            !!s && s.child.BTakeFocus(e)
          );
        }
        GetLayout() {
          if (this.m_Properties.layout) return this.m_Properties.layout;
          if (this.m_rgChildren.length < 2) return ao.NONE;
          return (function (e) {
            if (!e) return ao.NONE;
            const t = e.ownerDocument.defaultView,
              r = t.getComputedStyle(e);
            if ("flex" == r.display)
              switch (r.flexDirection) {
                case "row":
                  return "wrap" == r.flexWrap ? ao.GRID : ao.ROW;
                case "row-reverse":
                  return ao.ROW_REVERSE;
                case "column":
                  return ao.COLUMN;
                case "column-reverse":
                  return ao.COLUMN_REVERSE;
              }
            else {
              if ("grid" == r.display) return ao.GRID;
              if (e.childElementCount > 0) {
                const r = t.getComputedStyle(e.firstElementChild);
                if ("left" === r.float) return ao.ROW;
                if ("right" === r.float) return ao.ROW_REVERSE;
                if ("inline" === r.display || "inline-block" === r.display)
                  return ao.GRID;
              }
            }
            return ao.COLUMN;
          })(this.m_element);
        }
        OnNavigationEvent(e) {
          const t = e.detail.button;
          if (this.BTryInternalNavigation(t, e.detail.is_repeat)) return !0;
          const {
            onMoveUp: r,
            onMoveRight: n,
            onMoveDown: i,
            onMoveLeft: a,
          } = this.m_Properties;
          let s = !1;
          switch (t) {
            case is.DIR_UP:
              r && (s = r(e.detail, this));
              break;
            case is.DIR_RIGHT:
              n && (s = n(e.detail, this));
              break;
            case is.DIR_DOWN:
              i && (s = i(e.detail, this));
              break;
            case is.DIR_LEFT:
              a && (s = a(e.detail, this));
          }
          return s;
        }
        InternalFocusDescendant(e, t, r) {
          return !!e && (this.m_Tree.TransferFocus(t, e, Ao(r)), !0);
        }
        BTryInternalNavigation(e, t) {
          var r;
          const n = this.GetLayout();
          let i,
            a = this.ComputeRelativeDirection(e, n);
          if (
            (io(
              `Handling navigation event ${is[e]} - ${ao[n]} - ${lo[a]}`,
              this.m_element,
            ),
            a == lo.INVALID)
          )
            return !1;
          if (this.m_Properties.focusable && this.m_bFocused)
            return io("Skipping navigation within focused element"), !1;
          if ((this.EnsureChildrenSorted(!0), n == ao.GRID))
            i = this.FindNextFocusableChildInGrid(
              this.GetActiveChildIndex(),
              a,
              e,
            );
          else {
            let t = this.GetActiveChildIndex();
            this.IsValidChildIndex(t) ||
              (t = a == lo.FORWARD ? -1 : this.m_rgChildren.length),
              (i = this.FindNextFocusableChildInDirection(t, a, e));
          }
          if (i) {
            const n = Ao(e);
            if (this.GetScrollIntoViewType() == oo.NoTransformSparseContent) {
              const e =
                  null === (r = i.Element) || void 0 === r
                    ? void 0
                    : r.ownerDocument.defaultView,
                a =
                  ("y" == n ? e.innerHeight : e.innerWidth) / (t ? 4.5 : 3.33),
                s = qs(i.Element);
              if (
                (s.top > e.innerHeight && s.bottom > e.innerHeight + a) ||
                (s.bottom < 0 && s.top < -a) ||
                (s.left > e.innerWidth && s.right > e.innerWidth + a) ||
                (s.right < 0 && s.left < -a)
              )
                return (
                  io(`Element too far away, scrolling ${a} on ${n} axis `),
                  Js(i.Element, i.Element, "smooth", n, a),
                  !0
                );
            }
            return this.m_Tree.TransferFocus(ss.GAMEPAD, i, n), !0;
          }
          return !1;
        }
        GetScrollIntoViewType() {
          var e;
          return (
            null === (e = this.m_Properties) || void 0 === e
              ? void 0
              : e.scrollIntoViewType
          )
            ? this.m_Properties.scrollIntoViewType
            : this.m_Parent
              ? this.m_Parent.GetScrollIntoViewType()
              : oo.Standard;
        }
        GetRelativeDirection(e) {
          return this.ComputeRelativeDirection(e, this.GetLayout());
        }
        ComputeRelativeDirection(e, t) {
          let r = t == ao.ROW_REVERSE || t == ao.COLUMN_REVERSE;
          switch (t) {
            case ao.ROW:
            case ao.ROW_REVERSE:
              switch (e) {
                case is.DIR_LEFT:
                  return r ? lo.FORWARD : lo.BACKWARD;
                case is.DIR_RIGHT:
                  return r ? lo.BACKWARD : lo.FORWARD;
                default:
                  return lo.INVALID;
              }
            case ao.COLUMN:
            case ao.COLUMN_REVERSE:
              switch (e) {
                case is.DIR_UP:
                  return r ? lo.FORWARD : lo.BACKWARD;
                case is.DIR_DOWN:
                  return r ? lo.BACKWARD : lo.FORWARD;
                default:
                  return lo.INVALID;
              }
            case ao.GRID:
              switch (e) {
                case is.DIR_LEFT:
                case is.DIR_UP:
                  return r ? lo.FORWARD : lo.BACKWARD;
                case is.DIR_RIGHT:
                case is.DIR_DOWN:
                  return r ? lo.BACKWARD : lo.FORWARD;
                default:
                  return lo.INVALID;
              }
            default:
              return lo.INVALID;
          }
        }
        AdvanceIndex(e, t) {
          return e + (t == lo.FORWARD ? 1 : -1);
        }
        FindNextFocusableChildInDirection(e, t, r) {
          let n = t == lo.FORWARD ? 1 : -1;
          for (let t = e + n; t >= 0 && t < this.m_rgChildren.length; t += n) {
            const e = this.m_rgChildren[t].FindFocusableNode(r);
            if (e) return e;
          }
          return null;
        }
        ScanChildren(e, t, r) {
          let n = t == lo.FORWARD ? 1 : -1;
          for (let t = e; t >= 0 && t < this.m_rgChildren.length; t += n)
            if (r(this.m_rgChildren[t], t)) return t;
          return -1;
        }
        FindNextFocusableChildInGrid(e, t, r) {
          var n, i;
          const a = r == is.DIR_UP || r == is.DIR_DOWN,
            s = this.GetLastFocusElement();
          if (!s || s == this.m_element)
            return (
              c(
                !1,
                "No active child for grid navigation",
                this.m_iLastActiveChildIndex,
                this.m_rgChildren.length,
                s,
              ),
              this.FindFocusableDescendant(r)
            );
          const o = this.GetActiveDescendant().GetBoundingRect();
          if (r == is.DIR_UP || r == is.DIR_DOWN) {
            const e =
              null !== (n = this.m_Tree.GetLastFocusedMovementRect("x")) &&
              void 0 !== n
                ? n
                : null === (i = this.m_Tree.GetLastFocusedNode()) ||
                    void 0 === i
                  ? void 0
                  : i.GetBoundingRect();
            e && ((o.x = e.x), (o.width = e.width));
          }
          if (a) {
            let n = e;
            for (; -1 != n; ) {
              const e = this.ScanChildren(
                this.AdvanceIndex(n, t),
                t,
                (e) => !Ro("y", o, e.GetBoundingRect()),
              );
              if (-1 != e) {
                const n = this.m_rgChildren[e].GetBoundingRect(),
                  i = this.FindClosestChildInNextAxiallyAlignedSet(
                    "x",
                    t,
                    r,
                    o,
                    e,
                    n,
                  );
                if (i) return i;
              }
              n = e;
            }
          } else {
            let n = t == lo.FORWARD ? 1 : -1;
            for (
              let i = this.AdvanceIndex(e, t);
              i >= 0 && i < this.m_rgChildren.length;
              i += n
            ) {
              const e = this.m_rgChildren[i];
              if (!Ro("y", o, e.GetBoundingRect())) return null;
              let t = e.FindFocusableNode(r);
              if (t) return t;
            }
          }
          return null;
        }
        FindClosestChildInNextAxiallyAlignedSet(e, t, r, n, i, a) {
          (!i || i < 0) && (i = 0);
          let s = [];
          const o = { x: (l = n).x, y: l.y };
          var l;
          this.ScanChildren(i, t, (t) => {
            const r = t.GetBoundingRect();
            return (
              !(!a || Ro(Fs[e], a, r)) ||
              (s.push({ child: t, overlap: To(e, n, r), dist: Mo(e, o, r) }),
              !1)
            );
          }),
            t == lo.BACKWARD && s.reverse(),
            s.sort((e, t) => {
              const r = t.overlap - e.overlap;
              return 0 != r ? r : e.dist - t.dist;
            });
          for (const { child: e } of s) {
            const t = e.FindFocusableNode(r, n);
            if (t) return t;
          }
          return null;
        }
        GetChildren() {
          return (
            this.EnsureChildrenSorted(),
            [this.m_rgChildren, this.m_iLastActiveChildIndex]
          );
        }
        SetActiveChild(e) {
          e instanceof co
            ? (this.EnsureChildrenSorted(),
              (this.m_ActiveChild = e),
              (this.m_iLastActiveChildIndex = this.m_rgChildren.indexOf(e)))
            : (this.IsValidChildIndex(e) &&
                (this.m_ActiveChild = this.m_rgChildren[e]),
              (this.m_iLastActiveChildIndex = e));
        }
        GetDepth() {
          return this.m_nDepth;
        }
        SetRetainFocusParent(e) {
          (this.m_RetainFocusParent = e),
            this.m_Properties.retainFocus ||
              this.PropagateRetainFocusParentToChildren(e);
        }
        PropagateRetainFocusParentToChildren(e) {
          for (let t = 0; t < this.m_rgChildren.length; t++)
            this.m_rgChildren[t].SetRetainFocusParent(e);
        }
        OnFocusedDecendantRemoved(e) {
          this.m_Tree.DeferredFocus.RequestFocus(this, {
            bFocusDescendant: !0,
          });
        }
        SetDOMFocusAndScroll(e, t) {
          this.UpdateParentActiveChild(),
            this.m_Tree.BIsActiveFocus()
              ? (c(
                  !this.m_Tree.BUseVirtualFocus(),
                  "Virtual focus tree should not have browser focus",
                ),
                this.m_element.focus({ preventScroll: !0 }))
              : this.m_Tree.BUseVirtualFocus() ||
                io(
                  `Didn't move focus to element as tree ${this.m_Tree.id} is not active focus tree`,
                ),
            (function (e, t) {
              var r, n, i;
              const a = e.Element;
              if (!a) return;
              let s = [e];
              for (let t = e.Parent; t; t = t.Parent)
                (null === (r = t.m_Properties) || void 0 === r
                  ? void 0
                  : r.scrollIntoViewWhenChildFocused) && s.push(t);
              for (; s.length; ) {
                let r = s.pop(),
                  a = 0 == s.length,
                  o =
                    null === (n = r.m_Properties) || void 0 === n
                      ? void 0
                      : n.scrollIntoViewType;
                if (
                  (void 0 === o && (o = Vs ? oo.NoTransform : oo.Standard),
                  (null === (i = r.m_Properties) || void 0 === i
                    ? void 0
                    : i.fnScrollIntoViewHandler) &&
                    !1 !== r.m_Properties.fnScrollIntoViewHandler(e, t, r))
                )
                  continue;
                const l = r.m_element,
                  c =
                    o == oo.NoTransform ||
                    o == oo.NoTransformSparseContent ||
                    !a;
                if (t) {
                  const t = c ? qs(l) : l.getBoundingClientRect();
                  let r = !1;
                  const n = Math.max(1.4 * (t.bottom - t.top), 40);
                  ((Hs && performance.now() - Hs < 500) ||
                    t.bottom < -n ||
                    t.top > window.innerHeight + n) &&
                    (r = !0);
                  let i = r ? "auto" : "smooth";
                  r && (Hs = performance.now()),
                    e.Tree.Controller.BIsRestoringHistory() && (i = "auto"),
                    c
                      ? Js(0, l, i)
                      : l.scrollIntoView({ behavior: i, block: "nearest" });
                } else
                  c
                    ? Js(0, l, "auto")
                    : l.scrollIntoView({
                        behavior: "auto",
                        block: "nearest",
                        inline: "nearest",
                      });
              }
            })(this, t),
            this.m_Tree.OnChildActivated(e);
        }
      }
      function uo(e, t) {
        return !!e && "object" == typeof e.SteamClient && t in e.SteamClient;
      }
      function mo(e, t) {
        if (!e) return !1;
        const [r, n] = t.split(".", 2);
        return r && n && uo(e, r) && n in e.SteamClient[r];
      }
      function _o(e) {
        return mo(window, e);
      }
      (0, i.gn)([ye], co.prototype, "OnDOMFocus", null),
        (0, i.gn)([ye], co.prototype, "OnDOMBlur", null),
        (0, i.gn)([ye], co.prototype, "OnNavigationEvent", null);
      const ho = new ws("FocusNavigation").Debug,
        po = new ws("GamepadEvents").Debug;
      class go {
        constructor(e, t, r) {
          (this.m_onActivateCallbacks = new Se()),
            (this.m_onDeactivateCallbacks = new Se()),
            (this.m_onActiveFocusStateChangedCallbacks = new Se()),
            (this.m_applyFocusClassesInDesktop = !1),
            (this.m_lastFocusNodeXMovement = new bo()),
            (this.m_lastFocusNodeYMovement = new bo()),
            (this.m_DeferredFocus = new fo(this)),
            (this.m_Controller = e),
            (this.m_context = t),
            (this.m_ID = r),
            (this.m_Root = new co(this, null, null)),
            this.m_Root.SetProperties({ layout: ao.COLUMN }),
            (window.GamepadNavTree = this);
        }
        SetUseVirtualFocus(e) {
          this.m_bVirtualFocus = e;
        }
        get id() {
          return this.m_ID;
        }
        get Root() {
          return this.m_Root;
        }
        get Controller() {
          return this.m_Controller;
        }
        get WindowContext() {
          return this.m_context;
        }
        get Window() {
          return this.m_window;
        }
        BUseVirtualFocus() {
          return this.m_bVirtualFocus;
        }
        BIsContextActive() {
          return this.m_Controller.BIsInActiveContext(this);
        }
        CreateNode(e, t) {
          return new co(this, e, t);
        }
        RegisterNavigationItem(e, t) {
          return e.OnMount(t), () => e.OnUnmount();
        }
        OnChildActivated(e) {
          this.m_bIsMounted &&
            this.m_Controller.OnGamepadNavigationTreeFocused(this, e);
        }
        GetLastFocusedNode() {
          return this.m_lastFocusNode;
        }
        GetLastFocusedMovementRect(e) {
          return "x" == e
            ? this.m_lastFocusNodeXMovement.GetRect()
            : "y" == e
              ? this.m_lastFocusNodeYMovement.GetRect()
              : void 0;
        }
        get OnActivateCallbacks() {
          return this.m_onActivateCallbacks;
        }
        get OnDeactivateCallbacks() {
          return this.m_onDeactivateCallbacks;
        }
        get OnActiveStateChangedCallbacks() {
          return this.m_onActiveFocusStateChangedCallbacks;
        }
        OnActivate(e) {
          this.m_onActivateCallbacks.Dispatch(this, e),
            this.m_onActiveFocusStateChangedCallbacks.Dispatch(!0, this);
        }
        OnDeactivate(e) {
          this.m_onDeactivateCallbacks.Dispatch(this, e),
            this.m_onActiveFocusStateChangedCallbacks.Dispatch(!1, this),
            (this.m_bWasActiveForLastFocusChange = !1);
        }
        IsActiveFocusNavTree() {
          return this.m_Controller.IsActiveFocusNavTree(this);
        }
        TakeFocus(e, t = !1) {
          let r = !1;
          t
            ? (r = this.Root.BVisibleChildTakeFocus(e))
            : this.m_lastFocusNode && (r = this.m_lastFocusNode.BTakeFocus(e)),
            r || (r = this.Root.BTakeFocus(e)),
            r || this.TransferFocus(e, this.Root);
        }
        Activate(e = !1) {
          this.m_Controller.OnGamepadNavigationTreeActivated(this, e);
        }
        Deactivate() {
          this.m_Controller.BlurNavTree(this);
        }
        BIsActive() {
          return (
            this.m_bIsMounted &&
            (this.m_Controller.IsActiveNavTree(this) ||
              this.m_Controller.IsActiveFocusNavTree(this))
          );
        }
        BIsActiveFocus() {
          return (
            this.m_bIsMounted && this.m_Controller.IsActiveFocusNavTree(this)
          );
        }
        BIsActiveWithinContext() {
          return (
            this.m_bIsMounted &&
            (this.m_context.m_LastActiveNavTree == this ||
              this.m_context.m_LastActiveFocusNavTree == this)
          );
        }
        SetIsMounted(e) {
          this.m_window = e;
          const t = this.m_Root.Element;
          (t.__nav_tree = this),
            t.__nav_wrapper && t.__nav_wrapper.BindTree(this),
            (this.m_bIsMounted = !0);
        }
        SetParentEmbeddedNavTree(e) {
          this.m_ParentEmbeddedNavTree = e;
        }
        GetParentEmbeddedNavTree() {
          return this.m_ParentEmbeddedNavTree;
        }
        SetApplyFocusClassesInDesktop(e) {
          this.m_applyFocusClassesInDesktop = e;
        }
        GetApplyFocusClassesInDesktop() {
          return this.m_applyFocusClassesInDesktop;
        }
        SetOnUnhandledButtonCallback(e) {
          this.m_onUnhandledButton = e;
        }
        HandleButtonDownEventAsLogicalEvent(e) {
          let { bUnhandled: t, bHadLogicalEventMapping: r } = (function (e) {
            const t = [is.DIR_UP, is.DIR_DOWN, is.DIR_LEFT, is.DIR_RIGHT];
            let r = !0,
              n = !1,
              i = ds[e.detail.button];
            return (
              i
                ? ((n = !0), (r = gs(e.target, i, e.detail)))
                : -1 !== t.indexOf(e.detail.button) &&
                  ((n = !0), (r = gs(e.target, "vgp_ondirection", e.detail))),
              { bUnhandled: r, bHadLogicalEventMapping: n }
            );
          })(e);
          return (
            po(
              `Logical gamepad Event fired: ${is[e.detail.button]}, had logical event: ${r}, was handled: ${!t}`,
            ),
            t && this.m_onUnhandledButton && (t = this.m_onUnhandledButton(e)),
            t && (t = this.m_Controller.FireUnhandledGamepadEventCallbacks(e)),
            e.stopPropagation(),
            t
          );
        }
        get DeferredFocus() {
          return this.m_DeferredFocus;
        }
        TransferFocus(e, t, r) {
          this.m_Controller.BatchedUpdate(() =>
            this.TransferFocusInternal(e, t, r),
          );
        }
        TransferFocusInternal(e, t, r) {
          const n = this.m_lastFocusNode;
          if (
            n == t &&
            (this.m_bWasActiveForLastFocusChange || !this.BIsActive())
          )
            return;
          ho(
            `Transfer focus in ${this.id}, source: ${ss[e]}, from/to:`,
            null == n ? void 0 : n.m_element,
            null == t ? void 0 : t.m_element,
          );
          const i = { blurredNode: n, focusedNode: t, source: e },
            a = (function (e, t) {
              if (!t || !e) return null;
              let r = t,
                n = e;
              for (; r.GetDepth() > n.GetDepth() && r.Parent; ) r = r.Parent;
              for (; n.GetDepth() > r.GetDepth() && n.Parent; ) n = n.Parent;
              for (; r != n && r && n; ) (r = r.Parent), (n = n.Parent);
              return r;
            })(n, t);
          if (n) {
            n.SetHasFocus(!1);
            for (let e = n; e && e != a; e = e.Parent) e.SetFocusWithin(!1);
          }
          if (t) {
            t.SetHasFocus(!0);
            for (let e = t; e && e != a; e = e.Parent) e.SetFocusWithin(!0);
          }
          let s = this.m_context.OnFocusChangeStart(e, this, n, t);
          t && t.SetDOMFocusAndScroll(e, n),
            n &&
              (gs(n.Element, "vgp_onblur", i),
              !n.m_FocusRing ||
                (t && n.m_FocusRing == t.m_FocusRing) ||
                n.m_FocusRing.OnBlur(e, n, t)),
            t &&
              (gs(t.Element, "vgp_onfocus", i),
              t.m_FocusRing &&
                (n && t.m_FocusRing == n.m_FocusRing
                  ? t.m_FocusRing.OnFocusChange(e, n, t)
                  : t.m_FocusRing.OnFocus(e, t, n))),
            (this.m_lastFocusNode = t),
            (this.m_bWasActiveForLastFocusChange = this.BIsActive()),
            "x" == r
              ? this.m_lastFocusNodeXMovement.SetNode(t.Element)
              : "y" == r
                ? this.m_lastFocusNodeYMovement.SetNode(t.Element)
                : (this.m_lastFocusNodeXMovement.Reset(),
                  this.m_lastFocusNodeYMovement.Reset()),
            this.m_context.OnFocusChangeComplete(s);
        }
      }
      class bo {
        SetNode(e) {
          (this.m_element = e),
            (this.m_rect = e ? e.getBoundingClientRect() : void 0);
        }
        Reset() {
          this.SetNode(void 0);
        }
        GetRect() {
          var e;
          return (
            null === (e = this.m_element) || void 0 === e
              ? void 0
              : e.isConnected
          )
            ? this.m_element.getBoundingClientRect()
            : this.m_rect;
        }
      }
      class fo {
        constructor(e) {
          (this.m_schExecuteQueuedFocus = new Ee()),
            (this.m_bSuppressed = !1),
            (this.m_tree = e);
        }
        RequestFocus(e, t) {
          e
            ? ((this.m_target = Object.assign(Object.assign({}, t), {
                node: e,
              })),
              this.m_interval ||
                this.m_bSuppressed ||
                this.m_schExecuteQueuedFocus.Schedule(1, () => {
                  (this.m_interval = void 0), this.ExecuteQueuedFocus();
                }))
            : (this.m_target = void 0);
        }
        BHasQueuedFocusNode() {
          return !!this.m_target;
        }
        BIsQueuedFocusNode(e) {
          return this.m_target && this.m_target.node == e;
        }
        SuppressFocus() {
          (this.m_bSuppressed = !0), this.ClearInterval();
        }
        Reset() {
          (this.m_bSuppressed = !1),
            (this.m_target = void 0),
            this.ClearInterval();
        }
        ClearInterval() {
          this.m_schExecuteQueuedFocus.Cancel();
        }
        ExecuteQueuedFocus() {
          if (((this.m_bSuppressed = !1), this.m_target)) {
            const { node: e, bFocusDescendant: t } = this.m_target;
            (this.m_target = void 0),
              ho(
                `DeferredFocus in ${this.m_tree.id} - focusing ${t ? "descendant of" : "node"} ${e.NavKey}`,
              ),
              t
                ? e.BChildTakeFocus(ss.APPLICATION) ||
                  this.m_tree.TransferFocus(ss.APPLICATION, e)
                : e.BTakeFocus(ss.APPLICATION);
          }
        }
      }
      const vo = new ws("FocusNavigation").Debug;
      class yo {
        constructor(e, t, r) {
          (this.m_bActive = !1),
            (this.m_rgGamepadNavigationTrees = []),
            (this.m_LastActiveNavTree = null),
            (this.m_LastActiveFocusNavTree = null),
            (this.m_bMounted = !0),
            (this.m_schDeferredActivate = new Ee()),
            (this.m_FocusChangedCallbacks = new Se()),
            (this.m_ActiveCallbacks = new Se()),
            (this.m_bIsGamepadInputSuppressed = !1),
            (this.m_iFocusChangeStack = 0),
            (this.m_controller = e),
            (this.m_rootWindow = t),
            (this.m_activeWindow = t),
            (this.m_bIsGamepadInputSuppressed = r);
        }
        get RootWindow() {
          return this.m_rootWindow;
        }
        get ActiveWindow() {
          return this.m_activeWindow;
        }
        FindNavTreeInFocusedWindow() {
          for (
            let e = this.m_rgGamepadNavigationTrees.length - 1;
            e >= 0;
            e--
          ) {
            const t = this.m_rgGamepadNavigationTrees[e];
            if (t.Window.document.hasFocus()) return t;
          }
        }
        Destroy(e) {
          e == this.m_rootWindow
            ? (vo(`${this.LogName(e)} Destroying context for window`),
              (this.m_bMounted = !1),
              this.m_schDeferredActivate.Cancel(),
              this.SetActive(!1, e))
            : vo(`${this.LogName(e)} Child window destroyed`);
        }
        SetActive(e, t, r = void 0) {
          this.m_controller.BatchedUpdate(() => {
            var n;
            const i = this.m_bActive != e;
            (this.m_bActive = e),
              e
                ? ((this.m_activeWindow = t),
                  (this.m_activeBrowserView = r),
                  this.m_controller.OnContextActivated(this))
                : ((this.m_activeBrowserView = void 0),
                  this.m_controller.OnContextDeactivated(this, !1)),
              i &&
                ((this.m_bActive = e),
                this.m_ActiveCallbacks.Dispatch(e),
                null === (n = this.m_LastActiveFocusNavTree) ||
                  void 0 === n ||
                  n.OnActiveStateChangedCallbacks.Dispatch(
                    e,
                    this.m_LastActiveFocusNavTree,
                  ));
          });
        }
        OnActivate(e) {
          vo(
            `${this.LogName(e)} Activating context, there are ${this.m_rgGamepadNavigationTrees.length} trees in this context`,
          ),
            this.SetActive(!0, e);
        }
        OnActivateBrowserView(e, t) {
          vo(`${this.LogName(e)} Browser View "${t}" activated in context`),
            this.SetActive(!0, e, t);
        }
        OnDeactivate(e) {
          this.m_activeWindow == e
            ? (vo(`${this.LogName(e)} Deactivate context for window`),
              this.SetActive(!1, e))
            : vo(
                `${this.LogName(e)} Blurred, but not deactivating because (${this.m_activeWindow.name}) has focus.`,
              );
        }
        OnDeactivateBrowserView(e, t) {
          vo(`${this.LogName(e)} Browser View "${t}" deactivated in context`),
            this.m_activeBrowserView == t && this.SetActive(!1, e, t);
        }
        BIsGamepadInputSuppressed() {
          return this.m_bIsGamepadInputSuppressed;
        }
        BIsActive() {
          return this.m_bActive;
        }
        get ActiveCallbacks() {
          return this.m_ActiveCallbacks;
        }
        AddNavTree(e, t) {
          t
            ? this.m_rgGamepadNavigationTrees.unshift(e)
            : (this.m_rgGamepadNavigationTrees.push(e),
              this.SetActiveNavTree(e, !0));
        }
        LogName(e = void 0) {
          return e && this.m_rootWindow != e
            ? `(${this.m_rootWindow.name}) > (${e.name})`
            : `(${this.m_rootWindow.name})`;
        }
        SetActiveNavTree(e, t = !1) {
          if (e && this.m_LastActiveNavTree == e) return;
          const r = this.m_LastActiveNavTree;
          r && fe(this.m_rgGamepadNavigationTrees, r),
            e ||
              (this.m_rgGamepadNavigationTrees.length &&
                (e =
                  this.m_rgGamepadNavigationTrees[
                    this.m_rgGamepadNavigationTrees.length - 1
                  ]));
          const n = this.m_LastActiveFocusNavTree == e;
          e && fe(this.m_rgGamepadNavigationTrees, e),
            (this.m_LastActiveNavTree = e),
            (e && e.BUseVirtualFocus()) || (this.m_LastActiveFocusNavTree = e),
            vo(
              `${this.LogName(e.Window)} Move from nav tree ${null == r ? void 0 : r.id} to nav tree ${null == e ? void 0 : e.id} ${t ? "taking focus" : "no focus"}`,
            ),
            r && this.m_rgGamepadNavigationTrees.push(r),
            e &&
              (this.m_rgGamepadNavigationTrees.push(e),
              n ||
                !t ||
                e.DeferredFocus.BHasQueuedFocusNode() ||
                e.DeferredFocus.RequestFocus(e.Root)),
            r && r != this.m_LastActiveFocusNavTree && r.OnDeactivate(e),
            e && !n && e.OnActivate(r);
        }
        BlurNavTree(e) {
          this.m_LastActiveNavTree == e && this.SetActiveNavTree(null, !0),
            fe(this.m_rgGamepadNavigationTrees, e),
            this.m_rgGamepadNavigationTrees.unshift(e);
        }
        UnregisterGamepadNavigationTree(e) {
          fe(this.m_rgGamepadNavigationTrees, e),
            vo(
              `(${this.m_rootWindow.name}) Unregister tree ${null == e ? void 0 : e.id} ${this.m_LastActiveFocusNavTree == e ? "(was active)" : "(inactive)"}`,
            ),
            this.m_LastActiveNavTree == e &&
              ((this.m_LastActiveNavTree = null),
              this.m_bMounted &&
                this.m_schDeferredActivate.Schedule(1, () => {
                  this.m_LastActiveNavTree || this.SetActiveNavTree(null, !0);
                }));
        }
        get FocusChangedCallbacks() {
          return this.m_FocusChangedCallbacks;
        }
        OnFocusChangeStart(e, t, r, n) {
          return (
            0 == this.m_iFocusChangeStack
              ? (this.m_ActiveFocusChange = { source: e, from: r, to: n })
              : !this.m_ActiveFocusChange.from &&
                r &&
                (this.m_ActiveFocusChange.from = r),
            this.m_iFocusChangeStack++
          );
        }
        OnFocusChangeComplete(e) {
          if (
            (this.m_iFocusChangeStack--,
            c(e == this.m_iFocusChangeStack, "out of order focus pop"),
            0 == this.m_iFocusChangeStack)
          ) {
            const { source: e, from: t, to: r } = this.m_ActiveFocusChange;
            this.m_FocusChangedCallbacks.Dispatch(e, t, r);
          }
        }
      }
      const So = new ws("FocusNavigation").Debug,
        wo = new ws("FocusNavigation").Assert,
        Co = "focus-nav-show-debug-focus-ring";
      function Bo(e, t) {
        return (
          (null == e ? void 0 : e.eActivationSourceType) ===
            (null == t ? void 0 : t.eActivationSourceType) &&
          (null == e ? void 0 : e.nActiveGamepadIndex) ===
            (null == t ? void 0 : t.nActiveGamepadIndex) &&
          (null == e ? void 0 : e.nLastActiveGamepadIndex) ===
            (null == t ? void 0 : t.nLastActiveGamepadIndex)
        );
      }
      class Eo {
        constructor() {
          var e, t;
          (this.m_rgGamepadInputSources = []),
            (this.m_rgAllContexts = []),
            (this.m_bGlobalEventsInitialized = !1),
            (this.m_fnCatchAllGamepadInput = null),
            (this.m_UnhandledButtonEventsCallbacks = new Se()),
            (this.m_navigationSource = Ce(
              {
                eActivationSourceType: as.UNKNOWN,
                nActiveGamepadIndex: -1,
                nLastActiveGamepadIndex: -1,
              },
              Bo,
            )),
            (this.m_navigationSourceSupportsFocus =
              ((e = this.m_navigationSource),
              new Be(
                e,
                (e) =>
                  e.eActivationSourceType === as.GAMEPAD ||
                  e.eActivationSourceType === as.KEYBOARD ||
                  e.eActivationSourceType === as.UNKNOWN,
                t,
              ))),
            (this.m_bShowDebugFocusRing = Ce(!1)),
            (this.m_bRestoringHistory = !1),
            (this.m_fnGamepadEventUpdateBatcher = (e) => e()),
            (window.FocusNavController = this),
            this.m_bShowDebugFocusRing.Set(
              "shown" == sessionStorage.getItem(Co),
            );
        }
        CreateContext(e, t) {
          const r = new yo(this, e, t);
          return this.m_rgAllContexts.push(r), r;
        }
        GetDefaultContext() {
          return (
            this.m_DefaultContext ||
              (this.m_DefaultContext = this.CreateContext(window, !1)),
            this.m_DefaultContext
          );
        }
        GetActiveContext() {
          return this.m_ActiveContext;
        }
        FindAnActiveContext() {
          var e, t;
          if (!this.m_ActiveContext && 0 != this.m_rgAllContexts.length) {
            console.warn("No active context; finding one");
            for (const e of this.m_rgAllContexts) {
              const t = e.FindNavTreeInFocusedWindow();
              if (t) {
                So(
                  `${e.LogName(t.Window)} Found a focused window; setting this context as active.`,
                ),
                  (this.m_ActiveContext = e),
                  this.m_ActiveContext.OnActivate(t.Window);
                break;
              }
            }
          }
          return (
            !this.m_ActiveContext &&
              this.m_LastActiveContext &&
              (c(
                !1,
                `Failed to find an active context, will fall back to ${null === (e = this.m_LastActiveContext) || void 0 === e ? void 0 : e.LogName()}`,
              ),
              (this.m_ActiveContext = this.m_LastActiveContext),
              this.m_ActiveContext.OnActivate(
                null ===
                  (t = this.m_LastActiveContext.m_LastActiveFocusNavTree) ||
                  void 0 === t
                  ? void 0
                  : t.Window,
              )),
            this.m_ActiveContext
          );
        }
        SetShowDebugFocusRing(e) {
          this.m_bShowDebugFocusRing.Set(e),
            (function (e) {
              sessionStorage.setItem(Co, e ? "shown" : void 0);
            })(e);
        }
        GetShowDebugFocusRing() {
          return this.m_bShowDebugFocusRing;
        }
        RegisterInputSource(e) {
          let t = new Re();
          return (
            this.m_rgGamepadInputSources.push(e),
            t.PushArrayRemove(this.m_rgGamepadInputSources, e),
            t.Push(
              e.RegisterForGamepadButtonDown(this.OnButtonDown).Unregister,
            ),
            t.Push(e.RegisterForGamepadButtonUp(this.OnButtonUp).Unregister),
            t.Push(
              e.RegisterForNavigationTypeChange(this.OnNavigationTypeChange)
                .Unregister,
            ),
            t.GetUnregisterFunc()
          );
        }
        SetGamepadEventUpdateBatcher(e) {
          this.m_fnGamepadEventUpdateBatcher = e;
        }
        get NavigationSource() {
          return this.m_navigationSource;
        }
        get NavigationSourceSupportsFocus() {
          return this.m_navigationSourceSupportsFocus;
        }
        DispatchVirtualButtonPress(e) {
          this.OnButtonDown(e, as.UNKNOWN, -1);
        }
        DispatchVirtualButtonClick(e, t) {
          var r;
          let n = null;
          t &&
            (n =
              null !== (r = this.GetActiveContext()) && void 0 !== r
                ? r
                : this.FindAnActiveContext()),
            this.OnButtonDown(e, as.GAMEPAD, -1, null, t, n, !0),
            this.OnButtonUp(e, as.GAMEPAD, -1, null, t, n, !0);
        }
        DispatchVirtualGamepad(e, t) {
          switch (e) {
            case "vgp_onbuttondown":
              this.OnButtonDown(t.button, t.source, -1, t.is_repeat);
              break;
            case "vgp_onbuttonup":
              this.OnButtonUp(t.button, t.source, -1);
          }
        }
        BGlobalGamepadButton(e) {
          return (
            e === is.STEAM_GUIDE || e === is.STEAM_QUICK_MENU || e === is.CANCEL
          );
        }
        GetEventTarget(e, t = !1) {
          let r = this.GetActiveContext();
          !r && t && (r = this.FindAnActiveContext());
          let n = null == r ? void 0 : r.ActiveWindow.document.activeElement;
          if (null == r ? void 0 : r.m_LastActiveNavTree) {
            let i = this.m_navigationSource.Value.eActivationSourceType;
            if (
              !(
                r.m_LastActiveNavTree.GetLastFocusedNode() ||
                (i != as.GAMEPAD && i != as.KEYBOARD) ||
                (t && r.m_LastActiveNavTree.TakeFocus(ss.GAMEPAD, !0),
                this.BGlobalGamepadButton(e))
              )
            )
              return [null, r];
            r.m_LastActiveNavTree.GetLastFocusedNode() &&
              (n = r.m_LastActiveNavTree.GetLastFocusedNode().Element);
          }
          return [n, r];
        }
        ChangeNavigationSource(e, t) {
          let r = this.m_navigationSource.Value,
            n = r.nLastActiveGamepadIndex;
          r.nActiveGamepadIndex >= 0 && (n = r.nActiveGamepadIndex),
            this.m_navigationSource.Set({
              eActivationSourceType: e,
              nActiveGamepadIndex: t,
              nLastActiveGamepadIndex: n,
            }),
            e != as.MOUSE &&
              _o("Browser.HideCursorUntilMouseEvent") &&
              SteamClient.Browser.HideCursorUntilMouseEvent();
        }
        OnButtonActionInternal(e, t, r, n, i, a, s, o) {
          var l, c;
          if (this.m_fnCatchAllGamepadInput && this.m_fnCatchAllGamepadInput(t))
            return void (
              e &&
              So(
                "Ignoring button press - gamepad input is suppressed by parent window",
              )
            );
          wo(
            !!a == !!s,
            "Must set both overrideContext and overrideElement or neither",
          );
          let u = a,
            d = s;
          (null != u && null != d) || ([u, d] = this.GetEventTarget(t, !0)),
            !(null == d ? void 0 : d.BIsGamepadInputSuppressed()) || o
              ? (this.ChangeNavigationSource(r, n),
                e &&
                  So(
                    `Firing ${is[t]} in tree ${null === (c = null == d ? void 0 : d.m_LastActiveNavTree) || void 0 === c ? void 0 : c.id} at `,
                    u,
                  ),
                this.BatchedUpdate(() =>
                  gs(u, e ? "vgp_onbuttondown" : "vgp_onbuttonup", {
                    button: t,
                    source: r,
                    is_repeat: i,
                  }),
                ))
              : So(
                  `Suppressing ${is[t]} input on element ${u.className} because tree ${null === (l = null == d ? void 0 : d.m_LastActiveNavTree) || void 0 === l ? void 0 : l.id} has it disabled`,
                );
        }
        OnButtonDown(e, t, r, n, i, a, s) {
          this.OnButtonActionInternal(!0, e, t, r, n, i, a, s);
        }
        OnButtonUp(e, t, r, n, i, a, s) {
          this.OnButtonActionInternal(!1, e, t, r, !1, i, a, s);
        }
        BatchedUpdate(e) {
          this.m_fnGamepadEventUpdateBatcher(e);
        }
        OnNavigationTypeChange(e) {
          var t, r;
          if (
            (this.ChangeNavigationSource(e, -1),
            document.hasFocus() &&
              (e == as.MOUSE || e == as.TOUCH) &&
              (null === (t = this.m_ActiveContext) || void 0 === t
                ? void 0
                : t.m_LastActiveNavTree))
          ) {
            const e =
                this.m_ActiveContext.m_LastActiveNavTree.GetLastFocusedNode(),
              t = (function (e) {
                if (!Lt(e)) return !1;
                const t = e.tagName,
                  r = ((n = e), "INPUT" === n.nodeName ? e.type : null);
                var n;
                return (function (e, t) {
                  switch (e) {
                    case "TEXTAREA":
                      return !0;
                    case "INPUT":
                      switch (t) {
                        case "date":
                        case "datetime-local":
                        case "datetime":
                        case "email":
                        case "month":
                        case "number":
                        case "password":
                        case "search":
                        case "tel":
                        case "text":
                        case "time":
                        case "url":
                        case "week":
                          return !0;
                        default:
                          return !1;
                      }
                    default:
                      return !1;
                  }
                })(t, r);
              })(null == e ? void 0 : e.Element)
                ? e
                : null;
            null === (r = this.m_ActiveContext.m_LastActiveNavTree) ||
              void 0 === r ||
              r.TransferFocus(ss.BROWSER, t);
          }
        }
        NewGamepadNavigationTree(e, t) {
          return new go(this, e, t);
        }
        RegisterGamepadNavigationTree(e, t, r) {
          const n = e.WindowContext;
          return (
            e.SetIsMounted(t),
            r || ((this.m_ActiveContext = n), (this.m_LastActiveContext = n)),
            n.AddNavTree(e, r),
            this.m_bGlobalEventsInitialized || this.BindGlobalEventHandlers(),
            () => n.UnregisterGamepadNavigationTree(e)
          );
        }
        OnGamepadNavigationTreeActivated(e, t = !1) {
          e.WindowContext.SetActiveNavTree(e, t);
        }
        OnGamepadNavigationTreeFocused(e, t, r = !1) {
          const n = e.WindowContext;
          n != this.m_ActiveContext &&
            So(`(${n.LogName(e.Window)}) Focus event in inactive window`),
            e != n.m_LastActiveFocusNavTree &&
              e != n.m_LastActiveNavTree &&
              (n.m_LastActiveFocusNavTree.GetParentEmbeddedNavTree() == e ||
              e.GetParentEmbeddedNavTree() == n.m_LastActiveFocusNavTree
                ? (So(
                    `There was a focus event in ${e.id}, allowing focus transfer to activate nav tree due to parent embedded relationship`,
                  ),
                  e.Activate())
                : So(
                    `There was a focus event in ${e.id}, but the active nav tree is ${n.m_LastActiveFocusNavTree.id} so it is being ignored.  Source: ${ss[t]}.`,
                  ));
        }
        BlurNavTree(e) {
          e.WindowContext.BlurNavTree(e);
        }
        IsActiveFocusNavTree(e) {
          var t;
          return Boolean(
            e &&
              e ==
                (null === (t = this.m_ActiveContext) || void 0 === t
                  ? void 0
                  : t.m_LastActiveFocusNavTree),
          );
        }
        IsActiveNavTree(e) {
          var t;
          return Boolean(
            e &&
              e ==
                (null === (t = this.m_ActiveContext) || void 0 === t
                  ? void 0
                  : t.m_LastActiveNavTree),
          );
        }
        BIsInActiveContext(e) {
          return Boolean(e && e.WindowContext == this.m_ActiveContext);
        }
        BindGlobalEventHandlers() {
          this.m_bGlobalEventsInitialized ||
            (this.m_bGlobalEventsInitialized = !0);
        }
        RegisterForUnhandledButtonDownEvents(e) {
          return this.m_UnhandledButtonEventsCallbacks.Register(e);
        }
        FireUnhandledGamepadEventCallbacks(e) {
          return (
            !this.m_UnhandledButtonEventsCallbacks.CountRegistered() ||
            (this.m_UnhandledButtonEventsCallbacks.Dispatch(e), !1)
          );
        }
        SetSuppressGamepadInput(e) {
          this.m_fnCatchAllGamepadInput = e ? () => !0 : null;
        }
        SetCatchAllGamepadInput(e) {
          this.m_fnCatchAllGamepadInput = e;
        }
        TakeFocusChangingIFrame() {
          window.focus();
          let e =
            this.m_ActiveContext.m_LastActiveFocusNavTree ||
            this.m_ActiveContext.m_LastActiveNavTree;
          e && e.TakeFocus(ss.APPLICATION);
        }
        OnContextActivated(e) {
          (this.m_ActiveContext = e),
            (this.m_LastActiveContext = e),
            this.UpdateRepeatAllowed();
        }
        OnContextDeactivated(e, t) {
          t &&
            (this.m_LastActiveContext == e &&
              (this.m_LastActiveContext = void 0),
            fe(this.m_rgAllContexts, e)),
            this.m_ActiveContext == e && (this.m_ActiveContext = void 0),
            this.UpdateRepeatAllowed();
        }
        BIsRestoringHistory() {
          return this.m_bRestoringHistory;
        }
        RestoreHistoryTransaction(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            this.m_bRestoringHistory = !0;
            try {
              yield e();
            } finally {
              this.m_bRestoringHistory = !1;
            }
          });
        }
        UpdateRepeatAllowed() {
          var e;
          const t =
            null === (e = this.m_ActiveContext) || void 0 === e
              ? void 0
              : e.BIsActive();
          for (const e of this.m_rgGamepadInputSources) e.SetRepeatAllowed(t);
        }
      }
      (0, i.gn)([ye], Eo.prototype, "OnButtonDown", null),
        (0, i.gn)([ye], Eo.prototype, "OnButtonUp", null),
        (0, i.gn)([ye], Eo.prototype, "OnNavigationTypeChange", null),
        (0, i.gn)([ye], Eo.prototype, "UpdateRepeatAllowed", null);
      class Io {
        constructor(e) {
          this.m_node = e;
        }
        TakeFocus(e) {
          return this.m_node.BTakeFocus(e ? ss.GAMEPAD : ss.APPLICATION, e);
        }
        ParentTakeFocus(e) {
          this.m_node.Parent.BTakeFocus(e ? ss.GAMEPAD : ss.APPLICATION, e);
        }
        ChildTakeFocus(e) {
          return this.m_node.BChildTakeFocus(
            e ? ss.GAMEPAD : ss.APPLICATION,
            e,
          );
        }
        FocusVisibleChild(e) {
          return this.m_node.BVisibleChildTakeFocus(e);
        }
        BHasFocus() {
          return this.m_node.BHasFocus();
        }
        BFocusWithin() {
          return this.m_node.BFocusWithin();
        }
        get NavKey() {
          return this.m_node.NavKey;
        }
        PushState() {
          this.m_History || (this.m_History = new As(this.m_node)),
            this.m_History.PushState();
        }
        PopState(e = 0) {
          this.m_History && this.m_History.PopState(e);
        }
        SaveState(e) {
          this.m_StateHistory || (this.m_StateHistory = new Os(this.m_node)),
            this.m_StateHistory.SaveState(e);
        }
        RestoreState(e, t = 0) {
          return (
            !!this.m_StateHistory && this.m_StateHistory.RestoreState(e, t)
          );
        }
        GetFocusSnapshot() {
          return (e = this.m_node), Ds.SerializeNavState(e, !0, !1);
          var e;
        }
        RestoreFocusSnapshot(e, t = 0) {
          return (function (e, t, r = 0) {
            return Ds.RestoreSerializedNavState(e, t, r);
          })(this.m_node, e, t);
        }
        NavTree() {
          return this.m_node.Tree;
        }
        Node() {
          return this.m_node;
        }
      }
      function Ro(e, t, r, n = 0.001) {
        return "x" == e
          ? t.x + t.width > r.x + n && t.x + n < r.x + r.width
          : "y" == e
            ? t.y + t.height > r.y + n && t.y + n < r.y + r.height
            : (c(!1, `Invalid axis ${e}`), !1);
      }
      function To(e, t, r) {
        let n;
        return (
          "x" == e
            ? (n = Math.min(t.x + t.width, r.x + r.width) - Math.max(t.x, r.x))
            : "y" == e
              ? (n =
                  Math.min(t.y + t.height, r.y + r.height) - Math.max(t.y, r.y))
              : (c(!1, `Invalid axis ${e}`), (n = 0)),
          n < 0 ? 0 : n
        );
      }
      function Mo(e, t, r) {
        const n = t[e],
          i = (function (e, t) {
            return "x" == e
              ? { min: t.x, max: t.x + t.width }
              : "y" == e
                ? { min: t.y, max: t.y + t.height }
                : void c(!1, `Invalid axis ${e}`);
          })(e, r);
        return n < i.min ? i.min - n : n > i.max ? n - i.max : 0;
      }
      const Do = {
        OnBlur: () => {},
        OnFocus: () => {},
        OnFocusChange: () => {},
        OnForceMeasureFocusRing: () => {},
      };
      function Ao(e) {
        switch (e) {
          case is.DIR_UP:
          case is.DIR_DOWN:
            return "y";
          case is.DIR_LEFT:
          case is.DIR_RIGHT:
            return "x";
          default:
            return;
        }
      }
      var Oo, Fo, Lo, ko, No;
      function Po(e, t = !0) {
        return function (r, n, i) {
          const a = i.value;
          i.value = function (...r) {
            let i = this[n + "_DebounceProperties"];
            void 0 === i &&
              (i = this[n + "_DebounceProperties"] =
                { hTimer: void 0, nPending: 0 }),
              void 0 === i.hTimer
                ? (t ? a.apply(this, r) : (i.nPending += 1),
                  (i.hTimer = window.setInterval(() => {
                    i.nPending > 0
                      ? (a.apply(this, r), (i.nPending = 0))
                      : (window.clearInterval(i.hTimer), (i.hTimer = void 0));
                  }, e)))
                : (i.nPending += 1);
          };
        };
      }
      !(function (e) {
        (e[(e.EBrowserType_OffScreen = 0)] = "EBrowserType_OffScreen"),
          (e[(e.EBrowserType_OpenVROverlay = 1)] =
            "EBrowserType_OpenVROverlay"),
          (e[(e.EBrowserType_OpenVROverlay_Dashboard = 2)] =
            "EBrowserType_OpenVROverlay_Dashboard"),
          (e[(e.EBrowserType_DirectHWND = 3)] = "EBrowserType_DirectHWND"),
          (e[(e.EBrowserType_DirectHWND_Borderless = 4)] =
            "EBrowserType_DirectHWND_Borderless"),
          (e[(e.EBrowserType_DirectHWND_Hidden = 5)] =
            "EBrowserType_DirectHWND_Hidden"),
          (e[(e.EBrowserType_ChildHWNDNative = 6)] =
            "EBrowserType_ChildHWNDNative"),
          (e[(e.EBrowserType_Transparent_Toplevel = 7)] =
            "EBrowserType_Transparent_Toplevel"),
          (e[(e.EBrowserType_OffScreen_SharedTexture = 8)] =
            "EBrowserType_OffScreen_SharedTexture"),
          (e[(e.EBrowserType_OffScreen_GameOverlay = 9)] =
            "EBrowserType_OffScreen_GameOverlay"),
          (e[(e.EBrowserType_OffScreen_GameOverlay_SharedTexture = 10)] =
            "EBrowserType_OffScreen_GameOverlay_SharedTexture"),
          (e[(e.EBrowserType_Offscreen_FriendsUI = 11)] =
            "EBrowserType_Offscreen_FriendsUI"),
          (e[(e.EBrowserType_Offscreen_SteamUI = 12)] =
            "EBrowserType_Offscreen_SteamUI"),
          (e[(e.EBrowserType_OpenVROverlay_Subview = 13)] =
            "EBrowserType_OpenVROverlay_Subview");
      })(Oo || (Oo = {})),
        (function (e) {
          (e[(e.SystemKey0 = 0)] = "SystemKey0"),
            (e[(e.SystemKey1 = 1)] = "SystemKey1");
        })(Fo || (Fo = {})),
        (function (e) {
          (e[(e.Hidden = 0)] = "Hidden"),
            (e[(e.Notification = 1)] = "Notification"),
            (e[(e.Overlay = 2)] = "Overlay"),
            (e[(e.Opaque = 3)] = "Opaque"),
            (e[(e.OverlayKeyboard = 4)] = "OverlayKeyboard");
        })(Lo || (Lo = {})),
        (function (e) {
          (e[(e.MainGamepadUI = 0)] = "MainGamepadUI"),
            (e[(e.OverlayGamepadUI = 1)] = "OverlayGamepadUI"),
            (e[(e.Keyboard = 2)] = "Keyboard"),
            (e[(e.ControllerConfigurator = 3)] = "ControllerConfigurator"),
            (e[(e.VR = 4)] = "VR"),
            (e[(e.MainDesktopUI = 5)] = "MainDesktopUI"),
            (e[(e.DesktopLogin = 6)] = "DesktopLogin"),
            (e[(e.OverlayDesktopUI = 7)] = "OverlayDesktopUI"),
            (e[(e.SteamChinaReviewLauncher = 8)] = "SteamChinaReviewLauncher");
        })(ko || (ko = {}));
      class Go {
        constructor(e, t, r) {
          if (((this.m_rgLoadingLinks = []), (this.m_rgLoadingLinks = []), r))
            for (let e = 0; e < r.length; e++) this.AddLink(r[e], !0);
          else {
            let t = e.getElementsByTagName("link");
            for (let e = 0; e < t.length; e++) {
              let r = t[e];
              this.AddLink(r, !1);
            }
          }
        }
        AddLink(e, t) {
          if (t) {
            let t = !1;
            try {
              (e.sheet && e.sheet.cssRules && 0 != e.sheet.cssRules.length) ||
                (t = !0);
            } catch (e) {}
            t &&
              (e.addEventListener("load", this.OnLinkLoad),
              this.m_rgLoadingLinks.push(e));
          } else
            e.addEventListener("load", this.OnLinkLoad),
              this.m_rgLoadingLinks.push(e);
        }
        SetTarget(e) {
          (this.m_fnRender = e),
            0 == this.m_rgLoadingLinks.length &&
              (this.m_fnRender(), (this.m_fnRender = void 0));
        }
        OnLinkLoad(e) {
          e.currentTarget.removeEventListener("load", this.OnLinkLoad),
            fe(this.m_rgLoadingLinks, e.currentTarget),
            0 == this.m_rgLoadingLinks.length &&
              (this.m_fnRender(), (this.m_fnRender = void 0));
        }
      }
      (0, i.gn)([ye], Go.prototype, "OnLinkLoad", null),
        (function (e) {
          (e[(e.k_ENoiseGateLevel_Off = 0)] = "k_ENoiseGateLevel_Off"),
            (e[(e.k_ENoiseGateLevel_Low = 1)] = "k_ENoiseGateLevel_Low"),
            (e[(e.k_ENoiseGateLevel_Medium = 2)] = "k_ENoiseGateLevel_Medium"),
            (e[(e.k_ENoiseGateLevel_High = 3)] = "k_ENoiseGateLevel_High");
        })(No || (No = {}));
      function xo(e, t) {
        return t();
      }
      var Uo, zo;
      function Wo() {
        return "windows" == w.PLATFORM ? Uo.BackgroundTransparent : Uo.None;
      }
      function jo(e) {
        let t = Uo.None;
        switch (e) {
          case zo.Overlay:
            return (
              (t |= Uo.AlwaysOnTop),
              (t |= Uo.NoTaskbarIcon),
              (t |= Uo.NotFocusable),
              t
            );
          case zo.Notification:
            return (
              (t |= jo(zo.Overlay)),
              (t |= Uo.NoWindowShadow),
              (t |= Uo.NoRoundedCorners),
              (t |= Uo.OverrideRedirect),
              t
            );
          case zo.Tooltip:
            return (
              (t |= jo(zo.Overlay)),
              (t |= Uo.NoRoundedCorners),
              (t |= Uo.NoWindowShadow),
              (t |= Uo.TooltipHint),
              (t |= Wo()),
              t
            );
          case zo.PopupContextMenu:
            return (
              (t |= Uo.NoTaskbarIcon),
              (t |= Uo.NoRoundedCorners),
              (t |= Uo.NoWindowShadow),
              (t |= Uo.PopUpMenuHint),
              (t |= Wo()),
              t
            );
          case zo.StandaloneContextMenu:
            return (
              (t = Uo.NoTaskbarIcon),
              (t |= Uo.NoRoundedCorners),
              (t |= Uo.NoWindowShadow),
              (t |= Uo.OverrideRedirect),
              (t |= Wo()),
              t
            );
        }
      }
      !(function (e) {
        (e[(e.None = 0)] = "None"),
          (e[(e.Minimized = 1)] = "Minimized"),
          (e[(e.Hidden = 2)] = "Hidden"),
          (e[(e.TooltipHint = 4)] = "TooltipHint"),
          (e[(e.NoTaskbarIcon = 8)] = "NoTaskbarIcon"),
          (e[(e.Resizable = 16)] = "Resizable"),
          (e[(e.ScalePosition = 32)] = "ScalePosition"),
          (e[(e.ScaleSize = 64)] = "ScaleSize"),
          (e[(e.Maximized = 128)] = "Maximized"),
          (e[(e.BackgroundTransparent = 256)] = "BackgroundTransparent"),
          (e[(e.NotFocusable = 512)] = "NotFocusable"),
          (e[(e.FullScreen = 1024)] = "FullScreen"),
          (e[(e.Fullscreen_Exclusive = 2048)] = "Fullscreen_Exclusive"),
          (e[(e.ApplyBrowserScaleToDimensions = 4096)] =
            "ApplyBrowserScaleToDimensions"),
          (e[(e.AlwaysOnTop = 8192)] = "AlwaysOnTop"),
          (e[(e.NoWindowShadow = 16384)] = "NoWindowShadow"),
          (e[(e.NoMinimize = 32768)] = "NoMinimize"),
          (e[(e.PopUpMenuHint = 65536)] = "PopUpMenuHint"),
          (e[(e.IgnoreSavedSize = 131072)] = "IgnoreSavedSize"),
          (e[(e.NoRoundedCorners = 262144)] = "NoRoundedCorners"),
          (e[(e.ForceRoundedCorners = 524288)] = "ForceRoundedCorners"),
          (e[(e.OverrideRedirect = 1048576)] = "OverrideRedirect"),
          (e[(e.IgnoreSteamDisplayScale = 2097152)] =
            "IgnoreSteamDisplayScale");
      })(Uo || (Uo = {})),
        (function (e) {
          (e[(e.Overlay = 0)] = "Overlay"),
            (e[(e.Notification = 1)] = "Notification"),
            (e[(e.Tooltip = 2)] = "Tooltip"),
            (e[(e.PopupContextMenu = 3)] = "PopupContextMenu"),
            (e[(e.StandaloneContextMenu = 4)] = "StandaloneContextMenu");
        })(zo || (zo = {}));
      const Vo = s.createContext({ ownerWindow: window }),
        Ho = () => s.useContext(Vo);
      function qo(e) {
        const { ownerWindow: t, children: r } = e,
          n = s.useMemo(() => ({ ownerWindow: t }), [t]);
        return s.createElement(Vo.Provider, { value: n }, r);
      }
      class Ko {
        constructor(e, t) {
          (this.m_bCreated = !1),
            (this.m_onCreateRender = null),
            (this.m_bFocused = !1),
            (0, Je.rC)(this),
            c(
              e,
              "Name is required.  This is an internal name, different from title.",
            ),
            (this.m_strName = e),
            (this.m_rgParams = t),
            this.m_rgParams.target_browser &&
              (this.m_strName +=
                "_uid" + this.m_rgParams.target_browser.m_unPID),
            (this.m_bCreateHidden = !!(t.eCreationFlags & Uo.Hidden)),
            (this.m_strTitle = t.title),
            delete this.m_rgParams.title;
        }
        UpdateParamsBeforeShow(e) {
          return e;
        }
        OnDrop(e) {
          console.log("Ignoring drop onto toplevel window", e),
            e.preventDefault(),
            e.stopPropagation();
        }
        OnDragOver(e) {
          e.preventDefault(),
            (e.dataTransfer.dropEffect = "none"),
            e.stopPropagation();
        }
        OnMessage(e) {
          "window_moved" == e.data && this.OnResize(),
            "popup-created" == e.data && this.OnCreateInternal();
        }
        Show(e = be.k_EWindowBringToFrontAndForceOS) {
          let t;
          (t =
            "boolean" == typeof e
              ? e
                ? be.k_EWindowBringToFrontAndForceOS
                : be.k_EWindowBringToFrontInvalid
              : e),
            window.SteamClient && (this.m_rgParams.eCreationFlags |= Uo.Hidden),
            this.m_rgParams.eCreationFlags & Uo.NotFocusable &&
              (t = be.k_EWindowBringToFrontInvalid),
            this.BIsValid() &&
              (this.BIsClosed()
                ? ((this.m_popup = void 0), (this.m_element = void 0))
                : t != be.k_EWindowBringToFrontInvalid && this.Focus(t));
          let r,
            n,
            i,
            a = Yo.GetExistingPopup(this.m_strName);
          (a && !this.m_rgParams.replace_existing_popup) ||
            ((this.m_rgParams = this.UpdateParamsBeforeShow(this.m_rgParams)),
            a
              ? ((n = a.m_element),
                (r = a.m_popup),
                a.ReleasePopup(),
                (i = a.m_renderWhenReady),
                Yo.RemoveTrackedPopup(a),
                r.removeEventListener("beforeunload", a.OnBeforeUnloadEvent),
                r.removeEventListener("unload", a.OnUnload),
                r.removeEventListener("resize", a.OnResizeEvent),
                r.removeEventListener("focus", this.OnFocusInternal),
                r.removeEventListener("blur", this.OnBlurInternal),
                r.removeEventListener("drop", a.OnDrop),
                r.removeEventListener("dragover", a.OnDragOver),
                r.removeEventListener("message", this.OnMessage))
              : (({ popup: r, element: n } = $o.CreatePopup(
                  this.m_strName,
                  this.m_rgParams,
                )),
                (i = new Go(r.document, n))),
            r &&
              n &&
              ((r.document.title = this.m_strTitle),
              r.addEventListener("beforeunload", this.OnBeforeUnloadEvent),
              r.addEventListener("unload", this.OnUnload),
              r.addEventListener("resize", this.OnResizeEvent),
              r.addEventListener("focus", this.OnFocusInternal),
              r.addEventListener("blur", this.OnBlurInternal),
              r.addEventListener("drop", this.OnDrop),
              r.addEventListener("dragover", this.OnDragOver),
              r.addEventListener("message", this.OnMessage),
              w.LANGUAGE &&
                r.document.documentElement.setAttribute("lang", Ye()),
              (this.m_popup = r),
              (this.m_element = n),
              (this.m_renderWhenReady = i),
              this.m_renderWhenReady.SetTarget(() =>
                this.RenderInternal(this.m_popup, this.m_element, t),
              )),
            Yo.AddTrackedPopup(this),
            a &&
              (this.OnCreateInternal(),
              t != be.k_EWindowBringToFrontInvalid && this.Focus(t)));
        }
        RemoveEventListeners() {
          this.window.removeEventListener(
            "beforeunload",
            this.OnBeforeUnloadEvent,
          ),
            this.window.removeEventListener("unload", this.OnUnload),
            this.window.removeEventListener("resize", this.OnResizeEvent),
            this.window.removeEventListener("focus", this.OnFocusInternal),
            this.window.removeEventListener("blur", this.OnBlurInternal),
            this.window.removeEventListener("drop", this.OnDrop),
            this.window.removeEventListener("dragover", this.OnDragOver),
            this.window.removeEventListener("message", this.OnMessage);
        }
        RenderInternal(e, t, r) {
          var n;
          this.m_bCreated
            ? (this.browser_info &&
                ((n = this.browser_info).m_eBrowserType ==
                  Oo.EBrowserType_OpenVROverlay ||
                  n.m_eBrowserType ==
                    Oo.EBrowserType_OpenVROverlay_Dashboard) &&
                (t.ownerDocument.body.className += " VR"),
              this.Render(e, t),
              this.OnLoad(),
              e.SteamClient &&
                !this.m_bCreateHidden &&
                (r != be.k_EWindowBringToFrontInvalid
                  ? e.SteamClient.Window.BringToFront(r)
                  : e.SteamClient.Window.ShowWindow()))
            : (this.m_onCreateRender = () => this.RenderInternal(e, t, r));
        }
        OnCreateInternal() {
          this.m_bCreated ||
            ((this.m_bCreated = !0),
            this.OnCreate(),
            this.m_onCreateRender &&
              (this.m_onCreateRender(), (this.m_onCreateRender = null)));
        }
        OnCreate() {}
        OnResizeEvent() {
          this.OnResize();
        }
        OnBeforeUnloadEvent() {
          this.OnBeforeUnload();
        }
        OnUnload(e) {
          this.RemoveEventListeners(),
            Yo.RemoveTrackedPopup(this),
            this.OnClose(),
            (this.m_popup = void 0);
        }
        get browser_info() {
          return this.m_rgParams.target_browser;
        }
        get window() {
          return this.m_popup;
        }
        get root_element() {
          return this.m_element;
        }
        get title() {
          return this.m_strTitle;
        }
        set title(e) {
          (this.m_strTitle = e),
            this.m_popup && (this.m_popup.document.title = this.m_strTitle);
        }
        get params() {
          return this.m_rgParams;
        }
        Focus(e = be.k_EWindowBringToFrontAndForceOS) {
          e != be.k_EWindowBringToFrontInvalid &&
            (this.m_popup &&
            void 0 !== this.m_popup.SteamClient &&
            void 0 !== this.m_popup.SteamClient.Window
              ? this.m_popup.SteamClient.Window.BringToFront(e)
              : this.m_popup && this.m_popup.focus());
        }
        Close() {
          this.m_popup &&
            (mo(this.m_popup.window, "Window.Close")
              ? this.m_popup.window.SteamClient.Window.Close()
              : this.m_popup.window.close());
        }
        GetName() {
          return this.m_strName;
        }
        BIsValid() {
          return !!this.m_popup;
        }
        BIsClosed() {
          return !this.m_popup || this.m_popup.closed;
        }
        BIsVisible() {
          return (
            this.m_popup &&
            !this.m_popup.closed &&
            "visible" == this.m_popup.document.visibilityState
          );
        }
        BIsFocused() {
          return this.BIsVisible() && this.m_popup.document.hasFocus();
        }
        OnFocusInternal() {
          this.m_popup &&
            this.m_popup.document.body.classList.add("WindowFocus"),
            (this.m_bFocused = !0),
            this.OnFocus();
        }
        OnBlurInternal() {
          this.m_popup &&
            this.m_popup.document.body.classList.remove("WindowFocus"),
            (this.m_bFocused = !1),
            this.OnBlur();
        }
        get focused() {
          return this.m_bFocused;
        }
        GetWindowRestoreDetails() {
          return this.m_popup &&
            !this.m_popup.closed &&
            this.m_popup.SteamClient
            ? new Promise((e, t) => {
                this.m_popup.SteamClient.Window.GetWindowRestoreDetails((t) => {
                  e(t);
                });
              })
            : Promise.resolve("");
        }
        IsMinimized() {
          return this.m_popup &&
            !this.m_popup.closed &&
            this.m_popup.SteamClient &&
            this.m_popup.SteamClient.Window &&
            this.m_popup.SteamClient.Window.IsWindowMinimized
            ? new Promise((e, t) => {
                this.m_popup.SteamClient.Window.IsWindowMinimized((t) => {
                  e(t);
                });
              })
            : Promise.resolve(!1);
        }
        IsMaximized() {
          return this.m_popup &&
            !this.m_popup.closed &&
            this.m_popup.SteamClient &&
            this.m_popup.SteamClient.Window &&
            this.m_popup.SteamClient.Window.IsWindowMinimized
            ? new Promise((e, t) => {
                this.m_popup.SteamClient.Window.IsWindowMaximized((t) => {
                  e(t);
                });
              })
            : Promise.resolve(!1);
        }
        ReleasePopup() {
          this.OnClose(), (this.m_popup = null);
        }
        OnResize() {
          this.IsMaximized().then((e) => {
            e
              ? this.m_popup.document.body.classList.add("Maximized")
              : this.m_popup.document.body.classList.remove("Maximized");
          });
        }
        OnBeforeUnload() {}
        OnFocus() {}
        OnBlur() {}
      }
      (0, i.gn)([Je.LO], Ko.prototype, "m_bFocused", void 0),
        (0, i.gn)([ye], Ko.prototype, "OnMessage", null),
        (0, i.gn)([ye], Ko.prototype, "RenderInternal", null),
        (0, i.gn)([ye], Ko.prototype, "OnCreateInternal", null),
        (0, i.gn)([ye], Ko.prototype, "OnResizeEvent", null),
        (0, i.gn)([ye], Ko.prototype, "OnBeforeUnloadEvent", null),
        (0, i.gn)([ye], Ko.prototype, "OnUnload", null),
        (0, i.gn)([ye], Ko.prototype, "OnFocusInternal", null),
        (0, i.gn)([ye], Ko.prototype, "OnBlurInternal", null);
      (0, i.gn)(
        [ye],
        class extends Ko {
          constructor(e, t, r, n) {
            super(e, r), this.SetSavedDimensionsKey(t), (this.m_bExpires = n);
          }
          BIsInOverlay() {
            return (
              this.browser_info &&
              0 != this.browser_info.m_unPID &&
              -1 != this.browser_info.m_nBrowserID
            );
          }
          SetSavedDimensionsKey(e) {
            this.m_strSavedDimensionsKey = e;
          }
          UpdateParamsBeforeShow(e) {
            return (
              !this.m_strSavedDimensionsKey ||
              e.bIgnoreSavedDimensions ||
              e.strRestoreDetails
                ? e.strRestoreDetails &&
                  ((this.m_strInitialSavedDimensionsKey =
                    this.GetSavedDimensionsKey()),
                  Yo.SetRestoreDetails(
                    this.m_strInitialSavedDimensionsKey,
                    e.strRestoreDetails,
                    this.m_bExpires,
                  ))
                : ((this.m_strInitialSavedDimensionsKey =
                    this.GetSavedDimensionsKey()),
                  (e.strRestoreDetails = Yo.GetRestoreDetails(
                    this.m_strInitialSavedDimensionsKey,
                  ))),
              e
            );
          }
          OnLoad() {
            this.GetWindowRestoreDetails().then((e) => {
              (this.m_strInitialRestoreDetails = e), this.OnResizeComplete(e);
            });
          }
          OnResize() {
            super.OnResize(), this.QueryAndStoreWindowPosition();
          }
          OnResizeComplete(e) {}
          QueryAndStoreWindowPosition() {
            if (this.m_strInitialRestoreDetails) {
              let e = this.GetSavedDimensionsKey();
              this.m_popup.setTimeout(() => {
                this.GetWindowRestoreDetails().then((t) => {
                  let r =
                    this.m_rgParams.strRestoreDetails == t &&
                    e == this.m_strInitialSavedDimensionsKey;
                  this.m_popup &&
                    this.m_strSavedDimensionsKey &&
                    t &&
                    !r &&
                    (Yo.SetRestoreDetails(e, t, this.m_bExpires),
                    (this.m_rgParams.strRestoreDetails = t),
                    (this.m_strInitialSavedDimensionsKey = e),
                    this.OnResizeComplete(t));
                });
              }, 30);
            }
          }
          OnBeforeUnload() {
            this.QueryAndStoreWindowPosition(), super.OnBeforeUnload();
          }
          OnClose() {}
          SaveWindowPosition(e) {
            Yo.SetRestoreDetails(this.GetSavedDimensionsKey(), e, !1),
              (this.m_rgParams.strRestoreDetails = e);
          }
        }.prototype,
        "QueryAndStoreWindowPosition",
        null,
      );
      class $o {
        constructor() {
          if (
            ((this.m_bShuttingDown = !1),
            (this.m_mapPopups = Je.LO.map([], { deep: !1 })),
            (this.m_rgShutdownCallbacks = []),
            (this.m_rgPopupCreatedCallbacks = []),
            (this.m_unCurrentAccountID = 0),
            (this.m_mapRestoreDetails = new Map()),
            (this.m_bSaveRequired = !1),
            !{ NODE_ENV: "production", STEAM_BUILD: "buildbot" }.MOBILE_BUILD)
          ) {
            window.addEventListener("beforeunload", (e) => {
              var t, r, n, i;
              this.m_bShuttingDown = !0;
              for (let e of this.m_rgShutdownCallbacks) e();
              let a = [];
              this.m_mapPopups.forEach((e) => {
                e.BIsValid() && !e.BIsClosed() && a.push(e);
              });
              for (let e of a)
                (null ===
                  (r =
                    null === (t = e.window) || void 0 === t
                      ? void 0
                      : t.SteamClient.Browser) || void 0 === r
                  ? void 0
                  : r.SetShouldExitSteamOnBrowserClosed) &&
                  e.window.SteamClient.Browser.SetShouldExitSteamOnBrowserClosed(
                    !1,
                  ),
                  (null === (n = e.window) || void 0 === n
                    ? void 0
                    : n.SteamClient.Window.SetHideOnClose) &&
                    (null === (i = e.window) ||
                      void 0 === i ||
                      i.SteamClient.Window.SetHideOnClose(!1)),
                  e.Close();
              this.m_bSaveRequired && this.SaveSavedDimensionStore(),
                this.m_mapPopups.clear();
            });
            let e = document.querySelector("head");
            c(e, "Couldn't find head element"),
              e &&
                ((this.m_DynamicCSSObserver = new MutationObserver(() => {
                  const e = zt();
                  this.m_mapPopups.forEach((t) => {
                    Wt(t.window.document, e, !1);
                  });
                })),
                this.m_DynamicCSSObserver.observe(e, { childList: !0 }));
          }
        }
        BAnyPopupHasFocus() {
          for (const e of this.m_mapPopups.values()) if (e.focused) return !0;
          return !1;
        }
        BAnyMenuHasFocus() {
          for (const e of this.m_mapPopups.values())
            if (e.focused && e.params.eCreationFlags & Uo.NoTaskbarIcon)
              return !0;
          return !1;
        }
        SetCurrentLoggedInAccountID(e) {
          this.m_unCurrentAccountID != e &&
            ((this.m_unCurrentAccountID = e),
            e
              ? this.LoadSavedDimensionStore()
              : this.ClearSavedDimensionStore());
        }
        AddShutdownCallback(e) {
          this.m_rgShutdownCallbacks.push(e);
        }
        AddPopupCreatedCallback(e) {
          this.m_rgPopupCreatedCallbacks.push(e);
        }
        AddTrackedPopup(e) {
          this.m_mapPopups.set(e.GetName(), e);
          for (let t of this.m_rgPopupCreatedCallbacks) t(e);
        }
        RemoveTrackedPopup(e) {
          this.m_mapPopups.delete(e.GetName());
        }
        GetExistingPopup(e) {
          return this.m_mapPopups.get(e);
        }
        GetPopups() {
          return this.m_mapPopups.values();
        }
        GetPopupForWindow(e) {
          for (const t of this.m_mapPopups.values())
            if (t.window === e) return t;
        }
        ClosePopupsOwnedByBrowser(e) {
          this.m_mapPopups.forEach((t) => {
            t.browser_info &&
              t.browser_info.m_nBrowserID == e.m_nBrowserID &&
              t.browser_info.m_unPID == e.m_unPID &&
              t.Close();
          });
        }
        static CreatePopup(e, t) {
          let r = t.dimensions || {},
            n = r.width || 300,
            i = r.height || 300,
            a = t.title,
            s = "width=" + n + ",height=" + i;
          void 0 !== r.left && (s += ",left=" + r.left),
            void 0 !== r.top && (s += ",top=" + r.top),
            (s += ",resizeable,status=0,toolbar=0,menubar=0,location=0");
          let o = "about:blank",
            l = [];
          l.push("createflags=" + t.eCreationFlags),
            t.minWidth && l.push("minwidth=" + t.minWidth),
            t.minHeight && l.push("minheight=" + t.minHeight),
            t.maxWidth &&
              t.maxWidth != 1 / 0 &&
              l.push("maxwidth=" + t.maxWidth),
            t.maxHeight &&
              t.maxHeight != 1 / 0 &&
              l.push("maxheight=" + t.maxHeight),
            t.target_browser
              ? (l.push("pid=" + t.target_browser.m_unPID),
                l.push("browser=" + t.target_browser.m_nBrowserID),
                t.target_browser.m_eBrowserType
                  ? l.push("browserType=" + t.target_browser.m_eBrowserType)
                  : t.browserType && l.push("browserType=" + t.browserType),
                t.availscreenwidth &&
                  t.availscreenheight &&
                  (l.push("screenavailwidth=" + t.availscreenwidth),
                  l.push("screenavailheight=" + t.availscreenheight)))
              : t.browserType && l.push("browserType=" + t.browserType),
            t.strVROverlayKey && l.push("vrOverlayKey=" + t.strVROverlayKey),
            t.strRestoreDetails &&
              l.push("restoredetails=" + t.strRestoreDetails),
            t.window_opener_id && l.push("openerid=" + t.window_opener_id),
            t.parent_container_popup_id &&
              l.push("parentcontainerpopupid=" + t.parent_container_popup_id),
            t.center_on_window &&
              void 0 === r.left &&
              void 0 === r.top &&
              l.push(
                "centerOnBrowserID=" +
                  t.center_on_window.SteamClient.Browser.GetBrowserID(),
              ),
            t.strUserAgent &&
              l.push(
                "useragent=" +
                  t.strUserAgent +
                  "/" +
                  (function (e) {
                    switch (e) {
                      case 0:
                      default:
                        return "default";
                      case 1:
                        return "pw_dota2";
                      case 2:
                        return "nexon_dota2";
                      case 3:
                        return "steamcmd";
                      case 4:
                        return "pw_csgo";
                      case 5:
                        return "clientui";
                      case 6:
                        return "steamhdl";
                      case 7:
                        return "steamchina";
                      case 8:
                        return "singleapp";
                      case 9:
                        return "gameserver";
                    }
                  })(w.LAUNCHER_TYPE),
              ),
            t.hwndParent && l.push("hwndParent=" + t.hwndParent),
            t.bPinned && l.push("pinned=true"),
            t.bModal && l.push("modal=true"),
            l && (o += "?" + l.join("&"));
          let c = (t.owner_window || window).open(o, e, s);
          if (!c)
            return (
              console.error(
                `Failed to create popup, browser/CEF may be blocking popups for "${window.location.origin}"`,
              ),
              {}
            );
          let u = "";
          t.html_class && (u = `class="${t.html_class}"`);
          let d = "";
          t.body_class && (d = `class="${t.body_class}"`);
          let m = "";
          t.popup_class && (m = `class="${t.popup_class}"`);
          let _ = `<!DOCTYPE html><html ${u}><head><title></title></head><body ${d}><div id="popup_target" ${m}></div></body></html>`;
          var h, p;
          return (
            c.document.write(_),
            (c.document.title = a),
            (h = c),
            (p = zt()),
            Wt(h.document, p, !0),
            { popup: c, element: c.document.getElementById("popup_target") }
          );
        }
        BShuttingDown() {
          return this.m_bShuttingDown;
        }
        GetLocalStorageKey() {
          return "PopupSavedDimensions_" + this.m_unCurrentAccountID;
        }
        LoadSavedDimensionStore() {
          if (!this.m_unCurrentAccountID) return;
          let e = this.GetLocalStorageKey();
          this.m_mapRestoreDetails = void 0;
          let t = window.localStorage.getItem(e);
          if (t)
            try {
              let e = JSON.parse(t);
              this.m_mapRestoreDetails = new Map(e);
            } catch (e) {}
          this.m_mapRestoreDetails || (this.m_mapRestoreDetails = new Map());
        }
        SaveSavedDimensionStore() {
          if (!this.m_unCurrentAccountID || !this.m_bSaveRequired) return;
          let e = this.GetLocalStorageKey(),
            t = JSON.stringify(Array.from(this.m_mapRestoreDetails));
          window.localStorage.setItem(e, t), (this.m_bSaveRequired = !1);
        }
        DebouncedSaveSavedDimensionStore() {
          this.SaveSavedDimensionStore();
        }
        ClearSavedDimensionStore() {
          this.m_mapRestoreDetails.clear(), (this.m_bSaveRequired = !1);
        }
        GetRestoreDetails(e) {
          if (!this.m_mapRestoreDetails.has(e)) return "";
          let t = this.m_mapRestoreDetails.get(e);
          return (
            (t.last_used = Date.now()),
            (this.m_bSaveRequired = !0),
            t.strRestoreDetails
          );
        }
        SetRestoreDetails(e, t, r) {
          if (e) {
            if (t) {
              if (this.m_mapRestoreDetails.size > 50) {
                let e = null,
                  t = Date.now();
                for (let r of Array.from(this.m_mapRestoreDetails.keys())) {
                  let n = this.m_mapRestoreDetails.get(r);
                  n.last_used < t && n.bExpires && ((t = n.last_used), (e = r));
                }
                e && this.m_mapRestoreDetails.delete(e);
              }
              let n = {
                strRestoreDetails: t,
                last_used: Date.now(),
                bExpires: r,
              };
              this.m_mapRestoreDetails.set(e, n);
            } else this.m_mapRestoreDetails.delete(e);
            (this.m_bSaveRequired = !0),
              this.m_bShuttingDown
                ? this.SaveSavedDimensionStore()
                : this.DebouncedSaveSavedDimensionStore();
          }
        }
      }
      (0, i.gn)(
        [ye, Po(100)],
        $o.prototype,
        "DebouncedSaveSavedDimensionStore",
        null,
      );
      let Yo = xo(0, () => new $o());
      window.g_PopupManager = Yo;
      const Qo = s.createContext(function (e, t) {
        return {
          ShowVirtualKeyboard: () => {},
          ShowModalKeyboard: () => {},
          SetAsCurrentVirtualKeyboardTarget: () => {},
          HideVirtualKeyboard: () => {},
          DelayHideVirtualKeyboard: () => {},
          BIsActive: () => !1,
          BIsElementValidForInput: () => !1,
        };
      });
      function Xo(e, t) {
        const { onTextEntered: r } = e,
          n = (0, i._T)(e, ["onTextEntered"]),
          a = s.useRef(),
          o = T({ bSuppressAssert: !0 }),
          l = s.useRef({ onTextEntered: () => null });
        Object.assign(
          l.current,
          Object.assign(Object.assign({}, n), {
            onTextEntered:
              r ||
              ((e) =>
                (function (e, t) {
                  var r;
                  if (t) {
                    switch (e) {
                      case "Backspace":
                        e = "\b";
                        break;
                      case "Enter":
                        e = "\n";
                        break;
                      case "Tab":
                        e = "\t";
                        break;
                      case "ArrowLeft":
                        e = "[D";
                        break;
                      case "ArrowRight":
                        e = "[C";
                        break;
                      case "ArrowUp":
                        e = "[A";
                        break;
                      case "ArrowDown":
                        e = "[B";
                    }
                    "" !== e &&
                      (null === (r = SteamClient.OpenVR) ||
                        void 0 === r ||
                        r.Keyboard.SendText(e));
                  } else {
                    switch (e) {
                      case "Backspace":
                        e = "";
                        break;
                      case "Enter":
                        e = "";
                        break;
                      case "Tab":
                        e = "\t";
                        break;
                      case "ArrowLeft":
                        e = "";
                        break;
                      case "ArrowRight":
                        e = "";
                        break;
                      case "ArrowUp":
                        e = "";
                        break;
                      case "ArrowDown":
                        e = "";
                    }
                    SteamClient.Input.ControllerKeyboardSendText(e);
                  }
                })(e, o.IN_VR)),
            BIsElementValidForInput: () =>
              a.current && document.activeElement == a.current,
          }),
        );
        const c = (function (e, t) {
            const r = s.useRef(),
              n = s.useContext(Qo);
            r.current || (r.current = n(e, t));
            return r.current;
          })(l.current, () => {
            var e;
            return null === (e = a.current) || void 0 === e
              ? void 0
              : e.ownerDocument.defaultView;
          }),
          u = s.useCallback(
            (e) => {
              var t;
              if (!document.hasFocus() && document.activeElement == a.current)
                return;
              if (e.currentTarget != a.current)
                return void console.warn(
                  "keyboard got blur event, but it's not the active element",
                );
              const r =
                (n =
                  null ===
                    (t = Yo.GetPopupForWindow(
                      a.current.ownerDocument.defaultView,
                    )) || void 0 === t
                    ? void 0
                    : t.params.browserType) == Oo.EBrowserType_OpenVROverlay ||
                n == Oo.EBrowserType_OpenVROverlay_Dashboard ||
                n == Oo.EBrowserType_OpenVROverlay_Subview;
              var n;
              (c.BIsActive() || r) && c.DelayHideVirtualKeyboard();
            },
            [c],
          ),
          d = Jt(
            (e) => {
              a.current = e;
              const t = [];
              return (
                e &&
                  (e.addEventListener(
                    "focus",
                    c.SetAsCurrentVirtualKeyboardTarget,
                  ),
                  t.push(() =>
                    e.removeEventListener(
                      "focus",
                      c.SetAsCurrentVirtualKeyboardTarget,
                    ),
                  ),
                  e.addEventListener("click", c.ShowVirtualKeyboard),
                  t.push(() =>
                    e.removeEventListener("click", c.ShowVirtualKeyboard),
                  ),
                  t.push(_s(a.current, c.ShowVirtualKeyboard)),
                  t.push(ps(a.current, u))),
                () => t.forEach((e) => e())
              );
            },
            [u, c],
          );
        return (
          s.useLayoutEffect(
            () => (
              Qt(t, {
                TakeFocusAndShowKeyboard: () => {
                  const e = a.current;
                  e &&
                    (document.activeElement != e && e.focus(),
                    c.ShowVirtualKeyboard());
                },
                HideVirtualKeyboard: () => {
                  c.HideVirtualKeyboard();
                },
              }),
              () => Qt(t, null)
            ),
            [c, t],
          ),
          d
        );
      }
      var Zo;
      !(function (e) {
        (e[(e.LaunchGame = 0)] = "LaunchGame"),
          (e[(e.FriendMessage = 1)] = "FriendMessage"),
          (e[(e.ChatMention = 2)] = "ChatMention"),
          (e[(e.ChatMessage = 3)] = "ChatMessage"),
          (e[(e.ToastMessage = 4)] = "ToastMessage"),
          (e[(e.ToastAchievement = 5)] = "ToastAchievement"),
          (e[(e.ToastMisc = 6)] = "ToastMisc"),
          (e[(e.ToastMiscShort = 7)] = "ToastMiscShort"),
          (e[(e.FriendOnline = 8)] = "FriendOnline"),
          (e[(e.FriendInGame = 9)] = "FriendInGame"),
          (e[(e.VolSound = 10)] = "VolSound"),
          (e[(e.ShowModal = 11)] = "ShowModal"),
          (e[(e.HideModal = 12)] = "HideModal"),
          (e[(e.IntoGameDetail = 13)] = "IntoGameDetail"),
          (e[(e.OutOfGameDetail = 14)] = "OutOfGameDetail"),
          (e[(e.PagedNavigation = 15)] = "PagedNavigation"),
          (e[(e.ToggleOn = 16)] = "ToggleOn"),
          (e[(e.ToggleOff = 17)] = "ToggleOff"),
          (e[(e.SliderUp = 18)] = "SliderUp"),
          (e[(e.SliderDown = 19)] = "SliderDown"),
          (e[(e.ChangeTabs = 20)] = "ChangeTabs"),
          (e[(e.DefaultOk = 21)] = "DefaultOk"),
          (e[(e.OpenSideMenu = 22)] = "OpenSideMenu"),
          (e[(e.CloseSideMenu = 23)] = "CloseSideMenu"),
          (e[(e.BasicNav = 24)] = "BasicNav"),
          (e[(e.FailedNav = 25)] = "FailedNav"),
          (e[(e.Typing = 26)] = "Typing"),
          (e[(e.TimerExpired = 27)] = "TimerExpired");
      })(Zo || (Zo = {}));
      const Jo = new (class {
        constructor() {
          this.m_fnCallbackOnPlaySound = new Se();
        }
        RegisterCallbackOnPlaySound(e) {
          return this.m_fnCallbackOnPlaySound.Register(e);
        }
        PlayNavSound(e, t) {
          this.m_fnCallbackOnPlaySound.Dispatch(e, t);
        }
      })();
      var el, tl, rl, nl, il, al, sl;
      !(function (e) {
        (e[(e.k_EVRError_None = 0)] = "k_EVRError_None"),
          (e[(e.k_EVRError_VRSkipParam = 1)] = "k_EVRError_VRSkipParam"),
          (e[(e.k_EVRError_ComponentNotInstalled = 2)] =
            "k_EVRError_ComponentNotInstalled"),
          (e[(e.k_EVRError_ComponentBusy = 3)] = "k_EVRError_ComponentBusy"),
          (e[(e.k_EVRError_CrashProtection = 4)] =
            "k_EVRError_CrashProtection"),
          (e[(e.k_EVRError_HmdError = 5)] = "k_EVRError_HmdError"),
          (e[(e.k_EVRError_PathChanged = 6)] = "k_EVRError_PathChanged");
      })(el || (el = {})),
        (function (e) {
          (e[(e.VRInitError_None = 0)] = "VRInitError_None"),
            (e[(e.VRInitError_Unknown = 1)] = "VRInitError_Unknown"),
            (e[(e.VRInitError_Init_InstallationNotFound = 100)] =
              "VRInitError_Init_InstallationNotFound"),
            (e[(e.VRInitError_Init_InstallationCorrupt = 101)] =
              "VRInitError_Init_InstallationCorrupt"),
            (e[(e.VRInitError_Init_VRClientDLLNotFound = 102)] =
              "VRInitError_Init_VRClientDLLNotFound"),
            (e[(e.VRInitError_Init_FileNotFound = 103)] =
              "VRInitError_Init_FileNotFound"),
            (e[(e.VRInitError_Init_FactoryNotFound = 104)] =
              "VRInitError_Init_FactoryNotFound"),
            (e[(e.VRInitError_Init_InterfaceNotFound = 105)] =
              "VRInitError_Init_InterfaceNotFound"),
            (e[(e.VRInitError_Init_InvalidInterface = 106)] =
              "VRInitError_Init_InvalidInterface"),
            (e[(e.VRInitError_Init_UserConfigDirectoryInvalid = 107)] =
              "VRInitError_Init_UserConfigDirectoryInvalid"),
            (e[(e.VRInitError_Init_HmdNotFound = 108)] =
              "VRInitError_Init_HmdNotFound"),
            (e[(e.VRInitError_Init_NotInitialized = 109)] =
              "VRInitError_Init_NotInitialized"),
            (e[(e.VRInitError_Init_PathRegistryNotFound = 110)] =
              "VRInitError_Init_PathRegistryNotFound"),
            (e[(e.VRInitError_Init_NoConfigPath = 111)] =
              "VRInitError_Init_NoConfigPath"),
            (e[(e.VRInitError_Init_NoLogPath = 112)] =
              "VRInitError_Init_NoLogPath"),
            (e[(e.VRInitError_Init_PathRegistryNotWritable = 113)] =
              "VRInitError_Init_PathRegistryNotWritable"),
            (e[(e.VRInitError_Init_AppInfoInitFailed = 114)] =
              "VRInitError_Init_AppInfoInitFailed"),
            (e[(e.VRInitError_Init_Retry = 115)] = "VRInitError_Init_Retry"),
            (e[(e.VRInitError_Init_InitCanceledByUser = 116)] =
              "VRInitError_Init_InitCanceledByUser"),
            (e[(e.VRInitError_Init_AnotherAppLaunching = 117)] =
              "VRInitError_Init_AnotherAppLaunching"),
            (e[(e.VRInitError_Init_SettingsInitFailed = 118)] =
              "VRInitError_Init_SettingsInitFailed"),
            (e[(e.VRInitError_Init_ShuttingDown = 119)] =
              "VRInitError_Init_ShuttingDown"),
            (e[(e.VRInitError_Init_TooManyObjects = 120)] =
              "VRInitError_Init_TooManyObjects"),
            (e[(e.VRInitError_Init_NoServerForBackgroundApp = 121)] =
              "VRInitError_Init_NoServerForBackgroundApp"),
            (e[(e.VRInitError_Init_NotSupportedWithCompositor = 122)] =
              "VRInitError_Init_NotSupportedWithCompositor"),
            (e[(e.VRInitError_Init_NotAvailableToUtilityApps = 123)] =
              "VRInitError_Init_NotAvailableToUtilityApps"),
            (e[(e.VRInitError_Init_Internal = 124)] =
              "VRInitError_Init_Internal"),
            (e[(e.VRInitError_Init_HmdDriverIdIsNone = 125)] =
              "VRInitError_Init_HmdDriverIdIsNone"),
            (e[(e.VRInitError_Init_HmdNotFoundPresenceFailed = 126)] =
              "VRInitError_Init_HmdNotFoundPresenceFailed"),
            (e[(e.VRInitError_Init_VRMonitorNotFound = 127)] =
              "VRInitError_Init_VRMonitorNotFound"),
            (e[(e.VRInitError_Init_VRMonitorStartupFailed = 128)] =
              "VRInitError_Init_VRMonitorStartupFailed"),
            (e[(e.VRInitError_Init_LowPowerWatchdogNotSupported = 129)] =
              "VRInitError_Init_LowPowerWatchdogNotSupported"),
            (e[(e.VRInitError_Init_InvalidApplicationType = 130)] =
              "VRInitError_Init_InvalidApplicationType"),
            (e[(e.VRInitError_Init_NotAvailableToWatchdogApps = 131)] =
              "VRInitError_Init_NotAvailableToWatchdogApps"),
            (e[(e.VRInitError_Init_WatchdogDisabledInSettings = 132)] =
              "VRInitError_Init_WatchdogDisabledInSettings"),
            (e[(e.VRInitError_Init_VRDashboardNotFound = 133)] =
              "VRInitError_Init_VRDashboardNotFound"),
            (e[(e.VRInitError_Init_VRDashboardStartupFailed = 134)] =
              "VRInitError_Init_VRDashboardStartupFailed"),
            (e[(e.VRInitError_Init_VRHomeNotFound = 135)] =
              "VRInitError_Init_VRHomeNotFound"),
            (e[(e.VRInitError_Init_VRHomeStartupFailed = 136)] =
              "VRInitError_Init_VRHomeStartupFailed"),
            (e[(e.VRInitError_Init_RebootingBusy = 137)] =
              "VRInitError_Init_RebootingBusy"),
            (e[(e.VRInitError_Init_FirmwareUpdateBusy = 138)] =
              "VRInitError_Init_FirmwareUpdateBusy"),
            (e[(e.VRInitError_Init_FirmwareRecoveryBusy = 139)] =
              "VRInitError_Init_FirmwareRecoveryBusy"),
            (e[(e.VRInitError_Init_USBServiceBusy = 140)] =
              "VRInitError_Init_USBServiceBusy"),
            (e[(e.VRInitError_Init_VRWebHelperStartupFailed = 141)] =
              "VRInitError_Init_VRWebHelperStartupFailed"),
            (e[(e.VRInitError_Init_TrackerManagerInitFailed = 142)] =
              "VRInitError_Init_TrackerManagerInitFailed"),
            (e[(e.VRInitError_Init_AlreadyRunning = 143)] =
              "VRInitError_Init_AlreadyRunning"),
            (e[(e.VRInitError_Init_FailedForVrMonitor = 144)] =
              "VRInitError_Init_FailedForVrMonitor"),
            (e[(e.VRInitError_Init_PropertyManagerInitFailed = 145)] =
              "VRInitError_Init_PropertyManagerInitFailed"),
            (e[(e.VRInitError_Init_WebServerFailed = 146)] =
              "VRInitError_Init_WebServerFailed"),
            (e[(e.VRInitError_Init_IllegalTypeTransition = 147)] =
              "VRInitError_Init_IllegalTypeTransition"),
            (e[(e.VRInitError_Init_MismatchedRuntimes = 148)] =
              "VRInitError_Init_MismatchedRuntimes"),
            (e[(e.VRInitError_Init_InvalidProcessId = 149)] =
              "VRInitError_Init_InvalidProcessId"),
            (e[(e.VRInitError_Init_VRServiceStartupFailed = 150)] =
              "VRInitError_Init_VRServiceStartupFailed"),
            (e[(e.VRInitError_Init_PrismNeedsNewDrivers = 151)] =
              "VRInitError_Init_PrismNeedsNewDrivers"),
            (e[(e.VRInitError_Init_PrismStartupTimedOut = 152)] =
              "VRInitError_Init_PrismStartupTimedOut"),
            (e[(e.VRInitError_Init_CouldNotStartPrism = 153)] =
              "VRInitError_Init_CouldNotStartPrism"),
            (e[(e.VRInitError_Init_PrismClientInitFailed = 154)] =
              "VRInitError_Init_PrismClientInitFailed"),
            (e[(e.VRInitError_Init_PrismClientStartFailed = 155)] =
              "VRInitError_Init_PrismClientStartFailed"),
            (e[(e.VRInitError_Init_PrismExitedUnexpectedly = 156)] =
              "VRInitError_Init_PrismExitedUnexpectedly"),
            (e[(e.VRInitError_Init_BadLuid = 157)] =
              "VRInitError_Init_BadLuid"),
            (e[(e.VRInitError_Init_NoServerForAppContainer = 158)] =
              "VRInitError_Init_NoServerForAppContainer"),
            (e[(e.VRInitError_Init_DuplicateBootstrapper = 159)] =
              "VRInitError_Init_DuplicateBootstrapper"),
            (e[(e.VRInitError_Init_VRDashboardServicePending = 160)] =
              "VRInitError_Init_VRDashboardServicePending"),
            (e[(e.VRInitError_Init_VRDashboardServiceTimeout = 161)] =
              "VRInitError_Init_VRDashboardServiceTimeout"),
            (e[(e.VRInitError_Init_VRDashboardServiceStopped = 162)] =
              "VRInitError_Init_VRDashboardServiceStopped"),
            (e[(e.VRInitError_Init_VRDashboardAlreadyStarted = 163)] =
              "VRInitError_Init_VRDashboardAlreadyStarted"),
            (e[(e.VRInitError_Init_VRDashboardCopyFailed = 164)] =
              "VRInitError_Init_VRDashboardCopyFailed"),
            (e[(e.VRInitError_Init_VRDashboardTokenFailure = 165)] =
              "VRInitError_Init_VRDashboardTokenFailure"),
            (e[(e.VRInitError_Init_VRDashboardEnvironmentFailure = 166)] =
              "VRInitError_Init_VRDashboardEnvironmentFailure"),
            (e[(e.VRInitError_Init_VRDashboardPathFailure = 167)] =
              "VRInitError_Init_VRDashboardPathFailure"),
            (e[(e.VRInitError_Driver_Failed = 200)] =
              "VRInitError_Driver_Failed"),
            (e[(e.VRInitError_Driver_Unknown = 201)] =
              "VRInitError_Driver_Unknown"),
            (e[(e.VRInitError_Driver_HmdUnknown = 202)] =
              "VRInitError_Driver_HmdUnknown"),
            (e[(e.VRInitError_Driver_NotLoaded = 203)] =
              "VRInitError_Driver_NotLoaded"),
            (e[(e.VRInitError_Driver_RuntimeOutOfDate = 204)] =
              "VRInitError_Driver_RuntimeOutOfDate"),
            (e[(e.VRInitError_Driver_HmdInUse = 205)] =
              "VRInitError_Driver_HmdInUse"),
            (e[(e.VRInitError_Driver_NotCalibrated = 206)] =
              "VRInitError_Driver_NotCalibrated"),
            (e[(e.VRInitError_Driver_CalibrationInvalid = 207)] =
              "VRInitError_Driver_CalibrationInvalid"),
            (e[(e.VRInitError_Driver_HmdDisplayNotFound = 208)] =
              "VRInitError_Driver_HmdDisplayNotFound"),
            (e[(e.VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209)] =
              "VRInitError_Driver_TrackedDeviceInterfaceUnknown"),
            (e[(e.VRInitError_Driver_HmdDriverIdOutOfBounds = 211)] =
              "VRInitError_Driver_HmdDriverIdOutOfBounds"),
            (e[(e.VRInitError_Driver_HmdDisplayMirrored = 212)] =
              "VRInitError_Driver_HmdDisplayMirrored"),
            (e[(e.VRInitError_Driver_HmdDisplayNotFoundLaptop = 213)] =
              "VRInitError_Driver_HmdDisplayNotFoundLaptop"),
            (e[(e.VRInitError_Driver_PeerDriverNotInstalled = 214)] =
              "VRInitError_Driver_PeerDriverNotInstalled"),
            (e[(e.VRInitError_Driver_WirelessHmdNotConnected = 215)] =
              "VRInitError_Driver_WirelessHmdNotConnected"),
            (e[(e.VRInitError_IPC_ServerInitFailed = 300)] =
              "VRInitError_IPC_ServerInitFailed"),
            (e[(e.VRInitError_IPC_ConnectFailed = 301)] =
              "VRInitError_IPC_ConnectFailed"),
            (e[(e.VRInitError_IPC_SharedStateInitFailed = 302)] =
              "VRInitError_IPC_SharedStateInitFailed"),
            (e[(e.VRInitError_IPC_CompositorInitFailed = 303)] =
              "VRInitError_IPC_CompositorInitFailed"),
            (e[(e.VRInitError_IPC_MutexInitFailed = 304)] =
              "VRInitError_IPC_MutexInitFailed"),
            (e[(e.VRInitError_IPC_Failed = 305)] = "VRInitError_IPC_Failed"),
            (e[(e.VRInitError_IPC_CompositorConnectFailed = 306)] =
              "VRInitError_IPC_CompositorConnectFailed"),
            (e[(e.VRInitError_IPC_CompositorInvalidConnectResponse = 307)] =
              "VRInitError_IPC_CompositorInvalidConnectResponse"),
            (e[(e.VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308)] =
              "VRInitError_IPC_ConnectFailedAfterMultipleAttempts"),
            (e[(e.VRInitError_IPC_ConnectFailedAfterTargetExited = 309)] =
              "VRInitError_IPC_ConnectFailedAfterTargetExited"),
            (e[(e.VRInitError_IPC_NamespaceUnavailable = 310)] =
              "VRInitError_IPC_NamespaceUnavailable"),
            (e[(e.VRInitError_Compositor_Failed = 400)] =
              "VRInitError_Compositor_Failed"),
            (e[(e.VRInitError_Compositor_D3D11HardwareRequired = 401)] =
              "VRInitError_Compositor_D3D11HardwareRequired"),
            (e[(e.VRInitError_Compositor_FirmwareRequiresUpdate = 402)] =
              "VRInitError_Compositor_FirmwareRequiresUpdate"),
            (e[(e.VRInitError_Compositor_OverlayInitFailed = 403)] =
              "VRInitError_Compositor_OverlayInitFailed"),
            (e[(e.VRInitError_Compositor_ScreenshotsInitFailed = 404)] =
              "VRInitError_Compositor_ScreenshotsInitFailed"),
            (e[(e.VRInitError_Compositor_UnableToCreateDevice = 405)] =
              "VRInitError_Compositor_UnableToCreateDevice"),
            (e[(e.VRInitError_Compositor_SharedStateIsNull = 406)] =
              "VRInitError_Compositor_SharedStateIsNull"),
            (e[(e.VRInitError_Compositor_NotificationManagerIsNull = 407)] =
              "VRInitError_Compositor_NotificationManagerIsNull"),
            (e[(e.VRInitError_Compositor_ResourceManagerClientIsNull = 408)] =
              "VRInitError_Compositor_ResourceManagerClientIsNull"),
            (e[
              (e.VRInitError_Compositor_MessageOverlaySharedStateInitFailure = 409)
            ] = "VRInitError_Compositor_MessageOverlaySharedStateInitFailure"),
            (e[(e.VRInitError_Compositor_PropertiesInterfaceIsNull = 410)] =
              "VRInitError_Compositor_PropertiesInterfaceIsNull"),
            (e[(e.VRInitError_Compositor_CreateFullscreenWindowFailed = 411)] =
              "VRInitError_Compositor_CreateFullscreenWindowFailed"),
            (e[(e.VRInitError_Compositor_SettingsInterfaceIsNull = 412)] =
              "VRInitError_Compositor_SettingsInterfaceIsNull"),
            (e[(e.VRInitError_Compositor_FailedToShowWindow = 413)] =
              "VRInitError_Compositor_FailedToShowWindow"),
            (e[(e.VRInitError_Compositor_DistortInterfaceIsNull = 414)] =
              "VRInitError_Compositor_DistortInterfaceIsNull"),
            (e[(e.VRInitError_Compositor_DisplayFrequencyFailure = 415)] =
              "VRInitError_Compositor_DisplayFrequencyFailure"),
            (e[(e.VRInitError_Compositor_RendererInitializationFailed = 416)] =
              "VRInitError_Compositor_RendererInitializationFailed"),
            (e[(e.VRInitError_Compositor_DXGIFactoryInterfaceIsNull = 417)] =
              "VRInitError_Compositor_DXGIFactoryInterfaceIsNull"),
            (e[(e.VRInitError_Compositor_DXGIFactoryCreateFailed = 418)] =
              "VRInitError_Compositor_DXGIFactoryCreateFailed"),
            (e[(e.VRInitError_Compositor_DXGIFactoryQueryFailed = 419)] =
              "VRInitError_Compositor_DXGIFactoryQueryFailed"),
            (e[(e.VRInitError_Compositor_InvalidAdapterDesktop = 420)] =
              "VRInitError_Compositor_InvalidAdapterDesktop"),
            (e[(e.VRInitError_Compositor_InvalidHmdAttachment = 421)] =
              "VRInitError_Compositor_InvalidHmdAttachment"),
            (e[(e.VRInitError_Compositor_InvalidOutputDesktop = 422)] =
              "VRInitError_Compositor_InvalidOutputDesktop"),
            (e[(e.VRInitError_Compositor_InvalidDeviceProvided = 423)] =
              "VRInitError_Compositor_InvalidDeviceProvided"),
            (e[
              (e.VRInitError_Compositor_D3D11RendererInitializationFailed = 424)
            ] = "VRInitError_Compositor_D3D11RendererInitializationFailed"),
            (e[(e.VRInitError_Compositor_FailedToFindDisplayMode = 425)] =
              "VRInitError_Compositor_FailedToFindDisplayMode"),
            (e[(e.VRInitError_Compositor_FailedToCreateSwapChain = 426)] =
              "VRInitError_Compositor_FailedToCreateSwapChain"),
            (e[(e.VRInitError_Compositor_FailedToGetBackBuffer = 427)] =
              "VRInitError_Compositor_FailedToGetBackBuffer"),
            (e[(e.VRInitError_Compositor_FailedToCreateRenderTarget = 428)] =
              "VRInitError_Compositor_FailedToCreateRenderTarget"),
            (e[(e.VRInitError_Compositor_FailedToCreateDXGI2SwapChain = 429)] =
              "VRInitError_Compositor_FailedToCreateDXGI2SwapChain"),
            (e[(e.VRInitError_Compositor_FailedtoGetDXGI2BackBuffer = 430)] =
              "VRInitError_Compositor_FailedtoGetDXGI2BackBuffer"),
            (e[
              (e.VRInitError_Compositor_FailedToCreateDXGI2RenderTarget = 431)
            ] = "VRInitError_Compositor_FailedToCreateDXGI2RenderTarget"),
            (e[
              (e.VRInitError_Compositor_FailedToGetDXGIDeviceInterface = 432)
            ] = "VRInitError_Compositor_FailedToGetDXGIDeviceInterface"),
            (e[(e.VRInitError_Compositor_SelectDisplayMode = 433)] =
              "VRInitError_Compositor_SelectDisplayMode"),
            (e[
              (e.VRInitError_Compositor_FailedToCreateNvAPIRenderTargets = 434)
            ] = "VRInitError_Compositor_FailedToCreateNvAPIRenderTargets"),
            (e[(e.VRInitError_Compositor_NvAPISetDisplayMode = 435)] =
              "VRInitError_Compositor_NvAPISetDisplayMode"),
            (e[
              (e.VRInitError_Compositor_FailedToCreateDirectModeDisplay = 436)
            ] = "VRInitError_Compositor_FailedToCreateDirectModeDisplay"),
            (e[(e.VRInitError_Compositor_InvalidHmdPropertyContainer = 437)] =
              "VRInitError_Compositor_InvalidHmdPropertyContainer"),
            (e[(e.VRInitError_Compositor_UpdateDisplayFrequency = 438)] =
              "VRInitError_Compositor_UpdateDisplayFrequency"),
            (e[(e.VRInitError_Compositor_CreateRasterizerState = 439)] =
              "VRInitError_Compositor_CreateRasterizerState"),
            (e[
              (e.VRInitError_Compositor_CreateWireframeRasterizerState = 440)
            ] = "VRInitError_Compositor_CreateWireframeRasterizerState"),
            (e[(e.VRInitError_Compositor_CreateSamplerState = 441)] =
              "VRInitError_Compositor_CreateSamplerState"),
            (e[
              (e.VRInitError_Compositor_CreateClampToBorderSamplerState = 442)
            ] = "VRInitError_Compositor_CreateClampToBorderSamplerState"),
            (e[(e.VRInitError_Compositor_CreateAnisoSamplerState = 443)] =
              "VRInitError_Compositor_CreateAnisoSamplerState"),
            (e[(e.VRInitError_Compositor_CreateOverlaySamplerState = 444)] =
              "VRInitError_Compositor_CreateOverlaySamplerState"),
            (e[(e.VRInitError_Compositor_CreatePanoramaSamplerState = 445)] =
              "VRInitError_Compositor_CreatePanoramaSamplerState"),
            (e[(e.VRInitError_Compositor_CreateFontSamplerState = 446)] =
              "VRInitError_Compositor_CreateFontSamplerState"),
            (e[(e.VRInitError_Compositor_CreateNoBlendState = 447)] =
              "VRInitError_Compositor_CreateNoBlendState"),
            (e[(e.VRInitError_Compositor_CreateBlendState = 448)] =
              "VRInitError_Compositor_CreateBlendState"),
            (e[(e.VRInitError_Compositor_CreateAlphaBlendState = 449)] =
              "VRInitError_Compositor_CreateAlphaBlendState"),
            (e[(e.VRInitError_Compositor_CreateBlendStateMaskR = 450)] =
              "VRInitError_Compositor_CreateBlendStateMaskR"),
            (e[(e.VRInitError_Compositor_CreateBlendStateMaskG = 451)] =
              "VRInitError_Compositor_CreateBlendStateMaskG"),
            (e[(e.VRInitError_Compositor_CreateBlendStateMaskB = 452)] =
              "VRInitError_Compositor_CreateBlendStateMaskB"),
            (e[(e.VRInitError_Compositor_CreateDepthStencilState = 453)] =
              "VRInitError_Compositor_CreateDepthStencilState"),
            (e[
              (e.VRInitError_Compositor_CreateDepthStencilStateNoWrite = 454)
            ] = "VRInitError_Compositor_CreateDepthStencilStateNoWrite"),
            (e[
              (e.VRInitError_Compositor_CreateDepthStencilStateNoDepth = 455)
            ] = "VRInitError_Compositor_CreateDepthStencilStateNoDepth"),
            (e[(e.VRInitError_Compositor_CreateFlushTexture = 456)] =
              "VRInitError_Compositor_CreateFlushTexture"),
            (e[(e.VRInitError_Compositor_CreateDistortionSurfaces = 457)] =
              "VRInitError_Compositor_CreateDistortionSurfaces"),
            (e[(e.VRInitError_Compositor_CreateConstantBuffer = 458)] =
              "VRInitError_Compositor_CreateConstantBuffer"),
            (e[(e.VRInitError_Compositor_CreateHmdPoseConstantBuffer = 459)] =
              "VRInitError_Compositor_CreateHmdPoseConstantBuffer"),
            (e[
              (e.VRInitError_Compositor_CreateHmdPoseStagingConstantBuffer = 460)
            ] = "VRInitError_Compositor_CreateHmdPoseStagingConstantBuffer"),
            (e[
              (e.VRInitError_Compositor_CreateSharedFrameInfoConstantBuffer = 461)
            ] = "VRInitError_Compositor_CreateSharedFrameInfoConstantBuffer"),
            (e[(e.VRInitError_Compositor_CreateOverlayConstantBuffer = 462)] =
              "VRInitError_Compositor_CreateOverlayConstantBuffer"),
            (e[
              (e.VRInitError_Compositor_CreateSceneTextureIndexConstantBuffer = 463)
            ] = "VRInitError_Compositor_CreateSceneTextureIndexConstantBuffer"),
            (e[
              (e.VRInitError_Compositor_CreateReadableSceneTextureIndexConstantBuffer = 464)
            ] =
              "VRInitError_Compositor_CreateReadableSceneTextureIndexConstantBuffer"),
            (e[
              (e.VRInitError_Compositor_CreateLayerGraphicsTextureIndexConstantBuffer = 465)
            ] =
              "VRInitError_Compositor_CreateLayerGraphicsTextureIndexConstantBuffer"),
            (e[
              (e.VRInitError_Compositor_CreateLayerComputeTextureIndexConstantBuffer = 466)
            ] =
              "VRInitError_Compositor_CreateLayerComputeTextureIndexConstantBuffer"),
            (e[
              (e.VRInitError_Compositor_CreateLayerComputeSceneTextureIndexConstantBuffer = 467)
            ] =
              "VRInitError_Compositor_CreateLayerComputeSceneTextureIndexConstantBuffer"),
            (e[
              (e.VRInitError_Compositor_CreateComputeHmdPoseConstantBuffer = 468)
            ] = "VRInitError_Compositor_CreateComputeHmdPoseConstantBuffer"),
            (e[(e.VRInitError_Compositor_CreateGeomConstantBuffer = 469)] =
              "VRInitError_Compositor_CreateGeomConstantBuffer"),
            (e[(e.VRInitError_Compositor_CreatePanelMaskConstantBuffer = 470)] =
              "VRInitError_Compositor_CreatePanelMaskConstantBuffer"),
            (e[(e.VRInitError_Compositor_CreatePixelSimUBO = 471)] =
              "VRInitError_Compositor_CreatePixelSimUBO"),
            (e[(e.VRInitError_Compositor_CreateMSAARenderTextures = 472)] =
              "VRInitError_Compositor_CreateMSAARenderTextures"),
            (e[(e.VRInitError_Compositor_CreateResolveRenderTextures = 473)] =
              "VRInitError_Compositor_CreateResolveRenderTextures"),
            (e[
              (e.VRInitError_Compositor_CreateComputeResolveRenderTextures = 474)
            ] = "VRInitError_Compositor_CreateComputeResolveRenderTextures"),
            (e[
              (e.VRInitError_Compositor_CreateDriverDirectModeResolveTextures = 475)
            ] = "VRInitError_Compositor_CreateDriverDirectModeResolveTextures"),
            (e[
              (e.VRInitError_Compositor_OpenDriverDirectModeResolveTextures = 476)
            ] = "VRInitError_Compositor_OpenDriverDirectModeResolveTextures"),
            (e[(e.VRInitError_Compositor_CreateFallbackSyncTexture = 477)] =
              "VRInitError_Compositor_CreateFallbackSyncTexture"),
            (e[(e.VRInitError_Compositor_ShareFallbackSyncTexture = 478)] =
              "VRInitError_Compositor_ShareFallbackSyncTexture"),
            (e[(e.VRInitError_Compositor_CreateOverlayIndexBuffer = 479)] =
              "VRInitError_Compositor_CreateOverlayIndexBuffer"),
            (e[(e.VRInitError_Compositor_CreateOverlayVertexBuffer = 480)] =
              "VRInitError_Compositor_CreateOverlayVertexBuffer"),
            (e[(e.VRInitError_Compositor_CreateTextVertexBuffer = 481)] =
              "VRInitError_Compositor_CreateTextVertexBuffer"),
            (e[(e.VRInitError_Compositor_CreateTextIndexBuffer = 482)] =
              "VRInitError_Compositor_CreateTextIndexBuffer"),
            (e[(e.VRInitError_Compositor_CreateMirrorTextures = 483)] =
              "VRInitError_Compositor_CreateMirrorTextures"),
            (e[(e.VRInitError_Compositor_CreateLastFrameRenderTexture = 484)] =
              "VRInitError_Compositor_CreateLastFrameRenderTexture"),
            (e[(e.VRInitError_Compositor_CreateMirrorOverlay = 485)] =
              "VRInitError_Compositor_CreateMirrorOverlay"),
            (e[
              (e.VRInitError_Compositor_FailedToCreateVirtualDisplayBackbuffer = 486)
            ] =
              "VRInitError_Compositor_FailedToCreateVirtualDisplayBackbuffer"),
            (e[(e.VRInitError_Compositor_DisplayModeNotSupported = 487)] =
              "VRInitError_Compositor_DisplayModeNotSupported"),
            (e[(e.VRInitError_Compositor_CreateOverlayInvalidCall = 488)] =
              "VRInitError_Compositor_CreateOverlayInvalidCall"),
            (e[
              (e.VRInitError_Compositor_CreateOverlayAlreadyInitialized = 489)
            ] = "VRInitError_Compositor_CreateOverlayAlreadyInitialized"),
            (e[(e.VRInitError_Compositor_FailedToCreateMailbox = 490)] =
              "VRInitError_Compositor_FailedToCreateMailbox"),
            (e[(e.VRInitError_Compositor_WindowInterfaceIsNull = 491)] =
              "VRInitError_Compositor_WindowInterfaceIsNull"),
            (e[(e.VRInitError_Compositor_SystemLayerCreateInstance = 492)] =
              "VRInitError_Compositor_SystemLayerCreateInstance"),
            (e[(e.VRInitError_Compositor_SystemLayerCreateSession = 493)] =
              "VRInitError_Compositor_SystemLayerCreateSession"),
            (e[(e.VRInitError_Compositor_CreateInverseDistortUVs = 494)] =
              "VRInitError_Compositor_CreateInverseDistortUVs"),
            (e[(e.VRInitError_Compositor_CreateBackbufferDepth = 495)] =
              "VRInitError_Compositor_CreateBackbufferDepth"),
            (e[
              (e.VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1e3)
            ] = "VRInitError_VendorSpecific_UnableToConnectToOculusRuntime"),
            (e[(e.VRInitError_VendorSpecific_WindowsNotInDevMode = 1001)] =
              "VRInitError_VendorSpecific_WindowsNotInDevMode"),
            (e[(e.VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002)] =
              "VRInitError_VendorSpecific_OculusLinkNotEnabled"),
            (e[(e.VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101)] =
              "VRInitError_VendorSpecific_HmdFound_CantOpenDevice"),
            (e[
              (e.VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102)
            ] =
              "VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart"),
            (e[(e.VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103)] =
              "VRInitError_VendorSpecific_HmdFound_NoStoredConfig"),
            (e[(e.VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104)] =
              "VRInitError_VendorSpecific_HmdFound_ConfigTooBig"),
            (e[(e.VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105)] =
              "VRInitError_VendorSpecific_HmdFound_ConfigTooSmall"),
            (e[
              (e.VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106)
            ] = "VRInitError_VendorSpecific_HmdFound_UnableToInitZLib"),
            (e[
              (e.VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107)
            ] = "VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion"),
            (e[
              (e.VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108)
            ] =
              "VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart"),
            (e[
              (e.VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109)
            ] = "VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart"),
            (e[
              (e.VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110)
            ] = "VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext"),
            (e[
              (e.VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111)
            ] = "VRInitError_VendorSpecific_HmdFound_UserDataAddressRange"),
            (e[(e.VRInitError_VendorSpecific_HmdFound_UserDataError = 1112)] =
              "VRInitError_VendorSpecific_HmdFound_UserDataError"),
            (e[
              (e.VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113)
            ] = "VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck"),
            (e[(e.VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114)] =
              "VRInitError_VendorSpecific_OculusRuntimeBadInstall"),
            (e[
              (e.VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115)
            ] =
              "VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1"),
            (e[(e.VRInitError_Steam_SteamInstallationNotFound = 2e3)] =
              "VRInitError_Steam_SteamInstallationNotFound"),
            (e[(e.VRInitError_LastError = 2001)] = "VRInitError_LastError");
        })(tl || (tl = {})),
        (function (e) {
          (e[(e.Invalid = 0)] = "Invalid"),
            (e[(e.TrackingSystemName_String = 1e3)] =
              "TrackingSystemName_String"),
            (e[(e.ModelNumber_String = 1001)] = "ModelNumber_String"),
            (e[(e.SerialNumber_String = 1002)] = "SerialNumber_String"),
            (e[(e.RenderModelName_String = 1003)] = "RenderModelName_String"),
            (e[(e.WillDriftInYaw_Bool = 1004)] = "WillDriftInYaw_Bool"),
            (e[(e.ManufacturerName_String = 1005)] = "ManufacturerName_String"),
            (e[(e.TrackingFirmwareVersion_String = 1006)] =
              "TrackingFirmwareVersion_String"),
            (e[(e.HardwareRevision_String = 1007)] = "HardwareRevision_String"),
            (e[(e.AllWirelessDongleDescriptions_String = 1008)] =
              "AllWirelessDongleDescriptions_String"),
            (e[(e.ConnectedWirelessDongle_String = 1009)] =
              "ConnectedWirelessDongle_String"),
            (e[(e.DeviceIsWireless_Bool = 1010)] = "DeviceIsWireless_Bool"),
            (e[(e.DeviceIsCharging_Bool = 1011)] = "DeviceIsCharging_Bool"),
            (e[(e.DeviceBatteryPercentage_Float = 1012)] =
              "DeviceBatteryPercentage_Float"),
            (e[(e.StatusDisplayTransform_Matrix34 = 1013)] =
              "StatusDisplayTransform_Matrix34"),
            (e[(e.Firmware_UpdateAvailable_Bool = 1014)] =
              "Firmware_UpdateAvailable_Bool"),
            (e[(e.Firmware_ManualUpdate_Bool = 1015)] =
              "Firmware_ManualUpdate_Bool"),
            (e[(e.Firmware_ManualUpdateURL_String = 1016)] =
              "Firmware_ManualUpdateURL_String"),
            (e[(e.HardwareRevision_Uint64 = 1017)] = "HardwareRevision_Uint64"),
            (e[(e.FirmwareVersion_Uint64 = 1018)] = "FirmwareVersion_Uint64"),
            (e[(e.FPGAVersion_Uint64 = 1019)] = "FPGAVersion_Uint64"),
            (e[(e.VRCVersion_Uint64 = 1020)] = "VRCVersion_Uint64"),
            (e[(e.RadioVersion_Uint64 = 1021)] = "RadioVersion_Uint64"),
            (e[(e.DongleVersion_Uint64 = 1022)] = "DongleVersion_Uint64"),
            (e[(e.BlockServerShutdown_Bool = 1023)] =
              "BlockServerShutdown_Bool"),
            (e[(e.CanUnifyCoordinateSystemWithHmd_Bool = 1024)] =
              "CanUnifyCoordinateSystemWithHmd_Bool"),
            (e[(e.ContainsProximitySensor_Bool = 1025)] =
              "ContainsProximitySensor_Bool"),
            (e[(e.DeviceProvidesBatteryStatus_Bool = 1026)] =
              "DeviceProvidesBatteryStatus_Bool"),
            (e[(e.DeviceCanPowerOff_Bool = 1027)] = "DeviceCanPowerOff_Bool"),
            (e[(e.Firmware_ProgrammingTarget_String = 1028)] =
              "Firmware_ProgrammingTarget_String"),
            (e[(e.DeviceClass_Int32 = 1029)] = "DeviceClass_Int32"),
            (e[(e.HasCamera_Bool = 1030)] = "HasCamera_Bool"),
            (e[(e.DriverVersion_String = 1031)] = "DriverVersion_String"),
            (e[(e.Firmware_ForceUpdateRequired_Bool = 1032)] =
              "Firmware_ForceUpdateRequired_Bool"),
            (e[(e.ViveSystemButtonFixRequired_Bool = 1033)] =
              "ViveSystemButtonFixRequired_Bool"),
            (e[(e.ParentDriver_Uint64 = 1034)] = "ParentDriver_Uint64"),
            (e[(e.ResourceRoot_String = 1035)] = "ResourceRoot_String"),
            (e[(e.RegisteredDeviceType_String = 1036)] =
              "RegisteredDeviceType_String"),
            (e[(e.InputProfilePath_String = 1037)] = "InputProfilePath_String"),
            (e[(e.NeverTracked_Bool = 1038)] = "NeverTracked_Bool"),
            (e[(e.NumCameras_Int32 = 1039)] = "NumCameras_Int32"),
            (e[(e.CameraFrameLayout_Int32 = 1040)] = "CameraFrameLayout_Int32"),
            (e[(e.CameraStreamFormat_Int32 = 1041)] =
              "CameraStreamFormat_Int32"),
            (e[(e.AdditionalDeviceSettingsPath_String = 1042)] =
              "AdditionalDeviceSettingsPath_String"),
            (e[(e.DevicePowerUsage_Float = 1052)] = "DevicePowerUsage_Float"),
            (e[(e.ActualTrackingSystemName_String = 1054)] =
              "ActualTrackingSystemName_String"),
            (e[(e.ReportsTimeSinceVSync_Bool = 2e3)] =
              "ReportsTimeSinceVSync_Bool"),
            (e[(e.SecondsFromVsyncToPhotons_Float = 2001)] =
              "SecondsFromVsyncToPhotons_Float"),
            (e[(e.DisplayFrequency_Float = 2002)] = "DisplayFrequency_Float"),
            (e[(e.UserIpdMeters_Float = 2003)] = "UserIpdMeters_Float"),
            (e[(e.CurrentUniverseId_Uint64 = 2004)] =
              "CurrentUniverseId_Uint64"),
            (e[(e.PreviousUniverseId_Uint64 = 2005)] =
              "PreviousUniverseId_Uint64"),
            (e[(e.DisplayFirmwareVersion_Uint64 = 2006)] =
              "DisplayFirmwareVersion_Uint64"),
            (e[(e.IsOnDesktop_Bool = 2007)] = "IsOnDesktop_Bool"),
            (e[(e.DisplayMCType_Int32 = 2008)] = "DisplayMCType_Int32"),
            (e[(e.DisplayMCOffset_Float = 2009)] = "DisplayMCOffset_Float"),
            (e[(e.DisplayMCScale_Float = 2010)] = "DisplayMCScale_Float"),
            (e[(e.EdidVendorID_Int32 = 2011)] = "EdidVendorID_Int32"),
            (e[(e.DisplayMCImageLeft_String = 2012)] =
              "DisplayMCImageLeft_String"),
            (e[(e.DisplayMCImageRight_String = 2013)] =
              "DisplayMCImageRight_String"),
            (e[(e.DisplayGCBlackClamp_Float = 2014)] =
              "DisplayGCBlackClamp_Float"),
            (e[(e.EdidProductID_Int32 = 2015)] = "EdidProductID_Int32"),
            (e[(e.CameraToHeadTransform_Matrix34 = 2016)] =
              "CameraToHeadTransform_Matrix34"),
            (e[(e.DisplayGCType_Int32 = 2017)] = "DisplayGCType_Int32"),
            (e[(e.DisplayGCOffset_Float = 2018)] = "DisplayGCOffset_Float"),
            (e[(e.DisplayGCScale_Float = 2019)] = "DisplayGCScale_Float"),
            (e[(e.DisplayGCPrescale_Float = 2020)] = "DisplayGCPrescale_Float"),
            (e[(e.DisplayGCImage_String = 2021)] = "DisplayGCImage_String"),
            (e[(e.LensCenterLeftU_Float = 2022)] = "LensCenterLeftU_Float"),
            (e[(e.LensCenterLeftV_Float = 2023)] = "LensCenterLeftV_Float"),
            (e[(e.LensCenterRightU_Float = 2024)] = "LensCenterRightU_Float"),
            (e[(e.LensCenterRightV_Float = 2025)] = "LensCenterRightV_Float"),
            (e[(e.UserHeadToEyeDepthMeters_Float = 2026)] =
              "UserHeadToEyeDepthMeters_Float"),
            (e[(e.CameraFirmwareVersion_Uint64 = 2027)] =
              "CameraFirmwareVersion_Uint64"),
            (e[(e.CameraFirmwareDescription_String = 2028)] =
              "CameraFirmwareDescription_String"),
            (e[(e.DisplayFPGAVersion_Uint64 = 2029)] =
              "DisplayFPGAVersion_Uint64"),
            (e[(e.DisplayBootloaderVersion_Uint64 = 2030)] =
              "DisplayBootloaderVersion_Uint64"),
            (e[(e.DisplayHardwareVersion_Uint64 = 2031)] =
              "DisplayHardwareVersion_Uint64"),
            (e[(e.AudioFirmwareVersion_Uint64 = 2032)] =
              "AudioFirmwareVersion_Uint64"),
            (e[(e.CameraCompatibilityMode_Int32 = 2033)] =
              "CameraCompatibilityMode_Int32"),
            (e[(e.ScreenshotHorizontalFieldOfViewDegrees_Float = 2034)] =
              "ScreenshotHorizontalFieldOfViewDegrees_Float"),
            (e[(e.ScreenshotVerticalFieldOfViewDegrees_Float = 2035)] =
              "ScreenshotVerticalFieldOfViewDegrees_Float"),
            (e[(e.DisplaySuppressed_Bool = 2036)] = "DisplaySuppressed_Bool"),
            (e[(e.DisplayAllowNightMode_Bool = 2037)] =
              "DisplayAllowNightMode_Bool"),
            (e[(e.DisplayMCImageWidth_Int32 = 2038)] =
              "DisplayMCImageWidth_Int32"),
            (e[(e.DisplayMCImageHeight_Int32 = 2039)] =
              "DisplayMCImageHeight_Int32"),
            (e[(e.DisplayMCImageNumChannels_Int32 = 2040)] =
              "DisplayMCImageNumChannels_Int32"),
            (e[(e.DisplayMCImageData_Binary = 2041)] =
              "DisplayMCImageData_Binary"),
            (e[(e.SecondsFromPhotonsToVblank_Float = 2042)] =
              "SecondsFromPhotonsToVblank_Float"),
            (e[(e.DriverDirectModeSendsVsyncEvents_Bool = 2043)] =
              "DriverDirectModeSendsVsyncEvents_Bool"),
            (e[(e.DisplayDebugMode_Bool = 2044)] = "DisplayDebugMode_Bool"),
            (e[(e.GraphicsAdapterLuid_Uint64 = 2045)] =
              "GraphicsAdapterLuid_Uint64"),
            (e[(e.DriverProvidedChaperonePath_String = 2048)] =
              "DriverProvidedChaperonePath_String"),
            (e[(e.ExpectedTrackingReferenceCount_Int32 = 2049)] =
              "ExpectedTrackingReferenceCount_Int32"),
            (e[(e.ExpectedControllerCount_Int32 = 2050)] =
              "ExpectedControllerCount_Int32"),
            (e[(e.NamedIconPathControllerLeftDeviceOff_String = 2051)] =
              "NamedIconPathControllerLeftDeviceOff_String"),
            (e[(e.NamedIconPathControllerRightDeviceOff_String = 2052)] =
              "NamedIconPathControllerRightDeviceOff_String"),
            (e[(e.NamedIconPathTrackingReferenceDeviceOff_String = 2053)] =
              "NamedIconPathTrackingReferenceDeviceOff_String"),
            (e[(e.DoNotApplyPrediction_Bool = 2054)] =
              "DoNotApplyPrediction_Bool"),
            (e[(e.CameraToHeadTransforms_Matrix34_Array = 2055)] =
              "CameraToHeadTransforms_Matrix34_Array"),
            (e[(e.DistortionMeshResolution_Int32 = 2056)] =
              "DistortionMeshResolution_Int32"),
            (e[(e.DriverIsDrawingControllers_Bool = 2057)] =
              "DriverIsDrawingControllers_Bool"),
            (e[(e.DriverRequestsApplicationPause_Bool = 2058)] =
              "DriverRequestsApplicationPause_Bool"),
            (e[(e.DriverRequestsReducedRendering_Bool = 2059)] =
              "DriverRequestsReducedRendering_Bool"),
            (e[(e.MinimumIpdStepMeters_Float = 2060)] =
              "MinimumIpdStepMeters_Float"),
            (e[(e.AudioBridgeFirmwareVersion_Uint64 = 2061)] =
              "AudioBridgeFirmwareVersion_Uint64"),
            (e[(e.ImageBridgeFirmwareVersion_Uint64 = 2062)] =
              "ImageBridgeFirmwareVersion_Uint64"),
            (e[(e.ImuToHeadTransform_Matrix34 = 2063)] =
              "ImuToHeadTransform_Matrix34"),
            (e[(e.ImuFactoryGyroBias_Vector3 = 2064)] =
              "ImuFactoryGyroBias_Vector3"),
            (e[(e.ImuFactoryGyroScale_Vector3 = 2065)] =
              "ImuFactoryGyroScale_Vector3"),
            (e[(e.ImuFactoryAccelerometerBias_Vector3 = 2066)] =
              "ImuFactoryAccelerometerBias_Vector3"),
            (e[(e.ImuFactoryAccelerometerScale_Vector3 = 2067)] =
              "ImuFactoryAccelerometerScale_Vector3"),
            (e[(e.ConfigurationIncludesLighthouse20Features_Bool = 2069)] =
              "ConfigurationIncludesLighthouse20Features_Bool"),
            (e[(e.Prop_AdditionalRadioFeatures_Uint64 = 2070)] =
              "Prop_AdditionalRadioFeatures_Uint64"),
            (e[(e.Prop_CameraWhiteBalance_Vector4_Array = 2071)] =
              "Prop_CameraWhiteBalance_Vector4_Array"),
            (e[(e.Prop_CameraDistortionFunction_Int32_Array = 2072)] =
              "Prop_CameraDistortionFunction_Int32_Array"),
            (e[(e.Prop_CameraDistortionCoefficients_Float_Array = 2073)] =
              "Prop_CameraDistortionCoefficients_Float_Array"),
            (e[(e.Prop_ExpectedControllerType_String = 2074)] =
              "Prop_ExpectedControllerType_String"),
            (e[(e.HmdTrackingStyle_Int32 = 2075)] = "HmdTrackingStyle_Int32"),
            (e[(e.DriverProvidedChaperoneVisibility_Bool = 2076)] =
              "DriverProvidedChaperoneVisibility_Bool"),
            (e[(e.HmdColumnCorrectionSettingPrefix_String = 2077)] =
              "HmdColumnCorrectionSettingPrefix_String"),
            (e[(e.CameraSupportsCompatibilityModes_Bool = 2078)] =
              "CameraSupportsCompatibilityModes_Bool"),
            (e[(e.SupportsRoomViewDepthProjection_Bool = 2079)] =
              "SupportsRoomViewDepthProjection_Bool"),
            (e[(e.DisplayAvailableFrameRates_Float_Array = 2080)] =
              "DisplayAvailableFrameRates_Float_Array"),
            (e[(e.DisplaySupportsRuntimeFramerateChange_Bool = 2084)] =
              "DisplaySupportsRuntimeFramerateChange_Bool"),
            (e[(e.DisplaySupportsAnalogGain_Bool = 2085)] =
              "DisplaySupportsAnalogGain_Bool"),
            (e[(e.DisplayMinAnalogGain_Float = 2086)] =
              "DisplayMinAnalogGain_Float"),
            (e[(e.DisplayMaxAnalogGain_Float = 2087)] =
              "DisplayMaxAnalogGain_Float"),
            (e[(e.DashboardScale_Float = 2091)] = "DashboardScale_Float"),
            (e[(e.PeerButtonInfo_String = 2092)] = "PeerButtonInfo_String"),
            (e[(e.IpdUIRangeMinMeters_Float = 2100)] =
              "IpdUIRangeMinMeters_Float"),
            (e[(e.IpdUIRangeMaxMeters_Float = 2101)] =
              "IpdUIRangeMaxMeters_Float"),
            (e[(e.Hmd_SupportsHDCP14LegacyCompat_Bool = 2102)] =
              "Hmd_SupportsHDCP14LegacyCompat_Bool"),
            (e[(e.Hmd_SupportsMicMonitoring_Bool = 2103)] =
              "Hmd_SupportsMicMonitoring_Bool"),
            (e[(e.Hmd_SupportsDisplayPortTrainingMode_Bool = 2104)] =
              "Hmd_SupportsDisplayPortTrainingMode_Bool"),
            (e[(e.Hmd_SupportsRoomViewDirect_Bool = 2105)] =
              "Hmd_SupportsRoomViewDirect_Bool"),
            (e[(e.Hmd_SupportsAppThrottling_Bool = 2106)] =
              "Hmd_SupportsAppThrottling_Bool"),
            (e[(e.Hmd_SupportsGpuBusMonitoring_Bool = 2107)] =
              "Hmd_SupportsGpuBusMonitoring_Bool"),
            (e[(e.DriverRequestedMuraCorrectionMode_Int32 = 2200)] =
              "DriverRequestedMuraCorrectionMode_Int32"),
            (e[(e.DriverRequestedMuraFeather_InnerLeft_Int32 = 2201)] =
              "DriverRequestedMuraFeather_InnerLeft_Int32"),
            (e[(e.DriverRequestedMuraFeather_InnerRight_Int32 = 2202)] =
              "DriverRequestedMuraFeather_InnerRight_Int32"),
            (e[(e.DriverRequestedMuraFeather_InnerTop_Int32 = 2203)] =
              "DriverRequestedMuraFeather_InnerTop_Int32"),
            (e[(e.DriverRequestedMuraFeather_InnerBottom_Int32 = 2204)] =
              "DriverRequestedMuraFeather_InnerBottom_Int32"),
            (e[(e.DriverRequestedMuraFeather_OuterLeft_Int32 = 2205)] =
              "DriverRequestedMuraFeather_OuterLeft_Int32"),
            (e[(e.DriverRequestedMuraFeather_OuterRight_Int32 = 2206)] =
              "DriverRequestedMuraFeather_OuterRight_Int32"),
            (e[(e.DriverRequestedMuraFeather_OuterTop_Int32 = 2207)] =
              "DriverRequestedMuraFeather_OuterTop_Int32"),
            (e[(e.DriverRequestedMuraFeather_OuterBottom_Int32 = 2208)] =
              "DriverRequestedMuraFeather_OuterBottom_Int32"),
            (e[(e.Audio_SupportsDualSpeakerAndJackOutput_Bool = 2303)] =
              "Audio_SupportsDualSpeakerAndJackOutput_Bool"),
            (e[(e.AttachedDeviceId_String = 3e3)] = "AttachedDeviceId_String"),
            (e[(e.SupportedButtons_Uint64 = 3001)] = "SupportedButtons_Uint64"),
            (e[(e.Axis0Type_Int32 = 3002)] = "Axis0Type_Int32"),
            (e[(e.Axis1Type_Int32 = 3003)] = "Axis1Type_Int32"),
            (e[(e.Axis2Type_Int32 = 3004)] = "Axis2Type_Int32"),
            (e[(e.Axis3Type_Int32 = 3005)] = "Axis3Type_Int32"),
            (e[(e.Axis4Type_Int32 = 3006)] = "Axis4Type_Int32"),
            (e[(e.ControllerRoleHint_Int32 = 3007)] =
              "ControllerRoleHint_Int32"),
            (e[(e.FieldOfViewLeftDegrees_Float = 4e3)] =
              "FieldOfViewLeftDegrees_Float"),
            (e[(e.FieldOfViewRightDegrees_Float = 4001)] =
              "FieldOfViewRightDegrees_Float"),
            (e[(e.FieldOfViewTopDegrees_Float = 4002)] =
              "FieldOfViewTopDegrees_Float"),
            (e[(e.FieldOfViewBottomDegrees_Float = 4003)] =
              "FieldOfViewBottomDegrees_Float"),
            (e[(e.TrackingRangeMinimumMeters_Float = 4004)] =
              "TrackingRangeMinimumMeters_Float"),
            (e[(e.TrackingRangeMaximumMeters_Float = 4005)] =
              "TrackingRangeMaximumMeters_Float"),
            (e[(e.ModeLabel_String = 4006)] = "ModeLabel_String"),
            (e[(e.IconPathName_String = 5e3)] = "IconPathName_String"),
            (e[(e.NamedIconPathDeviceOff_String = 5001)] =
              "NamedIconPathDeviceOff_String"),
            (e[(e.NamedIconPathDeviceSearching_String = 5002)] =
              "NamedIconPathDeviceSearching_String"),
            (e[(e.NamedIconPathDeviceSearchingAlert_String = 5003)] =
              "NamedIconPathDeviceSearchingAlert_String"),
            (e[(e.NamedIconPathDeviceReady_String = 5004)] =
              "NamedIconPathDeviceReady_String"),
            (e[(e.NamedIconPathDeviceReadyAlert_String = 5005)] =
              "NamedIconPathDeviceReadyAlert_String"),
            (e[(e.NamedIconPathDeviceNotReady_String = 5006)] =
              "NamedIconPathDeviceNotReady_String"),
            (e[(e.NamedIconPathDeviceStandby_String = 5007)] =
              "NamedIconPathDeviceStandby_String"),
            (e[(e.NamedIconPathDeviceAlertLow_String = 5008)] =
              "NamedIconPathDeviceAlertLow_String"),
            (e[(e.DisplayHiddenArea_Binary_Start = 5100)] =
              "DisplayHiddenArea_Binary_Start"),
            (e[(e.DisplayHiddenArea_Binary_End = 5150)] =
              "DisplayHiddenArea_Binary_End"),
            (e[(e.ParentContainer = 5151)] = "ParentContainer"),
            (e[(e.UserConfigPath_String = 6e3)] = "UserConfigPath_String"),
            (e[(e.InstallPath_String = 6001)] = "InstallPath_String"),
            (e[(e.HasDisplayComponent_Bool = 6002)] =
              "HasDisplayComponent_Bool"),
            (e[(e.HasControllerComponent_Bool = 6003)] =
              "HasControllerComponent_Bool"),
            (e[(e.HasCameraComponent_Bool = 6004)] = "HasCameraComponent_Bool"),
            (e[(e.HasDriverDirectModeComponent_Bool = 6005)] =
              "HasDriverDirectModeComponent_Bool"),
            (e[(e.HasVirtualDisplayComponent_Bool = 6006)] =
              "HasVirtualDisplayComponent_Bool"),
            (e[(e.HasSpatialAnchorsSupport_Bool = 6007)] =
              "HasSpatialAnchorsSupport_Bool"),
            (e[(e.ControllerType_String = 7e3)] = "ControllerType_String"),
            (e[(e.LegacyInputProfile_String = 7001)] =
              "LegacyInputProfile_String"),
            (e[(e.VendorSpecific_Reserved_Start = 1e4)] =
              "VendorSpecific_Reserved_Start"),
            (e[(e.VendorSpecific_Reserved_End = 10999)] =
              "VendorSpecific_Reserved_End"),
            (e[(e.TrackedDeviceProperty_Max = 1e6)] =
              "TrackedDeviceProperty_Max");
        })(rl || (rl = {})),
        (function (e) {
          (e[(e.k_EButton_System = 0)] = "k_EButton_System"),
            (e[(e.k_EButton_ApplicationMenu = 1)] =
              "k_EButton_ApplicationMenu"),
            (e[(e.k_EButton_Grip = 2)] = "k_EButton_Grip"),
            (e[(e.k_EButton_DPad_Left = 3)] = "k_EButton_DPad_Left"),
            (e[(e.k_EButton_DPad_Up = 4)] = "k_EButton_DPad_Up"),
            (e[(e.k_EButton_DPad_Right = 5)] = "k_EButton_DPad_Right"),
            (e[(e.k_EButton_DPad_Down = 6)] = "k_EButton_DPad_Down"),
            (e[(e.k_EButton_A = 7)] = "k_EButton_A"),
            (e[(e.k_EButton_ProximitySensor = 31)] =
              "k_EButton_ProximitySensor"),
            (e[(e.k_EButton_Axis0 = 32)] = "k_EButton_Axis0"),
            (e[(e.k_EButton_Axis1 = 33)] = "k_EButton_Axis1"),
            (e[(e.k_EButton_Axis2 = 34)] = "k_EButton_Axis2"),
            (e[(e.k_EButton_Axis3 = 35)] = "k_EButton_Axis3"),
            (e[(e.k_EButton_Axis4 = 36)] = "k_EButton_Axis4"),
            (e[(e.k_EButton_SteamVR_Touchpad = 32)] =
              "k_EButton_SteamVR_Touchpad"),
            (e[(e.k_EButton_SteamVR_Trigger = 33)] =
              "k_EButton_SteamVR_Trigger"),
            (e[(e.k_EButton_Dashboard_Back = 2)] = "k_EButton_Dashboard_Back"),
            (e[(e.k_EButton_IndexController_A = 2)] =
              "k_EButton_IndexController_A"),
            (e[(e.k_EButton_IndexController_B = 1)] =
              "k_EButton_IndexController_B"),
            (e[(e.k_EButton_IndexController_JoyStick = 35)] =
              "k_EButton_IndexController_JoyStick"),
            (e[(e.k_EButton_Reserved0 = 50)] = "k_EButton_Reserved0"),
            (e[(e.k_EButton_Reserved1 = 51)] = "k_EButton_Reserved1"),
            (e[(e.k_EButton_Max = 64)] = "k_EButton_Max");
        })(nl || (nl = {})),
        (function (e) {
          (e[(e.None = 0)] = "None"),
            (e[(e.ButtonEnter = 1)] = "ButtonEnter"),
            (e[(e.ButtonLeave = 2)] = "ButtonLeave"),
            (e[(e.Snap = 3)] = "Snap"),
            (e[(e.Sliding = 4)] = "Sliding"),
            (e[(e.SlidingEdge = 5)] = "SlidingEdge");
        })(il || (il = {})),
        (function (e) {
          (e[(e.Minimal = 1)] = "Minimal"),
            (e[(e.Modal = 2)] = "Modal"),
            (e[(e.ShowArrowKeys = 4)] = "ShowArrowKeys"),
            (e[(e.HideDoneKey = 8)] = "HideDoneKey");
        })(al || (al = {})),
        (function (e) {
          (e[(e.Unknown = -1)] = "Unknown"),
            (e[(e.Idle = 0)] = "Idle"),
            (e[(e.UserInteraction = 1)] = "UserInteraction"),
            (e[(e.UserInteraction_Timeout = 2)] = "UserInteraction_Timeout"),
            (e[(e.Standby = 3)] = "Standby"),
            (e[(e.Idle_Timeout = 4)] = "Idle_Timeout");
        })(sl || (sl = {}));
      new ws("VR");
      class ol {
        constructor() {
          (this.m_bHMDPresent = void 0),
            (this.m_bHMDHardwareDetected = void 0),
            (this.m_strHMDName = void 0),
            (this.m_bIsVRRunning = void 0),
            (this.m_error = void 0),
            (this.m_eHMDActivityLevel = void 0),
            (this.m_bVRDeviceSeenRecently = !1),
            (this.m_bIsKeyboardOpen = void 0),
            (this.m_eKeyboardFlags = void 0),
            (this.m_sInitialKeyboardText = void 0),
            (this.m_bSimulatingVROnDesktop = !1),
            (this.m_mapAffordanceElems = new Map()),
            (0, Je.rC)(this);
        }
        Init() {
          var e, t, r, n, i, a, s, o, l, c, u, d;
          null ===
            (t =
              null ===
                (e =
                  null === SteamClient || void 0 === SteamClient
                    ? void 0
                    : SteamClient.OpenVR) || void 0 === e
                ? void 0
                : e.RegisterForVRHardwareDetected) ||
            void 0 === t ||
            t.call(e, this.OnVRHardwareDetected),
            null ===
              (n =
                null ===
                  (r =
                    null === SteamClient || void 0 === SteamClient
                      ? void 0
                      : SteamClient.OpenVR) || void 0 === r
                  ? void 0
                  : r.RegisterForVRModeChange) ||
              void 0 === n ||
              n.call(r, this.OnVRModeChanged),
            null ===
              (a =
                null ===
                  (i =
                    null === SteamClient || void 0 === SteamClient
                      ? void 0
                      : SteamClient.OpenVR) || void 0 === i
                  ? void 0
                  : i.RegisterForStartupErrors) ||
              void 0 === a ||
              a.call(i, this.OnStartupError),
            null ===
              (o =
                null ===
                  (s =
                    null === SteamClient || void 0 === SteamClient
                      ? void 0
                      : SteamClient.OpenVR) || void 0 === s
                  ? void 0
                  : s.RegisterForHMDActivityLevelChanged) ||
              void 0 === o ||
              o.call(s, this.OnHMDActivityLevelChanged),
            null ===
              (l =
                null === SteamClient || void 0 === SteamClient
                  ? void 0
                  : SteamClient.OpenVR) ||
              void 0 === l ||
              l.Device.RegisterForVRDeviceSeenRecently(
                this.OnVRDeviceSeenRecentlyChanged,
              ),
            null ===
              (d =
                null ===
                  (c =
                    null === SteamClient || void 0 === SteamClient
                      ? void 0
                      : SteamClient.OpenVR) || void 0 === c
                  ? void 0
                  : (u = c.Keyboard).RegisterForStatus) ||
              void 0 === d ||
              d.call(u, this.OnKeyboardStatus);
        }
        OnVRHardwareDetected(e, t, r) {
          (this.m_bHMDPresent = e),
            (this.m_bHMDHardwareDetected = t),
            (this.m_strHMDName = r);
        }
        OnVRModeChanged(e) {
          this.m_bIsVRRunning = e;
        }
        OnStartupError(e, t, r) {
          let n;
          e != el.k_EVRError_None && (n = { eClient: e, eInit: t, strInit: r }),
            (this.m_error = n);
        }
        OnHMDActivityLevelChanged(e) {
          this.m_eHMDActivityLevel = e;
        }
        OnVRDeviceSeenRecentlyChanged(e) {
          this.m_bVRDeviceSeenRecently = e;
        }
        OnKeyboardStatus(e, t, r) {
          (this.m_bIsKeyboardOpen = e),
            (this.m_eKeyboardFlags = t),
            (this.m_sInitialKeyboardText = r);
        }
        get IsVRHMDPresent() {
          return (
            this.m_bSimulatingVROnDesktop ||
            this.m_bHMDPresent ||
            this.m_bHMDHardwareDetected
          );
        }
        HasVRHMDBeenSeen() {
          return this.m_bVRDeviceSeenRecently;
        }
        get IsSteamVRRunning() {
          return this.m_bSimulatingVROnDesktop || this.m_bIsVRRunning;
        }
        get IsVRHMDAwake() {
          return (
            this.m_bSimulatingVROnDesktop ||
            this.m_eHMDActivityLevel == sl.UserInteraction
          );
        }
        get VRKeyboardStatus() {
          const e = 0 != (this.m_eKeyboardFlags & al.Minimal);
          return {
            bIsOpen: this.m_bIsKeyboardOpen,
            sInitialText: this.m_sInitialKeyboardText,
            bMinimal: e,
            bShowArrowKeys:
              !e || 0 != (this.m_eKeyboardFlags & al.ShowArrowKeys),
            bShowDoneKey: 0 == (this.m_eKeyboardFlags & al.HideDoneKey),
          };
        }
        get VRHMDActivityLevel() {
          return this.m_bSimulatingVROnDesktop
            ? sl.UserInteraction
            : this.m_eHMDActivityLevel;
        }
        get VRKeyboardDisplayFlags() {
          return this.m_eKeyboardFlags;
        }
        get error() {
          return this.m_error;
        }
        ClearError() {
          this.m_error = void 0;
        }
        SetSimulatingVROnDesktop(e) {
          this.m_bSimulatingVROnDesktop = e;
        }
        SetInteractionAffordance(e, t, r) {
          var n, i;
          {
            if (null == e) return;
            this.m_mapAffordanceElems.has(t) ||
              this.m_mapAffordanceElems.set(t, new Set());
            const a = this.m_mapAffordanceElems.get(t),
              s =
                Array.from(a).filter(
                  (t) =>
                    t.ownerDocument.defaultView == e.ownerDocument.defaultView,
                ).length > 0;
            r ? a.add(e) : a.delete(e);
            const o =
              Array.from(a).filter(
                (t) =>
                  t.ownerDocument.defaultView == e.ownerDocument.defaultView,
              ).length > 0;
            o != s &&
              (null ===
                (i =
                  null === (n = e.ownerDocument.defaultView) || void 0 === n
                    ? void 0
                    : n.SteamClient) ||
                void 0 === i ||
                i.OpenVR.SetOverlayInteractionAffordance(t, o));
          }
        }
      }
      function ll(e, t) {
        const [r, n] = s.useState(),
          i = s.useCallback(() => !0, []),
          a = s.useRef();
        return (
          (a.current = null != t ? t : i),
          s.useEffect(() => {
            const t = () => {
                var t, n, i;
                const s = a.current && a.current();
                cl.SetInteractionAffordance(r, e, s),
                  2 == e &&
                    s &&
                    (null ===
                      (i =
                        null ===
                          (n =
                            null ===
                              (t =
                                null == r
                                  ? void 0
                                  : r.ownerDocument.defaultView.SteamClient) ||
                            void 0 === t
                              ? void 0
                              : t.OpenVR) || void 0 === n
                          ? void 0
                          : n.TriggerOverlayHapticEffect) ||
                      void 0 === i ||
                      i.call(n, il.ButtonEnter, 0));
              },
              n = () => {
                var t, n, i;
                cl.SetInteractionAffordance(r, e, !1),
                  2 == e &&
                    a.current &&
                    a.current() &&
                    (null ===
                      (i =
                        null ===
                          (n =
                            null ===
                              (t =
                                null == r
                                  ? void 0
                                  : r.ownerDocument.defaultView.SteamClient) ||
                            void 0 === t
                              ? void 0
                              : t.OpenVR) || void 0 === n
                          ? void 0
                          : n.TriggerOverlayHapticEffect) ||
                      void 0 === i ||
                      i.call(n, il.ButtonLeave, 0));
              };
            return (
              null == r || r.addEventListener("mouseenter", t),
              null == r || r.addEventListener("mouseleave", n),
              () => {
                null == r || r.removeEventListener("mouseenter", t),
                  null == r || r.removeEventListener("mouseleave", n),
                  cl.SetInteractionAffordance(r, e, !1);
              }
            );
          }, [r, e]),
          n
        );
      }
      (0, i.gn)([Je.LO], ol.prototype, "m_bHMDPresent", void 0),
        (0, i.gn)([Je.LO], ol.prototype, "m_bHMDHardwareDetected", void 0),
        (0, i.gn)([Je.LO], ol.prototype, "m_strHMDName", void 0),
        (0, i.gn)([Je.LO], ol.prototype, "m_bIsVRRunning", void 0),
        (0, i.gn)([Je.LO], ol.prototype, "m_error", void 0),
        (0, i.gn)([Je.LO], ol.prototype, "m_eHMDActivityLevel", void 0),
        (0, i.gn)([Je.LO], ol.prototype, "m_bVRDeviceSeenRecently", void 0),
        (0, i.gn)([Je.LO], ol.prototype, "m_bIsKeyboardOpen", void 0),
        (0, i.gn)([Je.LO], ol.prototype, "m_eKeyboardFlags", void 0),
        (0, i.gn)([Je.LO], ol.prototype, "m_sInitialKeyboardText", void 0),
        (0, i.gn)([Je.LO], ol.prototype, "m_bSimulatingVROnDesktop", void 0),
        (0, i.gn)([Je.aD.bound], ol.prototype, "OnVRHardwareDetected", null),
        (0, i.gn)([Je.aD.bound], ol.prototype, "OnVRModeChanged", null),
        (0, i.gn)([Je.aD.bound], ol.prototype, "OnStartupError", null),
        (0, i.gn)(
          [Je.aD.bound],
          ol.prototype,
          "OnHMDActivityLevelChanged",
          null,
        ),
        (0, i.gn)(
          [Je.aD.bound],
          ol.prototype,
          "OnVRDeviceSeenRecentlyChanged",
          null,
        ),
        (0, i.gn)([Je.aD.bound], ol.prototype, "OnKeyboardStatus", null),
        (0, i.gn)([Je.aD.bound], ol.prototype, "ClearError", null);
      const cl = new ol();
      const ul = new Map();
      function dl(e) {
        return ul.has(e) || ul.set(e, new Set()), ul.get(e);
      }
      function ml(e) {
        const t = T({ bSuppressAssert: !0 }).IN_VR,
          r = s.useMemo(() => new Map(), []),
          [n, i] = s.useState(!1),
          a = s.useRef(void 0),
          o = e.onClick,
          l = s.useCallback(
            (e) => {
              o && o(e);
            },
            [o],
          ),
          c = e.onTouchStart,
          u = s.useCallback(
            (e) => {
              for (const t of Array.from(e.targetTouches)) {
                const n = dl(e.view);
                if (!r.has(t.identifier)) {
                  if (n.has(t.identifier)) continue;
                  n.add(t.identifier),
                    r.set(t.identifier, {
                      bReceivedTouchMove: !1,
                      bScrolled: !1,
                      elemTouchStart: e.target,
                    });
                }
              }
              i(r.size > 0), c && c(e);
            },
            [c, r],
          ),
          d = e.onTouchMove,
          m = s.useCallback(
            (e) => {
              for (const t of Array.from(e.changedTouches))
                r.has(t.identifier) &&
                  (r.get(t.identifier).bReceivedTouchMove = !0);
              d && d(e);
            },
            [d, r],
          ),
          _ = e.onTouchEnd,
          h = s.useCallback(
            (e) => {
              var t, n;
              let s = !1;
              for (const i of Array.from(e.changedTouches)) {
                if (!r.has(i.identifier)) continue;
                if (s || !a.current) continue;
                const o = r.get(i.identifier);
                if (
                  (r.delete(i.identifier),
                  null === (t = dl(e.view)) ||
                    void 0 === t ||
                    t.delete(i.identifier),
                  !o.bReceivedTouchMove)
                )
                  continue;
                if (o.bScrolled) continue;
                const l = o.elemTouchStart,
                  c = a.current.ownerDocument.elementFromPoint(
                    i.clientX,
                    i.clientY,
                  ),
                  u = jt(Lt(l) ? l : void 0, Lt(c) ? c : void 0);
                a.current.contains(u) &&
                  (null === (n = null == u ? void 0 : u.click) ||
                    void 0 === n ||
                    n.call(u),
                  (s = !0));
              }
              i(r.size > 0), _ && _(e);
            },
            [_, r],
          );
        s.useEffect(() => {
          var e, t;
          const n = dl(
            null ===
              (t =
                null === (e = a.current) || void 0 === e
                  ? void 0
                  : e.ownerDocument) || void 0 === t
              ? void 0
              : t.defaultView,
          );
          return () => {
            for (const e of r.keys()) null == n || n.delete(e);
          };
        }, [r]);
        const p = s.useCallback(
            (e) => {
              for (const e of r.values()) e.bScrolled = !0;
            },
            [r],
          ),
          g = or(n ? p : void 0),
          b = Xt(a, g);
        return t && e.onClick
          ? ((e.onClick = l),
            (e.onTouchStart = u),
            (e.onTouchMove = m),
            (e.onTouchEnd = h),
            b)
          : void 0;
      }
      function _l(e) {
        const t = T({ bSuppressAssert: !0 }).IN_VR,
          r = e.onClick,
          n = s.useCallback(
            (e) => {
              Jo.PlayNavSound(Zo.BasicNav), r && r(e);
            },
            [r],
          );
        t && r && (e.onClick = n);
      }
      const hl = xo(0, () => s.createContext(null)),
        pl = xo(0, () => s.createContext(Do));
      function gl(e) {
        const { navRef: t } = e,
          r = (0, i._T)(e, ["navRef"]),
          n = s.useRef(),
          a = (0, s.useContext)(hl),
          o = (0, s.useContext)(pl),
          l = (function (e, t) {
            let r = s.useRef(null);
            return (
              !e ||
                (r.current && r.current.m_Parent == e) ||
                (r.current = e.Tree.CreateNode(e, t)),
              r.current
            );
          })(a, o);
        return (
          s.useLayoutEffect(() => {
            l && l.SetProperties(r);
          }),
          s.useLayoutEffect(() => {
            if (!a) return;
            const e = a.Tree.RegisterNavigationItem(l, n.current);
            return () => {
              e();
            };
          }, [a, l, n]),
          s.useLayoutEffect(() => {
            if (l && t) return Qt(t, l.CreateHandle()), () => Qt(t, null);
          }, [l, t]),
          { ref: n, node: l }
        );
      }
      function bl(e) {
        const {
            onButtonDown: t,
            onButtonUp: r,
            onOKButton: n,
            onCancelButton: a,
            onSecondaryButton: s,
            onOptionsButton: o,
            onGamepadDirection: l,
            onGamepadFocus: c,
            onGamepadBlur: u,
            onMenuButton: d,
            onOKActionDescription: m,
            onCancelActionDescription: _,
            onSecondaryActionDescription: h,
            onOptionsActionDescription: p,
            onMenuActionDescription: g,
            actionDescriptionMap: b,
          } = e,
          f = (0, i._T)(e, [
            "onButtonDown",
            "onButtonUp",
            "onOKButton",
            "onCancelButton",
            "onSecondaryButton",
            "onOptionsButton",
            "onGamepadDirection",
            "onGamepadFocus",
            "onGamepadBlur",
            "onMenuButton",
            "onOKActionDescription",
            "onCancelActionDescription",
            "onSecondaryActionDescription",
            "onOptionsActionDescription",
            "onMenuActionDescription",
            "actionDescriptionMap",
          ]),
          v = {};
        void 0 !== t && (v.onButtonDown = t),
          void 0 !== r && (v.onButtonUp = r),
          void 0 !== n && (v.onOKButton = n),
          void 0 !== a && (v.onCancelButton = a),
          void 0 !== s && (v.onSecondaryButton = s),
          void 0 !== o && (v.onOptionsButton = o),
          void 0 !== d && (v.onMenuButton = d),
          void 0 !== l && (v.onGamepadDirection = l),
          void 0 !== c && (v.onGamepadFocus = c),
          void 0 !== u && (v.onGamepadBlur = u);
        const y = (function (e) {
          const {
              onOKActionDescription: t,
              onCancelActionDescription: r,
              onSecondaryActionDescription: n,
              onOptionsActionDescription: i,
              onMenuActionDescription: a,
              actionDescriptionMap: s,
            } = e,
            o = Object.assign({}, s);
          return (
            void 0 !== t && (o[is.OK] = t),
            void 0 !== r && (o[is.CANCEL] = r),
            void 0 !== n && (o[is.SECONDARY] = n),
            void 0 !== i && (o[is.OPTIONS] = i),
            void 0 !== a && (o[is.START] = a),
            o
          );
        })({
          onOKActionDescription: m,
          onCancelActionDescription: _,
          onSecondaryActionDescription: h,
          onOptionsActionDescription: p,
          onMenuActionDescription: g,
          actionDescriptionMap: b,
        });
        return { gamepadEvents: v, actionDescriptions: y, props: f };
      }
      function fl(e) {
        const {
            autoFocus: t,
            preferredFocus: r,
            disableNavSounds: n,
            fnCanTakeFocus: a,
            childFocusDisabled: s,
            retainFocus: o,
            onFocusWithin: l,
            navKey: c,
            noFocusRing: u,
            focusable: d,
            focusableIfNoChildren: m,
            navRef: _,
            actionDescriptionMap: h,
            onMoveUp: p,
            onMoveRight: g,
            onMoveDown: b,
            onMoveLeft: f,
            navEntryPreferPosition: v,
            scrollIntoViewWhenChildFocused: y,
            fnScrollIntoViewHandler: S,
            scrollIntoViewType: w,
            resetNavOnEntry: C,
          } = e,
          B = (0, i._T)(e, [
            "autoFocus",
            "preferredFocus",
            "disableNavSounds",
            "fnCanTakeFocus",
            "childFocusDisabled",
            "retainFocus",
            "onFocusWithin",
            "navKey",
            "noFocusRing",
            "focusable",
            "focusableIfNoChildren",
            "navRef",
            "actionDescriptionMap",
            "onMoveUp",
            "onMoveRight",
            "onMoveDown",
            "onMoveLeft",
            "navEntryPreferPosition",
            "scrollIntoViewWhenChildFocused",
            "fnScrollIntoViewHandler",
            "scrollIntoViewType",
            "resetNavOnEntry",
          ]),
          { gamepadEvents: E, actionDescriptions: I, props: R } = bl(B);
        return {
          elemProps: R,
          navOptions: {
            autoFocus: t,
            preferredFocus: r,
            disableNavSounds: n,
            fnCanTakeFocus: a,
            childFocusDisabled: s,
            retainFocus: o,
            onFocusWithin: l,
            navKey: c,
            noFocusRing: u,
            focusable: d,
            focusableIfNoChildren: m,
            navRef: _,
            onMoveUp: p,
            onMoveRight: g,
            onMoveDown: b,
            onMoveLeft: f,
            navEntryPreferPosition: v,
            scrollIntoViewWhenChildFocused: y,
            fnScrollIntoViewHandler: S,
            scrollIntoViewType: w,
            resetNavOnEntry: C,
            actionDescriptionMap: Object.assign(Object.assign({}, h), I),
          },
          gamepadEvents: E,
        };
      }
      function vl(e) {
        return function (t) {
          const {
              focusClassName: r,
              focusWithinClassName: n,
              className: a,
              divRef: o,
              node: l,
              tabIndex: c,
              children: u,
            } = t,
            d = (0, i._T)(t, [
              "focusClassName",
              "focusWithinClassName",
              "className",
              "divRef",
              "node",
              "tabIndex",
              "children",
            ]),
            m = tr(),
            _ = M() || l.Tree.GetApplyFocusClassesInDesktop(),
            h = Il(),
            p = l.BHasFocus() && h,
            g = l.BFocusWithin() && h,
            b = l.Tree.BIsActive();
          return (
            ar(l.FocusCallbackList, m),
            ar(l.FocusWithinCallbackList, m),
            ar(l.Tree.OnActiveStateChangedCallbacks, p || g ? m : void 0),
            s.createElement(
              e,
              Object.assign(Object.assign({}, d), {
                className: xr(a, _ && p && b && r, _ && g && b && n),
                tabIndex: b ? c : -1,
                ref: o,
              }),
              u,
            )
          );
        };
      }
      const yl = vl("div");
      function Sl(e, t, r, n) {
        const { elemProps: i, navOptions: a, gamepadEvents: o } = fl(r);
        void 0 !== a.focusable || i.disabled || (a.focusable = !0);
        const { ref: l, node: c } = gl(Object.assign({}, a)),
          u = (0, s.useCallback)(
            () => (Jo.PlayNavSound(Zo.DefaultOk), l.current.click(), !0),
            [l],
          );
        o.onOKButton ||
          ((i.onClick || ("button" == e && "submit" == i.type) || "a" == e) &&
            (o.onOKButton = u)),
          a.focusable && (i.tabIndex = i.tabIndex || 0),
          Ts(o, l);
        const d = ll(
            2,
            () =>
              "self" == (null == c ? void 0 : c.GetFocusable()) ||
              null != i.onClick,
          ),
          m = ml(i);
        _l(i);
        const _ = Xt(d, m, n, l),
          h = i.children;
        delete i.children;
        const p = i.focusClassName;
        return (
          delete i.focusClassName,
          s.createElement(
            hl.Provider,
            { value: c },
            c
              ? s.createElement(
                  t,
                  Object.assign(Object.assign({}, i), {
                    divRef: _,
                    node: c,
                    focusClassName: xr(p, "gpfocus"),
                    focusWithinClassName: "gpfocuswithin",
                    className: xr(i.className, "Focusable"),
                  }),
                  h,
                )
              : s.createElement(
                  e,
                  Object.assign(Object.assign({}, i), {
                    ref: _,
                    className: xr(i.className, "Focusable"),
                  }),
                  h,
                ),
          )
        );
      }
      function wl(e) {
        const t = vl(e);
        return s.forwardRef(function (r, n) {
          return Sl(e, t, r, n);
        });
      }
      function Cl(e) {
        const t = vl(e);
        return s.forwardRef(function (r, n) {
          const a = (function (e) {
              const {
                onEnterKeyPress: t,
                strEnterKeyLabel: r,
                onKeyboardNavOut: n,
                onKeyboardShow: a,
                onKeyboardFullyVisible: s,
                onTextEntered: o,
                BIsElementValidForInput: l,
              } = e;
              return {
                virtualKeyboardProps: {
                  onEnterKeyPress: t,
                  strEnterKeyLabel: r,
                  onKeyboardNavOut: n,
                  onKeyboardShow: a,
                  onKeyboardFullyVisible: s,
                  onTextEntered: o,
                  BIsElementValidForInput: l,
                },
                props: (0, i._T)(e, [
                  "onEnterKeyPress",
                  "strEnterKeyLabel",
                  "onKeyboardNavOut",
                  "onKeyboardShow",
                  "onKeyboardFullyVisible",
                  "onTextEntered",
                  "BIsElementValidForInput",
                ]),
              };
            })(r),
            { virtualKeyboardProps: s } = a,
            o = a.props,
            { refKeyboardHandle: l } = o,
            c = (0, i._T)(o, ["refKeyboardHandle"]),
            u = Xt(n, Xo(s, l));
          return Sl(e, t, c, u);
        });
      }
      function Bl(e) {
        switch (e) {
          case "column":
            return ao.COLUMN;
          case "column-reverse":
            return ao.COLUMN_REVERSE;
          case "row":
            return ao.ROW;
          case "row-reverse":
            return ao.ROW_REVERSE;
          case "grid":
            return ao.GRID;
          default:
            return ao.NONE;
        }
      }
      s.forwardRef(function (e, t) {
        const {
            NavigationManager: r,
            onActivated: n,
            onDeactivated: a,
            navTreeRef: o,
            secondary: l,
            virtualFocus: c,
            navID: u,
            children: d,
            "flow-children": m,
            parentEmbeddedNavTree: _,
            focusClassesInDesktop: h,
          } = e,
          p = (0, i._T)(e, [
            "NavigationManager",
            "onActivated",
            "onDeactivated",
            "navTreeRef",
            "secondary",
            "virtualFocus",
            "navID",
            "children",
            "flow-children",
            "parentEmbeddedNavTree",
            "focusClassesInDesktop",
          ]),
          { elemProps: g, navOptions: b, gamepadEvents: f } = fl(p),
          v =
            (null === (y = s.useContext(El)) || void 0 === y
              ? void 0
              : y.focusNavWindow) || r.GetDefaultContext();
        var y;
        let S = s.useRef(null);
        S.current || (S.current = r.NewGamepadNavigationTree(v, u));
        const w = S.current;
        s.useLayoutEffect(() => {
          const e = Bl(m);
          w.Root.SetProperties(
            Object.assign(Object.assign({}, b), { layout: e }),
          );
        });
        let C = s.useRef();
        w.SetUseVirtualFocus(c),
          w.SetParentEmbeddedNavTree(_),
          w.SetApplyFocusClassesInDesktop(null != h && h),
          ar(w.OnActivateCallbacks, n),
          ar(w.OnDeactivateCallbacks, a),
          (function (e, t, r) {
            const { onButtonDown: n } = e,
              a = (0, i._T)(e, ["onButtonDown"]),
              o = s.useCallback(
                (e) => {
                  n && n(e),
                    Rs(
                      "Gamepad Event fired:",
                      e.detail.button,
                      ", handled:",
                      null != n,
                      ", propagation stopped:",
                      e.cancelBubble,
                    ),
                    e.cancelBubble || r.HandleButtonDownEventAsLogicalEvent(e);
                },
                [n, r],
              );
            Ts(a, t),
              Ts(
                {
                  onButtonDown: o,
                  onButtonUp: Ms,
                  onOKButton: Ms,
                  onCancelButton: Ms,
                  onSecondaryButton: Ms,
                  onOptionsButton: Ms,
                  onMenuButton: Ms,
                  onGamepadDirection: Ms,
                  onGamepadFocus: Ms,
                  onGamepadBlur: Ms,
                },
                t,
                [o],
              );
          })(f, C, S.current),
          s.useLayoutEffect(
            () => w.RegisterNavigationItem(w.Root, C.current),
            [w, C],
          ),
          s.useLayoutEffect(
            () =>
              r.RegisterGamepadNavigationTree(
                w,
                C.current.ownerDocument.defaultView,
                l,
              ),
            [r, l, w],
          ),
          s.useLayoutEffect(() => (Qt(o, w), () => Qt(o, null)), [o, w]);
        const B = Xt(C, t);
        return s.createElement(
          "div",
          Object.assign({}, g, { id: u, "data-react-nav-root": u, ref: B }),
          s.createElement(hl.Provider, { value: w.Root }, d),
        );
      });
      const El = s.createContext({ focusNavWindow: null, bSupportsFocus: !0 });
      function Il() {
        var e, t;
        return (
          null ===
            (t =
              null === (e = s.useContext(El)) || void 0 === e
                ? void 0
                : e.bSupportsFocus) ||
          void 0 === t ||
          t
        );
      }
      const Rl = wl("div"),
        Tl = wl("button"),
        Ml = wl("a"),
        Dl = Cl("input");
      Cl("textarea"), wl("img");
      const Al = (0, s.createContext)(null),
        Ol = s.forwardRef(function (e, t) {
          const {
              "flow-children": r,
              onActivate: n,
              onCancel: a,
              focusClassName: o,
              focusWithinClassName: l,
            } = e,
            c = (0, i._T)(e, [
              "flow-children",
              "onActivate",
              "onCancel",
              "focusClassName",
              "focusWithinClassName",
            ]),
            { elemProps: u, navOptions: d, gamepadEvents: m } = fl(c);
          let _ = {};
          const h = Bl(r);
          h != ao.NONE && (_.layout = h),
            n &&
              ((u.onClick = u.onClick || n),
              (m.onOKButton = m.onOKButton || n)),
            m.onOKButton && void 0 === d.focusable && (d.focusable = !0),
            a && (m.onCancelButton = m.onCancelButton || a);
          const { ref: p, node: g } = gl(
              Object.assign(Object.assign({}, _), d),
            ),
            b = Il();
          (u.className = xr(u.className, "Panel", b && "Focusable")), Ts(m, p);
          const f = (0, s.useContext)(Al),
            v = ll(
              2,
              () =>
                "self" == (null == g ? void 0 : g.GetFocusable()) ||
                null != u.onClick,
            ),
            y = ll(1, () => (null == f ? void 0 : f.HasContextMenu(g))),
            S = ml(u);
          _l(u);
          const w = Xt(v, y, S, p, t);
          return (
            (!d.focusable && !d.focusableIfNoChildren) ||
              (g && g.Tree.BUseVirtualFocus()) ||
              (u.tabIndex = u.tabIndex || 0),
            f &&
              (u.onContextMenu = (t) => {
                var r;
                f.OnContextMenu(g, t) ||
                  null === (r = e.onContextMenu) ||
                  void 0 === r ||
                  r.call(e, t);
              }),
            s.createElement(
              hl.Provider,
              { value: g },
              g
                ? s.createElement(
                    yl,
                    Object.assign({}, u, {
                      divRef: w,
                      node: g,
                      focusClassName: xr(o, "gpfocus"),
                      focusWithinClassName: xr(l, "gpfocuswithin"),
                    }),
                  )
                : s.createElement("div", Object.assign({}, u, { ref: w })),
            )
          );
        });
      function Fl(e) {
        let t = new RegExp(
            "^(steam://openurl(_external)?/)?((f|ht)tps?://)?([^@/?#]*@)?([^/#?]+)",
            "im",
          ),
          r = e.match(t);
        return r && r.length > 5 ? r[6].toString() : e;
      }
      const Ll = /^(steam|ftp|https?):\/\//;
      function kl(e) {
        return e
          ? 1 != w.EUNIVERSE
            ? e
            : ("http:" == e.substring(0, 5) && (e = "https:" + e.substring(5)),
              (e = (e = (e = (e = (e = (e = (e = (e = (e = (e = (e = (e = (e =
                (e = (e = (e = e.replace(
                  /https:\/\/media.steampowered.com\//g,
                  w.MEDIA_CDN_URL,
                )).replace(
                  /https:\/\/cdn.akamai.steamstatic.com\//g,
                  w.MEDIA_CDN_URL,
                )).replace(
                  /https:\/\/cdn.cloudflare.steamstatic.com\//g,
                  w.MEDIA_CDN_URL,
                )).replace(
                  /https:\/\/cdn.edgecast.steamstatic.com\//g,
                  w.MEDIA_CDN_URL,
                )).replace(
                /https:\/\/cdn.dota2.com\//g,
                w.MEDIA_CDN_URL,
              )).replace(
                /https:\/\/storefront.steampowered.com\/v\/gfx\//g,
                w.MEDIA_CDN_URL + "steam/",
              )).replace(
                /https:\/\/clan.akamai.steamstatic.com\//g,
                w.CLAN_CDN_ASSET_URL,
              )).replace(
                /https:\/\/clan.cloudflare.steamstatic.com\//g,
                w.CLAN_CDN_ASSET_URL,
              )).replace(
                /https:\/\/cdn.steamcommunity.com\//g,
                w.COMMUNITY_CDN_URL,
              )).replace(
                /https:\/\/community.akamai.steamstatic.com\//g,
                w.COMMUNITY_CDN_URL,
              )).replace(
                /https:\/\/community.cloudflare.steamstatic.com\//g,
                w.COMMUNITY_CDN_URL,
              )).replace(
                /https:\/\/community.edgecast.steamstatic.com\//g,
                w.COMMUNITY_CDN_URL,
              )).replace(/{IMG_URL}/g, w.IMG_URL)).replace(
                /{MEDIA_CDN_URL}/g,
                w.MEDIA_CDN_URL,
              )).replace(
                /{MEDIA_CDN_COMMUNITY_URL}/g,
                w.MEDIA_CDN_COMMUNITY_URL,
              )).replace(/{COMMUNITY_CDN_URL}/g, w.COMMUNITY_CDN_URL)),
              (e = e.replace(/{STEAM_CLAN_IMAGE}/g, yr())))
          : e;
      }
      function Nl(e) {
        if (!e) return !0;
        const t = Fl(e).toLocaleLowerCase();
        return (
          [
            Fl(w.COMMUNITY_CDN_URL).toLocaleLowerCase(),
            Fl(w.MEDIA_CDN_URL).toLocaleLowerCase(),
            Fl(w.MEDIA_CDN_COMMUNITY_URL).toLocaleLowerCase(),
            Fl(w.STORE_CDN_URL).toLocaleLowerCase(),
            Fl(w.BASE_URL_SHARED_CDN).toLocaleLowerCase(),
            Fl(w.CLAN_CDN_ASSET_URL).toLocaleLowerCase(),
            "support.steampowered.com",
            "steamcdn-a.akamaihd.net",
            "cdn.cloudflare.steamstatic.com",
            "cdn.akamai.steamstatic.com",
          ].indexOf(t) >= 0
        );
      }
      const Pl = JSON.parse(
        '{"store.steampowered.com":1,"steamcommunity.com":2,"default":4,"message":41,"notification":48,"mobileapp":700,"steamtv":2200,"steamclient":5000,"library":5100,"friendsui":5200,"friendcontextmenu":5201,"topsellers":7000,"steamcharts":7001,"weeklytopsellers":7002,"topchartlist":7003,"overview":7004,"mostplayed":7005,"help.steampowered.com":100601,"salecreatorhome":100700,"saleitembrowse":100701,"salefacetbrowse":100702,"salesection":100703,"saletabsection":100704,"salebroadcast":100705,"salecuratorrec":100706,"saleeventsched":100707,"salesubscription":100708,"saleitemsearch":100709,"salesmartwishlist":100710,"salesmartir":100711,"salesmartdlc":100712,"salesmarttagrec":100713,"salebrowsetopwishlisted":100714,"salebrowsetrendingwishlisted":100715,"salebrowsepopularcomingsoon":100716,"salebrowsemostplayeddemo":100717,"salebrowsedailyactiveuserdemo":100718,"salebrowseplayednowdemo":100719,"salebrowserecentlyreleased":100720,"salebrowsepopularpurchased":100721,"salebrowsepopularpurchaseddiscounted":100722,"salebrowsediscounted":100723,"salebrowseprice":100724,"salebrowsenewandtrending":100725,"salebrowsetopsellers":100726,"salebrowsetoprated":100727,"discoveryqueue2022":100728,"saleeventsection":100729,"salesectionlinks":100730,"salesectionrewards":100731,"salesectiontext":100732,"salesectioneventschedule":100733,"spotlight":40,"daily-deal":43,"promo-takeover":118,"live-broadcast":143,"large-cluster":201,"yearinreview":662}',
      );
      function Gl(e, t, r = null) {
        const n = Fl(e).toLowerCase(),
          i = Fl(w.COMMUNITY_BASE_URL).toLowerCase(),
          a = Fl(w.STORE_BASE_URL).toLowerCase();
        return n === i || n === a
          ? (function (e, t, r = null) {
              const n = (function (e, t = null) {
                if (!(null == e ? void 0 : e.domain)) return w.SNR;
                return xl.GetLinkParam(e, t);
              })(t, r);
              return xl.AddNavParamToURL(e, n);
            })(e, t, r)
          : e;
      }
      class xl {
        static SetNavEventParams(e, t, r = null, n = null) {
          (xl.sm_strDomain = e),
            (xl.sm_strController = t),
            (xl.sm_strMethod = r),
            (xl.sm_strSubmethod = n),
            (xl.sm_strComputedLinkPrefix = null);
        }
        static GetDefaultParams() {
          let e = { domain: xl.sm_strDomain, controller: xl.sm_strController };
          return (
            xl.sm_strMethod && (e.method = xl.sm_strMethod),
            xl.sm_strSubmethod && (e.submethod = xl.sm_strSubmethod),
            e
          );
        }
        static ParseSNR(e) {
          const t = e.split("_") || [];
          return {
            domain: t[0],
            controller: t[1],
            method: t[2],
            submethod: t[3],
            feature: t[4],
            depth: t[5] ? Number(t[5]) : void 0,
          };
        }
        static InstrumentLink(e, t, r = null) {
          const n = xl.GetLinkParam(t, r);
          return xl.AddNavParamToURL(e, n);
        }
        static GetLinkParam(e, t = null) {
          let r, n;
          if (
            ("string" == typeof e || e.domain || (e = e.feature),
            "string" != typeof e && e.domain)
          )
            (r = xl.ComputeLinkPrefix(
              e.domain,
              e.controller,
              e.method,
              e.submethod,
            )),
              (n = e.feature),
              (t = null != t ? t : e.depth);
          else {
            if (!xl.sm_strComputedLinkPrefix && !xl.ComputeStaticLinkPrefix())
              return null;
            (r = xl.sm_strComputedLinkPrefix),
              (n = "string" == typeof e ? e : e.feature);
          }
          let i = xl.EncodeEventComponent(n);
          return i && ((r += "_" + i), t && (r += "_" + t)), r;
        }
        static AddNavParamToURL(e, t) {
          try {
            const r = new URL(
                (function (e) {
                  return Ll.test(e) ? e : "https://" + e;
                })(e),
              ),
              n = new URLSearchParams(r.search);
            return (
              n.set("snr", encodeURIComponent(t)),
              r.origin + r.pathname + "?" + n.toString() + r.hash
            );
          } catch (t) {
            return console.error(e, t), e;
          }
        }
        static ComputeStaticLinkPrefix() {
          return xl.sm_strDomain
            ? ((xl.sm_strComputedLinkPrefix = xl.ComputeLinkPrefix(
                xl.sm_strDomain,
                xl.sm_strController,
                xl.sm_strMethod,
                xl.sm_strSubmethod,
              )),
              !0)
            : (c(
                !1,
                "CStoreNavEvents::SetNavEventParams was not called before calling InstrumentLink!",
              ),
              !1);
        }
        static ComputeLinkPrefix(e, t, r, n) {
          let i = "";
          return (
            (i += xl.EncodeEventComponent(e)),
            (i += "_"),
            (i += xl.EncodeEventComponent(t)),
            (i += "_"),
            (i += xl.EncodeEventComponent(r)),
            (i += "_"),
            (i += xl.EncodeEventComponent(n)),
            i
          );
        }
        static EncodeEventComponent(e) {
          if (!e) return "";
          return e in Pl
            ? "" + Pl[e]
            : (e.match(/^[0-9]+$/) || (e = e.replace(/^[0-9]+/, "")),
              e.replace(/[^a-zA-Z0-9\- ]+/g, ""));
        }
      }
      class Ul {
        constructor() {
          (this.m_mapYouTubeVideo = new Map()),
            (this.m_mapSharedFile = new Map()),
            (0, Je.rC)(this);
        }
        LoadYouTubeDynamicData(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let r = new Array(),
              n = "";
            if (
              (e.forEach((e, t) => {
                this.m_mapYouTubeVideo.has(e)
                  ? r.push(this.m_mapYouTubeVideo.get(e))
                  : (n.length > 0 && (n += ","), (n += e));
              }),
              0 == n.length)
            )
              return r;
            let i = { youtubevideoids: n },
              a = null;
            return (
              (a = yield Ze().get(
                w.STORE_BASE_URL + "/events/ajaxgetdynamiceventmetadata",
                { params: i, cancelToken: t.token },
              )),
              a &&
                a.data &&
                a.data.youtube &&
                (0, Je.z)(() => {
                  a.data.youtube.forEach((e, t) => {
                    this.m_mapYouTubeVideo.set(e.videoid, e), r.push(e);
                  });
                }),
              r
            );
          });
        }
        LoadSharedFileDynamicData(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let r = new Array(),
              n = "";
            if (
              (e.forEach((e, t) => {
                this.m_mapSharedFile.has(e)
                  ? r.push(this.m_mapSharedFile.get(e))
                  : (n.length > 0 && (n += ","), (n += e));
              }),
              0 == n.length)
            )
              return r;
            let i = { sharedfileids: n },
              a = null;
            return (
              (a = yield Ze().get(
                w.STORE_BASE_URL + "/events/ajaxgetdynamiceventmetadata",
                { params: i, cancelToken: t.token },
              )),
              a &&
                a.data &&
                a.data.sharedfiles &&
                (0, Je.z)(() => {
                  a.data.sharedfiles.forEach((e, t) => {
                    this.m_mapSharedFile.set(e.sharedfileid, e), r.push(e);
                  });
                }),
              r
            );
          });
        }
      }
      (0, i.gn)([Je.LO], Ul.prototype, "m_mapYouTubeVideo", void 0),
        (0, i.gn)([Je.LO], Ul.prototype, "m_mapSharedFile", void 0);
      const zl = new Ul();
      var Wl = r(2174),
        jl = r.n(Wl);
      function Vl(e) {
        const {
            videoID: t,
            bShowVideoImmediately: r,
            bAutoPlay: n,
            nStartSeconds: i,
            classNameSize: a,
            classNameAlign: o,
          } = e,
          [l, c] = (0, s.useState)(!r),
          [u, d] = (0, s.useState)(!1),
          m = Yt("YouTubeInlineSnippet"),
          [_, h] = (0, s.useState)({
            title: We("#Loading"),
            description: "",
            videoid: t,
            views: "0",
          });
        (0, s.useEffect)(() => {
          l &&
            zl
              .LoadYouTubeDynamicData([t], m)
              .then((e) => {
                !m.token.reason && e.length > 0 && (h(e[0]), d(!0));
              })
              .catch((e) =>
                console.error("YouTubeInlineSnippet: " + Ft(e).strErrorMsg),
              );
        }, [l, m, t]);
        const p = !1;
        if (
          (s.useEffect(() => {
            r && Fa(() => {});
          }, [r, p]),
          l)
        ) {
          const e = _.title,
            r = _.views,
            n = _.description;
          return s.createElement(
            "div",
            { className: jl().DynamicLinkBox, onClick: () => c(!1) },
            s.createElement("img", {
              className: jl().DynamicLink_Preview,
              src: "https://img.youtube.com/vi/" + t + "/0.jpg",
            }),
            s.createElement(
              "div",
              { className: jl().DynamicLink_Content },
              s.createElement(
                "div",
                { className: jl().DynamicLink_Name },
                We("#EventEditor_YouTubeVideoTitle", e),
              ),
              s.createElement(
                "div",
                { className: jl().DynamicLink_YoutubeViews },
                We(
                  "#EventEditor_YouTubeVideoViews",
                  (g = Number(r))
                    ? g.toLocaleString(Qe.GetPreferredLocales())
                    : "" + g,
                ),
              ),
              s.createElement(
                "div",
                { className: jl().Dynamiclink_Content },
                u && n,
                !u && s.createElement(Ra, { size: "medium" }),
              ),
            ),
          );
        }
        return s.createElement(
          "div",
          { className: xr(jl().PreviewYouTubeVideo, a, o), id: t },
          s.createElement("img", {
            src:
              w.COMMUNITY_CDN_URL +
              "public/shared/images/responsive/youtube_16x9_placeholder.gif",
          }),
          s.createElement(ka, {
            video: t,
            autoplay: null != n && n,
            startSeconds: i,
            controls: !0,
            playsInline: !0,
            autopause: !0,
            showFullscreenBtn: !0,
          }),
        );
        var g;
      }
      const Hl = Object.seal({ onMoveUp: ql, onMoveDown: ql });
      Object.seal({ onMoveRight: ql, onMoveLeft: ql });
      function ql(e, t) {
        if (e.is_repeat) return !1;
        const r = t.GetRelativeDirection(e.button);
        return r == lo.FORWARD
          ? t.BFocusFirstChild(ss.GAMEPAD)
          : r == lo.BACKWARD && t.BFocusLastChild(ss.GAMEPAD);
      }
      var Kl = r(5372),
        $l = r.n(Kl);
      const Yl = s.forwardRef((e, t) => {
        const { className: r, contextMenuStyles: n, disabled: a } = e,
          o = (0, i._T)(e, ["className", "contextMenuStyles", "disabled"]);
        return s.createElement(
          "div",
          Object.assign({}, o, {
            ref: t,
            className: xr(
              r,
              (n || $l()).contextMenuItem,
              "contextMenuItem",
              a && "disabled",
            ),
          }),
        );
      });
      Yl.displayName = "MenuItem";
      r(7677);
      let Ql = 0;
      function Xl() {
        const e = s.useRef();
        return (
          void 0 === e.current && (e.current = "svgid_" + Ql++),
          [e.current, `url(#${e.current})`]
        );
      }
      function Zl(e) {
        const [t, r] = Xl();
        return s.createElement(
          "svg",
          Object.assign(
            {
              xmlns: "http://www.w3.org/2000/svg",
              viewBox: "0 0 15 23",
              fill: "none",
            },
            e,
          ),
          s.createElement(
            "g",
            { clipPath: r },
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M6.9955 11.5L15 3.4955L11.5045 -1.52793e-07L0.00450275 11.5L11.5045 23L15 19.5045L6.9955 11.5Z",
            }),
          ),
          s.createElement(
            "defs",
            null,
            s.createElement(
              "clipPath",
              { id: t },
              s.createElement("rect", {
                fill: "currentColor",
                width: "15",
                height: "23",
              }),
            ),
          ),
        );
      }
      function Jl() {
        return s.createElement(
          "svg",
          {
            xmlns: "http://www.w3.org/2000/svg",
            className: "SVGIcon_Button SVGIcon_DownArrowContextMenu",
            "data-name": "Layer 1",
            viewBox: "0 0 128 128",
            x: "0px",
            y: "0px",
          },
          s.createElement("polygon", {
            points:
              "50 59.49 13.21 22.89 4.74 31.39 50 76.41 95.26 31.39 86.79 22.89 50 59.49",
          }),
        );
      }
      function ec(e) {
        return s.createElement(
          "svg",
          {
            style: { transform: `rotate(${e.angle}deg)` },
            version: "1.1",
            xmlns: "http://www.w3.org/2000/svg",
            x: "0px",
            y: "0px",
            width: "24.833px",
            height: "21.917px",
            viewBox: "0 0 24.833 21.917",
          },
          s.createElement("polygon", {
            points:
              "12.5,14.873 3.302,5.723 1.185,7.848 12.5,19.103 23.814,7.848 21.697,5.723 ",
          }),
        );
      }
      function tc(e) {
        const t = e.color || "#FFFFFF";
        return s.createElement(
          "svg",
          {
            version: "1.1",
            id: "Layer_2",
            xmlns: "http://www.w3.org/2000/svg",
            className: "SVGIcon_Button SVGIcon_X_Line",
            x: "0px",
            y: "0px",
            width: "256px",
            height: "256px",
            viewBox: "0 0 256 256",
          },
          s.createElement("line", {
            fill: "none",
            stroke: t,
            strokeWidth: "45",
            strokeMiterlimit: "10",
            x1: "212",
            y1: "212",
            x2: "44",
            y2: "44",
          }),
          s.createElement("line", {
            fill: "none",
            stroke: t,
            strokeWidth: "45",
            strokeMiterlimit: "10",
            x1: "44",
            y1: "212",
            x2: "212",
            y2: "44",
          }),
        );
      }
      function rc(e) {
        var t;
        return s.createElement(
          "svg",
          Object.assign(
            {
              version: "1.1",
              id: "base",
              xmlns: "http://www.w3.org/2000/svg",
              className: "SVGIcon_Button SVGIcon_Check",
              x: "0px",
              y: "0px",
              width: "256px",
              height: "256px",
              viewBox: "0 0 256 256",
              strokeWidth: "24",
              stroke: null !== (t = e.color) && void 0 !== t ? t : "#fff",
              strokeLinecap: "round",
              strokeLinejoin: "round",
              strokeMiterlimit: "10",
            },
            e,
          ),
          s.createElement("polyline", {
            fill: "none",
            points: "49.5,147.75 95,210.75 206.5,45.25 ",
          }),
        );
      }
      function nc(e) {
        let t = e.highlightColor || "#00ccff",
          r = e.color || "#2d73ff";
        const [n, i] = Xl(),
          [a, o] = Xl(),
          [l] = (0, s.useState)(Math.random().toString());
        return s.createElement(
          "svg",
          {
            version: "1.1",
            id: "base",
            xmlns: "http://www.w3.org/2000/svg",
            className: "SVGIcon_Button SVGIcon_DialogCheck",
            x: "0px",
            y: "0px",
            width: "256px",
            height: "256px",
            viewBox: "0 0 256 256",
          },
          s.createElement(
            "defs",
            null,
            s.createElement(
              "linearGradient",
              { id: n, x1: "0%", y1: "0%", x2: "100%", y2: "100%" },
              s.createElement("stop", { offset: "0%", stopColor: t }),
              s.createElement("stop", { offset: "100%", stopColor: r }),
            ),
            s.createElement(
              "filter",
              { id: a, x: "0", y: "0", width: "200%", height: "200%" },
              s.createElement("feOffset", {
                result: "offOut",
                in: "SourceAlpha",
                dx: "20",
                dy: "20",
              }),
              s.createElement("feGaussianBlur", {
                result: "blurOut",
                in: "offOut",
                stdDeviation: "10",
              }),
              s.createElement("feBlend", {
                in: "SourceGraphic",
                in2: "blurOut",
                mode: "normal",
              }),
            ),
          ),
          s.createElement("path", {
            fill: "none",
            stroke: i,
            strokeWidth: "24",
            strokeLinecap: "round",
            strokeLinejoin: "miter",
            strokeMiterlimit: "10",
            d: "M206.5,45.25L95,210.75l-45.5-63",
            strokeDasharray: "365.19 365.19",
            strokeDashoffset: "0.00",
          }),
          s.createElement("path", {
            fill: "none",
            opacity: ".2",
            filter: o,
            stroke: i,
            strokeWidth: "24",
            strokeLinecap: "round",
            strokeLinejoin: "miter",
            strokeMiterlimit: "10",
            d: "M206.5,45.25L95,210.75l-45.5-63",
            strokeDasharray: "365.19 365.19",
            strokeDashoffset: "0.00",
          }),
        );
      }
      function ic(e) {
        return M()
          ? s.createElement(
              "svg",
              Object.assign(
                {
                  xmlns: "http://www.w3.org/2000/svg",
                  className: "SVGIcon_Button SVGIcon_Bell",
                  viewBox: "0 0 36 36",
                  fill: "none",
                },
                e,
              ),
              s.createElement("path", {
                fillRule: "evenodd",
                clipRule: "evenodd",
                d: "M32 24V26H4V24L8 19V12C8 9.34784 9.05357 6.8043 10.9289 4.92893C12.8043 3.05357 15.3478 2 18 2C20.6522 2 23.1957 3.05357 25.0711 4.92893C26.9464 6.8043 28 9.34784 28 12V19L32 24ZM18 34C19.2396 33.9986 20.4483 33.6133 21.46 32.897C22.4718 32.1807 23.2368 31.1687 23.65 30H12.35C12.7632 31.1687 13.5282 32.1807 14.54 32.897C15.5517 33.6133 16.7604 33.9986 18 34Z",
                fill: "currentColor",
              }),
            )
          : s.createElement(
              "svg",
              {
                version: "1.1",
                id: "base",
                xmlns: "http://www.w3.org/2000/svg",
                className: "SVGIcon_Button SVGIcon_Bell",
                x: "0px",
                y: "0px",
                width: "256px",
                height: "256px",
                viewBox: "0 0 256 256",
              },
              s.createElement("path", {
                d: "M107.785,33.965c-34.875,8.972-60.644,40.618-60.644,78.308v53.903c0,4.965-4.035,8.99-8.975,8.99 c-9.929,0-17.978,8.066-17.978,17.971c0,9.924,8.059,17.969,18.013,17.969h179.598c9.948,0,18.014-8.066,18.014-17.969 c0-9.926-8.087-17.971-17.979-17.971c-4.956,0-8.975-3.993-8.975-8.99v-53.903c0-37.676-25.763-69.333-60.644-78.308v-9.281 c0-11.193-9.052-20.219-20.215-20.219c-11.143,0-20.215,9.052-20.215,20.219V33.965L107.785,33.965z M96.554,220.09h62.891 c0,17.366-14.079,31.445-31.445,31.445C110.633,251.535,96.554,237.458,96.554,220.09z",
              }),
            );
      }
      function ac() {
        return s.createElement(
          "svg",
          {
            version: "1.1",
            id: "Layer_1",
            xmlns: "http://www.w3.org/2000/svg",
            x: "0px",
            y: "0px",
            width: "50px",
            height: "100px",
            viewBox: "0 0 50 100",
          },
          s.createElement("polygon", {
            fill: "#ffffff",
            points:
              "0,0.093 0,25.702 24.323,50.026 0,74.349 0,99.955 49.929,50.026 ",
          }),
        );
      }
      function sc() {
        return s.createElement(
          "svg",
          {
            version: "1.1",
            id: "base",
            xmlns: "http://www.w3.org/2000/svg",
            className: "SVGIcon_Button SVGIcon_Maximize",
            x: "0px",
            y: "0px",
            width: "256px",
            height: "256px",
            viewBox: "0 0 256 256",
          },
          s.createElement("rect", {
            x: "24",
            y: "42.167",
            fill: "none",
            stroke: "rgb(120, 138, 146)",
            strokeWidth: "18",
            strokeMiterlimit: "10",
            width: "208",
            height: "171.667",
          }),
          s.createElement("line", {
            fill: "none",
            stroke: "rgb(120, 138, 146)",
            strokeWidth: "42",
            strokeMiterlimit: "10",
            x1: "24",
            y1: "54.01",
            x2: "232",
            y2: "54.01",
          }),
        );
      }
      function oc() {
        return s.createElement(
          "svg",
          {
            version: "1.1",
            id: "base",
            xmlns: "http://www.w3.org/2000/svg",
            className: "SVGIcon_Button SVGIcon_Minimize",
            x: "0px",
            y: "0px",
            width: "256px",
            height: "256px",
            viewBox: "0 0 256 256",
          },
          s.createElement("line", {
            fill: "none",
            stroke: "rgb(120, 138, 146)",
            strokeWidth: "18",
            strokeMiterlimit: "10",
            x1: "24",
            y1: "209.01",
            x2: "232",
            y2: "209.01",
          }),
        );
      }
      function lc() {
        return s.createElement(
          "svg",
          {
            version: "1.1",
            id: "Layer_2",
            xmlns: "http://www.w3.org/2000/svg",
            className: "SVGIcon_Button SVGIcon_Restore",
            x: "0px",
            y: "0px",
            width: "256px",
            height: "256px",
            viewBox: "0 0 256 256",
          },
          s.createElement("polyline", {
            fill: "none",
            stroke: "rgb(120, 138, 146)",
            strokeWidth: "12",
            strokeMiterlimit: "10",
            points: "83,90.861 83,42.167 232,42.167 232,165.14 173,165.14 ",
          }),
          s.createElement("rect", {
            x: "24",
            y: "90.861",
            fill: "none",
            stroke: "rgb(120, 138, 146)",
            strokeWidth: "18",
            strokeMiterlimit: "10",
            width: "149",
            height: "122.973",
          }),
        );
      }
      const cc = xo(0, () => s.createContext({})),
        uc = () => s.useContext(cc);
      function dc(e) {
        const { component: t, fallback: r, componentRef: n } = e,
          a = (0, i._T)(e, ["component", "fallback", "componentRef"]),
          [[o, l]] = s.useState([t, r]),
          c = null != o ? o : l;
        return s.createElement(
          c,
          Object.assign(Object.assign({}, a), { ref: n }),
        );
      }
      var mc = r(6143),
        _c = r.n(mc);
      const hc = (e) => {
          const t = uc();
          return s.createElement(
            dc,
            Object.assign(
              { component: null == t ? void 0 : t.ToggleControl, fallback: pc },
              e,
            ),
          );
        },
        pc = (e) => {
          const { value: t, onChange: r, disabled: n } = e;
          return s.createElement(
            "div",
            {
              className: xr(_c().Toggle, n && _c().Disabled),
              onClick: () => !n && r && r(!t),
            },
            s.createElement("div", { className: _c().ToggleRail }),
            s.createElement("div", {
              className: xr(
                _c().ToggleRail,
                _c().Highlight,
                t ? _c().On : _c().Off,
              ),
            }),
            s.createElement("div", {
              className: xr(_c().ToggleSwitch, t ? _c().On : _c().Off),
            }),
          );
        };
      function gc(e) {
        let t = new RegExp(
            "^(steam://openurl(_external)?/)?((f|ht)tps?://)?([^@/?#]*@)?([^/#?]+)",
            "im",
          ),
          r = e.match(t);
        return r && r.length > 5 ? r[6].toString() : e;
      }
      function bc(e) {
        return s.forwardRef(function (t, r) {
          return s.createElement(
            "div",
            Object.assign({}, t, { className: xr(e, t.className), ref: r }),
          );
        });
      }
      function fc(e) {
        return s.forwardRef(function (t, r) {
          return s.createElement(
            Ol,
            Object.assign({}, t, { className: xr(e, t.className), ref: r }),
          );
        });
      }
      (0, i.gn)(
        [Je.LO],
        class {
          constructor(e) {
            (this.m_Value = void 0), (0, Je.rC)(this), (this.promise = e);
          }
          set promise(e) {
            (this.m_Promise = e),
              (this.m_Value = void 0),
              null == e ||
                e.then((t) => {
                  this.m_Promise === e && (this.m_Value = t);
                });
          }
          get promise() {
            return this.m_Promise;
          }
          get value() {
            return this.m_Value;
          }
        }.prototype,
        "m_Value",
        void 0,
      );
      let vc = bc("DialogHeader"),
        yc = (bc("DialogSubHeader"), bc("DialogFooter")),
        Sc = (bc("DialogLabel _DialogLayout"), bc("DialogBodyText")),
        wc = (bc("DialogBody"), fc("DialogBody")),
        Cc =
          (bc("DialogInnerBody"),
          bc("DialogControlsSection"),
          bc("DialogControlsSectionHeader"),
          fc("DialogTwoColLayout _DialogColLayout")),
        Bc = fc("DialogThreeColLayout _DialogColLayout");
      fc("DialogTwoThirdColLayout _DialogColLayout"),
        bc("DialogColumn _DialogLayout");
      function Ec(e) {
        const t = uc().Content || Ic;
        return s.createElement(t, Object.assign({}, e));
      }
      function Ic(e) {
        let { children: t, bCenterVertically: r, refElem: n } = e,
          a = (0, i._T)(e, ["children", "bCenterVertically", "refElem"]),
          o =
            "DialogContent _DialogLayout" +
            (e.className ? " " + e.className : "");
        return (
          r && (o += " _DialogCenterVertically"),
          s.createElement(
            "div",
            Object.assign({}, a, { ref: n, className: o }),
            s.createElement(
              "div",
              { className: "DialogContent_InnerWidth" },
              t,
            ),
          )
        );
      }
      class Rc extends s.Component {
        OnSubmit(e) {
          e.preventDefault(), this.props.onSubmit && this.props.onSubmit(e);
        }
        render() {
          return s.createElement(
            "form",
            Object.assign({}, this.props, { onSubmit: this.OnSubmit }),
          );
        }
      }
      function Tc(e) {
        const { classNameContent: t, bCenterVertically: r } = e,
          n = (0, i._T)(e, ["classNameContent", "bCenterVertically"]);
        return s.createElement(
          Ec,
          { className: t, bCenterVertically: r },
          s.createElement(Rc, Object.assign({}, n)),
        );
      }
      (0, i.gn)([ye], Rc.prototype, "OnSubmit", null);
      const Mc = s.forwardRef(function (e, t) {
          const r = uc(),
            { svgicon: n } = e,
            a = (0, i._T)(e, ["svgicon"]),
            o = xr(
              e.className,
              void 0 !== n && "hasSVGIcon",
              a.disabled && "Disabled",
              r.strButtonClassName,
            ),
            l = (e) =>
              a.disabled || !e
                ? null
                : (t) => {
                    t.stopPropagation(), e(t);
                  };
          return s.createElement(
            Tl,
            Object.assign(
              {
                ref: t,
                onOKActionDescription: a.disabled ? null : void 0,
                noFocusRing: !0,
              },
              a,
              {
                className: o,
                disabled: !1,
                onClick: l(a.onClick),
                onPointerDown: l(a.onPointerDown),
                onPointerUp: l(a.onPointerUp),
                onPointerCancel: l(a.onPointerCancel),
                onMouseDown: l(a.onMouseDown),
                onMouseUp: l(a.onMouseUp),
                onTouchStart: l(a.onTouchStart),
                onTouchEnd: l(a.onTouchEnd),
                onTouchCancel: l(a.onTouchCancel),
                onSubmit: l(a.onSubmit),
              },
            ),
            n && n(),
            e.children,
          );
        }),
        Dc = s.forwardRef(function (e, t) {
          return s.createElement(
            Mc,
            Object.assign(
              { preferredFocus: !0, type: e.onClick ? "button" : "submit" },
              e,
              {
                ref: t,
                className: xr(
                  e.className,
                  "DialogButton",
                  "_DialogLayout",
                  "Primary",
                ),
              },
            ),
          );
        }),
        Ac = s.forwardRef(function (e, t) {
          return s.createElement(
            Mc,
            Object.assign({ type: "button" }, e, {
              ref: t,
              className: xr(
                e.className,
                "DialogButton",
                "_DialogLayout",
                "Secondary",
              ),
            }),
          );
        });
      s.forwardRef(function (e, t) {
        return s.createElement(
          Mc,
          Object.assign({ type: "button" }, e, {
            ref: t,
            className: xr(
              e.className,
              "DialogButton",
              "_DialogLayout",
              "EmptyButton",
            ),
          }),
        );
      }),
        s.forwardRef(function (e, t) {
          return s.createElement(
            Mc,
            Object.assign({ type: "button" }, e, {
              ref: t,
              className: xr(e.className, "DialogButton _DialogLayout Small"),
            }),
          );
        }),
        s.forwardRef(function (e, t) {
          return s.createElement(
            Mc,
            Object.assign({ type: "button" }, e, {
              ref: t,
              className: xr(e.className, "TextButton"),
            }),
          );
        });
      function Oc(e) {
        return s.createElement(
          Cc,
          null,
          s.createElement(
            Dc,
            {
              onClick: e.onOK,
              disabled: e.bOKDisabled,
              autoFocus: "primary" == e.focusButton,
            },
            e.strOKText || We("#Button_Confirm"),
            " ",
          ),
          s.createElement(
            Ac,
            {
              onClick: e.onCancel,
              disabled: e.bCancelDisabled,
              autoFocus: "secondary" == e.focusButton,
            },
            e.strCancelText || We("#Button_Cancel"),
          ),
        );
      }
      function Fc(e) {
        const t = e.bOKDisabled ? Ac : Dc,
          r = e.bOKDisabled ? Dc : Ac;
        return s.createElement(
          Bc,
          null,
          s.createElement(
            t,
            { onClick: e.onOK, disabled: e.bOKDisabled },
            e.strOKText || We("#Button_Confirm"),
            " ",
          ),
          s.createElement(
            r,
            { onClick: e.onUpdate, disabled: e.bUpdateDisabled },
            e.strUpdateText || We("#Button_Update"),
            " ",
          ),
          s.createElement(
            Ac,
            { onClick: e.onCancel, disabled: e.bCancelDisabled },
            e.strCancelText || We("#Button_Cancel"),
          ),
        );
      }
      class Lc extends s.Component {
        constructor(e) {
          super(e), (this.state = { checked: e.checked, disabled: e.disabled });
        }
        componentDidUpdate(e) {
          this.props.controlled ||
            (e.checked != this.props.checked &&
              this.props.checked != this.state.checked &&
              this.setState({ checked: this.props.checked })),
            e.disabled != this.props.disabled &&
              this.props.disabled != this.state.disabled &&
              this.setState({ disabled: this.props.disabled });
        }
        shouldComponentUpdate(e, t) {
          return (
            e.label != this.props.label ||
            e.description != this.props.description ||
            e.onChange != this.props.onChange ||
            e.controlled != this.props.controlled ||
            e.disabled != this.props.disabled ||
            t.disabled != this.state.disabled ||
            e.checked != this.checked ||
            t.checked != this.state.checked
          );
        }
        get checked() {
          return this.props.controlled
            ? this.props.checked
            : this.state.checked;
        }
        GetPanelElementProps() {
          const e = this.props,
            {
              onChange: t,
              checked: r,
              label: n,
              description: a,
              tabIndex: s,
              disabled: o,
              className: l,
              tooltip: c,
              color: u,
              highlightColor: d,
              bottomSeparator: m,
              controlled: _,
            } = e,
            h = (0, i._T)(e, [
              "onChange",
              "checked",
              "label",
              "description",
              "tabIndex",
              "disabled",
              "className",
              "tooltip",
              "color",
              "highlightColor",
              "bottomSeparator",
              "controlled",
            ]);
          return Object.assign(Object.assign({}, h), {
            tabIndex: s || 0,
            onActivate: this.Toggle,
            onKeyDown: this.KeyDown,
          });
        }
        Toggle() {
          if (this.props.disabled) return;
          let e = !this.checked;
          this.props.controlled || this.setState({ checked: e }),
            this.props.onChange && this.props.onChange(e);
        }
        KeyDown(e) {
          32 == e.keyCode &&
            (this.Toggle(), e.preventDefault(), e.stopPropagation());
        }
        SetChecked(e, t) {
          this.setState({ checked: e }),
            t && this.props.onChange && this.props.onChange(e);
        }
      }
      (0, i.gn)([ye], Lc.prototype, "Toggle", null),
        (0, i.gn)([ye], Lc.prototype, "KeyDown", null),
        (0, i.gn)([ye], Lc.prototype, "SetChecked", null);
      class kc extends Lc {
        render() {
          let e = "DialogCheckbox" + (this.checked ? " Active" : "");
          return (
            1 == this.state.disabled && (e += " Disabled"),
            this.props.label
              ? s.createElement(
                  Ol,
                  Object.assign(
                    {
                      className:
                        "DialogCheckbox_Container _DialogLayout " +
                        (this.props.className ? this.props.className : ""),
                    },
                    this.GetPanelElementProps(),
                  ),
                  s.createElement(
                    "div",
                    { className: e },
                    s.createElement(nc, {
                      color: this.props.color,
                      highlightColor: this.props.highlightColor,
                    }),
                  ),
                  s.createElement(
                    "div",
                    { className: "DialogToggle_Label" },
                    "string" == typeof this.props.label &&
                      s.createElement("span", null, this.props.label),
                    "string" != typeof this.props.label && this.props.label,
                    this.props.tooltip &&
                      s.createElement(
                        "span",
                        { "data-tooltip-text": this.props.tooltip },
                        " (?)",
                      ),
                  ),
                  s.createElement("div", { style: { clear: "left" } }),
                  this.props.description &&
                    s.createElement(
                      "div",
                      { className: "DialogToggle_Description" },
                      this.props.description,
                    ),
                )
              : s.createElement(
                  Ol,
                  Object.assign({ className: e }, this.GetPanelElementProps()),
                  s.createElement(nc, null),
                )
          );
        }
      }
      class Nc extends Lc {
        render() {
          return s.createElement(
            dc,
            Object.assign({ fallback: kc }, this.props),
          );
        }
      }
      Nc.contextType = cc;
      s.forwardRef(function (e, t) {
        const r = uc();
        return s.createElement(
          dc,
          Object.assign(
            { component: r.ToggleField, fallback: Pc, componentRef: t },
            e,
          ),
        );
      });
      class Pc extends Lc {
        OnOffKeyDown(e) {
          (37 == e.keyCode && this.checked) ||
          (39 == e.keyCode && !this.checked)
            ? (this.Toggle(), e.preventDefault(), e.stopPropagation())
            : this.KeyDown(e);
        }
        OnNewUIToggle(e) {
          e !== this.checked && this.Toggle();
        }
        render() {
          let e =
            "DialogToggleField _DialogInputContainer _DialogLayout " +
            (this.props.className ? this.props.className : "");
          return (
            this.props.disabled && (e += " Disabled"),
            s.createElement(
              "div",
              {
                className: e,
                tabIndex: this.props.tabIndex || 0,
                onKeyDown: this.OnOffKeyDown,
              },
              s.createElement(
                "div",
                { className: "displayColumn alignSelfCenter" },
                s.createElement(
                  "div",
                  { className: "DialogToggle_Label" },
                  s.createElement("span", null, this.props.label),
                  this.props.tooltip &&
                    s.createElement(
                      "span",
                      { "data-tooltip-text": this.props.tooltip },
                      " (?)",
                    ),
                ),
                this.props.description &&
                  s.createElement(
                    "div",
                    { className: "DialogToggle_Description" },
                    this.props.description,
                  ),
                this.props.children,
              ),
              this.props.useToggleRail
                ? s.createElement(
                    "div",
                    { className: "DialogToggleField_NewUIContainer" },
                    s.createElement(hc, {
                      onChange: this.OnNewUIToggle,
                      value: this.checked,
                    }),
                  )
                : s.createElement(
                    "div",
                    {
                      className: "DialogToggleField_Control",
                      onClick: this.Toggle,
                    },
                    s.createElement(
                      Ol,
                      {
                        className: "DialogToggleField_OptionPanel",
                        onOKButton: this.Toggle,
                      },
                      s.createElement(
                        "div",
                        {
                          className:
                            "DialogToggleField_Option Off" +
                            (this.checked ? "" : " Active"),
                        },
                        We("#Dialog_Off"),
                      ),
                      s.createElement(
                        "div",
                        {
                          className:
                            "DialogToggleField_Option On" +
                            (this.checked ? " Active" : ""),
                        },
                        We("#Dialog_On"),
                      ),
                    ),
                  ),
            )
          );
        }
      }
      (0, i.gn)([ye], Pc.prototype, "OnOffKeyDown", null),
        (0, i.gn)([ye], Pc.prototype, "OnNewUIToggle", null);
      var Gc = r(2457);
      class xc extends Us {
        constructor(e, t, r) {
          super(Pt(Gc.findDOMNode(e)), r),
            (this.m_props = {}),
            (this.m_component = e),
            (this.m_propTargets = t),
            (this.m_setStateOnComplete = r.setStateOnComplete);
        }
        Start() {
          this.m_props = {};
          for (let e in this.m_propTargets) {
            let t = parseFloat(this.m_component.state[e]) || 0,
              r = this.m_propTargets[e];
            t != r && (this.m_props[e] = { start: t, end: r });
          }
          super.Start();
        }
        Update(e) {
          let t = {};
          for (let r in this.m_props) {
            let n = this.m_props[r],
              i = n.start + (n.end - n.start) * e;
            t[r] = i;
          }
          this.m_component.setState(t);
        }
        FireOnComplete() {
          super.FireOnComplete(),
            this.m_setStateOnComplete &&
              this.m_component.setState(this.m_setStateOnComplete);
        }
      }
      const Uc = s.forwardRef(function (e, t) {
        const r = uc();
        return s.createElement(
          dc,
          Object.assign(
            { component: null == r ? void 0 : r.InputElement, fallback: Dl },
            e,
            { componentRef: t },
          ),
        );
      });
      class zc extends s.PureComponent {
        constructor(e) {
          super(e),
            this.CheckProps(e),
            (this.state = {
              m_CopiedYPos: 0,
              m_bPlayingCopiedAnimation: !1,
              m_bCompletedCopiedAnimation: !1,
              m_bNumberBelowMinRange: !1,
              m_bNumberAboveMaxRange: !1,
              m_bIsNotNumeric: !1,
              m_bIsInvalidURL: !1,
              m_bIsInvalidEmail: !1,
              m_bAboveMaxChars: !1,
            });
        }
        componentDidUpdate(e) {
          this.CheckProps(this.props);
        }
        OnInputRef(e) {
          (this.m_elInput = e),
            this.m_elInput && this.props.focusOnMount && this.m_elInput.focus();
        }
        get element() {
          return this.m_elInput;
        }
        get value() {
          return this.m_elInput && this.m_elInput.value;
        }
        Focus() {
          var e;
          null === (e = this.m_elInput) || void 0 === e || e.focus();
        }
        static validateUrl(e) {
          return (
            /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/i.test(
              e,
            ) || /^steam:\/\/[-a-zA-Z0-9@:%._\+~#=]{2,256}/i.test(e)
          );
        }
        static validateEmail(e) {
          return /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(
            e.toLowerCase(),
          );
        }
        Validate() {
          this.setState({
            m_bNumberBelowMinRange:
              null !== this.props.rangeMin &&
              void 0 !== this.props.rangeMin &&
              Number(this.m_elInput.value) < this.props.rangeMin,
            m_bNumberAboveMaxRange:
              null !== this.props.rangeMax &&
              void 0 !== this.props.rangeMax &&
              Number(this.m_elInput.value) > this.props.rangeMax,
            m_bIsNotNumeric:
              1 == this.props.mustBeNumeric &&
              isNaN(Number(this.m_elInput.value)),
            m_bIsInvalidURL:
              1 == this.props.mustBeURL &&
              !zc.validateUrl(this.m_elInput.value),
            m_bIsInvalidEmail:
              1 == this.props.mustBeEmail &&
              !zc.validateEmail(this.m_elInput.value),
            m_bAboveMaxChars:
              null !== this.props.maxChars &&
              this.m_elInput.value.length > this.props.maxChars,
          });
        }
        OnChanged(e) {
          this.props.onChange && this.props.onChange(e), this.Validate();
        }
        OnCopyClick(e) {
          if (!this.m_elInput) return;
          this.m_elInput.select();
          let t = this.m_elInput.ownerDocument;
          if (t.queryCommandEnabled("copy")) {
            t.execCommand("copy"),
              e.currentTarget.focus(),
              this.m_CopiedAnimation && this.m_CopiedAnimation.Cancel();
            let r = -4,
              n = -24;
            this.setState({ m_bCompletedCopiedAnimation: !1 }),
              this.setState({ m_CopiedYPos: r }, () => {
                (this.m_CopiedAnimation = new xc(
                  this,
                  { m_CopiedYPos: n },
                  {
                    msDuration: 300,
                    timing: "sine",
                    setStateOnComplete: { m_bCompletedCopiedAnimation: !0 },
                  },
                )),
                  this.m_CopiedAnimation.Start();
              });
          }
        }
        OnClearClick(e) {
          if (this.m_elInput && this.m_elInput.value) {
            Object.getOwnPropertyDescriptor(
              window.HTMLInputElement.prototype,
              "value",
            ).set.call(this.m_elInput, ""),
              this.m_elInput.dispatchEvent(new Event("input", { bubbles: !0 }));
          }
        }
        CheckProps(e) {
          c(
            !(e.bShowClearAction || e.bAlwaysShowClearAction) || e.onChange,
            "In order for bShowClearAction to work correctly, you should be handling onChange and passing value to the Dialog.Input.",
          );
        }
        render() {
          const e = this.props,
            {
              label: t,
              description: r,
              requiredLabel: n,
              bShowCopyAction: a,
              bShowClearAction: o,
              bAlwaysShowClearAction: l,
              rangeMin: c,
              rangeMax: u,
              mustBeNumeric: d,
              mustBeURL: m,
              mustBeEmail: _,
              focusOnMount: h,
              tooltip: p,
              inlineControls: g,
              maxChars: b,
            } = e,
            f = (0, i._T)(e, [
              "label",
              "description",
              "requiredLabel",
              "bShowCopyAction",
              "bShowClearAction",
              "bAlwaysShowClearAction",
              "rangeMin",
              "rangeMax",
              "mustBeNumeric",
              "mustBeURL",
              "mustBeEmail",
              "focusOnMount",
              "tooltip",
              "inlineControls",
              "maxChars",
            ]);
          let v =
              "DialogInput DialogInputPlaceholder DialogTextInputBase" +
              (f.className ? " " + f.className : ""),
            y = "copiedAnimation",
            S = this.state.m_bCompletedCopiedAnimation;
          this.m_CopiedAnimation && (y = "copiedAnimation animationPlaying"),
            S && (y = "copiedAnimation animationComplete");
          let w = {};
          void 0 !== this.state.m_CopiedYPos &&
            (w.transform = "translateY(" + this.state.m_CopiedYPos + "px)");
          let C = s.createElement(
            s.Fragment,
            null,
            s.createElement(
              Ol,
              {
                className: "DialogInput_Wrapper _DialogLayout",
                "flow-children": "row",
              },
              s.createElement(
                Uc,
                Object.assign({ type: "text" }, f, {
                  className: v,
                  ref: this.OnInputRef,
                  onChange: this.OnChanged,
                }),
              ),
              a &&
                s.createElement(
                  "div",
                  { className: "displayRow" },
                  s.createElement(
                    Ac,
                    {
                      className: "DialogInput_CopyAction Primary",
                      onClick: this.OnCopyClick,
                    },
                    We("#Button_Copy"),
                  ),
                  s.createElement(
                    "div",
                    { style: w, className: y },
                    We("#Button_Copied"),
                  ),
                ),
              (l || (o && f.value)) &&
                s.createElement(
                  "div",
                  {
                    className: "DialogInput_ClearAction",
                    onClick: this.OnClearClick,
                  },
                  s.createElement(tc, null),
                ),
              g,
            ),
            r &&
              s.createElement("div", { className: "DialogLabelExplainer" }, r),
          );
          return t
            ? s.createElement(
                "div",
                {
                  className:
                    "DialogInputLabelGroup _DialogLayout DialogRequirementLabel",
                },
                s.createElement(
                  "label",
                  null,
                  s.createElement(
                    "div",
                    { className: "DialogLabel" },
                    t,
                    " ",
                    this.props.tooltip &&
                      s.createElement(
                        "span",
                        { "data-tooltip-text": this.props.tooltip },
                        " (?)",
                      ),
                    s.createElement(
                      "span",
                      { className: "DialogInputRequirementLabel" },
                      this.props.requiredLabel,
                    ),
                    " ",
                  ),
                  C,
                  this.state.m_bNumberBelowMinRange
                    ? s.createElement(
                        "div",
                        null,
                        " ",
                        We("#Input_Error_NumberTooSmall"),
                        " ",
                      )
                    : null,
                  this.state.m_bNumberAboveMaxRange
                    ? s.createElement(
                        "div",
                        null,
                        " ",
                        We("#Input_Error_NumberTooLarge"),
                        " ",
                      )
                    : null,
                  this.state.m_bIsInvalidURL
                    ? s.createElement(
                        "div",
                        null,
                        " ",
                        We("#Input_Error_MustBeURL"),
                        " ",
                      )
                    : null,
                  this.state.m_bIsInvalidEmail
                    ? s.createElement(
                        "div",
                        null,
                        " ",
                        We("#Input_Error_MustBeEmail"),
                        " ",
                      )
                    : null,
                  this.state.m_bIsNotNumeric
                    ? s.createElement(
                        "div",
                        null,
                        " ",
                        We("#Input_Error_MustBeNumber"),
                        " ",
                      )
                    : null,
                  this.state.m_bAboveMaxChars
                    ? s.createElement(
                        "div",
                        null,
                        " ",
                        je("#Input_Error_TooManyCharacters", b),
                        " ",
                      )
                    : null,
                ),
              )
            : C;
        }
      }
      (0, i.gn)([ye], zc.prototype, "OnInputRef", null),
        (0, i.gn)([ye], zc.prototype, "OnChanged", null),
        (0, i.gn)([ye], zc.prototype, "OnCopyClick", null),
        (0, i.gn)([ye], zc.prototype, "OnClearClick", null);
      class Wc extends zc {
        OnBackgroundClick() {
          this.m_elInput && this.m_elInput.focus();
        }
        OnInputFocus(e) {
          this.m_bFocused || ((this.m_bFocused = !0), this.forceUpdate()),
            this.props.onFocus && this.props.onFocus(e);
        }
        OnInputBlur(e) {
          this.m_bFocused && ((this.m_bFocused = !1), this.forceUpdate()),
            this.props.onBlur && this.props.onBlur(e);
        }
        render() {
          const e = this.props,
            {
              label: t,
              description: r,
              requiredLabel: n,
              bShowCopyAction: a,
              bShowClearAction: o,
              bAlwaysShowClearAction: l,
              rangeMin: c,
              rangeMax: u,
              maxChars: d,
              mustBeNumeric: m,
              mustBeURL: _,
              mustBeEmail: h,
              focusOnMount: p,
              tooltip: g,
              inlineControls: b,
              className: f,
              children: v,
            } = e,
            y = (0, i._T)(e, [
              "label",
              "description",
              "requiredLabel",
              "bShowCopyAction",
              "bShowClearAction",
              "bAlwaysShowClearAction",
              "rangeMin",
              "rangeMax",
              "maxChars",
              "mustBeNumeric",
              "mustBeURL",
              "mustBeEmail",
              "focusOnMount",
              "tooltip",
              "inlineControls",
              "className",
              "children",
            ]);
          return s.createElement(
            "div",
            {
              className:
                "DialogInputLabelGroup _DialogLayout DialogListBuilderInput",
            },
            s.createElement(
              "label",
              null,
              t && s.createElement("div", { className: "DialogLabel" }, t),
              s.createElement(
                "div",
                {
                  className: xr(
                    "_DialogInputContainer",
                    "DialogTextInputBase",
                    this.m_bFocused && "Active",
                  ),
                  onClick: this.OnBackgroundClick,
                },
                s.createElement(
                  Ol,
                  {
                    className: "DialogListBuilderInput_List",
                    "flow-children": "row",
                  },
                  s.Children.map(v, (e, t) =>
                    s.createElement(
                      "div",
                      { className: "DialogListBuilderInput_ListItem", key: t },
                      e,
                    ),
                  ),
                  s.createElement(
                    Dl,
                    Object.assign({ type: "text" }, y, {
                      className:
                        "DialogListBuilderInput_Input DialogInputPlaceholder",
                      ref: this.OnInputRef,
                      onFocus: this.OnInputFocus,
                      onBlur: this.OnInputBlur,
                      size: 4,
                    }),
                  ),
                ),
              ),
              r &&
                s.createElement(
                  "div",
                  { className: "DialogLabelExplainer" },
                  r,
                ),
            ),
          );
        }
      }
      (0, i.gn)([ye], Wc.prototype, "OnBackgroundClick", null),
        (0, i.gn)([ye], Wc.prototype, "OnInputFocus", null),
        (0, i.gn)([ye], Wc.prototype, "OnInputBlur", null);
      const jc = (e, t) =>
        "" +
        (null != e ? Number.parseFloat(e.toFixed(3)) : null) +
        (null != t ? t : "");
      class Vc extends s.Component {
        constructor(e) {
          super(e), (this.m_flLastSetValue = null);
        }
        ClampValue(e) {
          return void 0 === e || isNaN(e) || e < this.props.min
            ? this.props.min
            : e > this.props.max
              ? this.props.max
              : e;
        }
        BPropsValid() {
          return this.props.max > this.props.min;
        }
        OnMouseDown(e) {
          (this.m_elSlider = e.currentTarget),
            (this.m_rectSlider = this.m_elSlider.getBoundingClientRect()),
            this.props.onChangeStart && this.props.onChangeStart(1),
            this.AdjustSliderForClientX(e.clientX, 1),
            this.m_elSlider.ownerDocument.defaultView.addEventListener(
              "mousemove",
              this.OnMouseMove,
            ),
            this.m_elSlider.ownerDocument.defaultView.addEventListener(
              "mouseup",
              this.OnMouseUp,
            );
        }
        OnMouseMove(e) {
          this.AdjustSliderForClientX(e.clientX, 1);
        }
        OnMouseUp(e) {
          this.m_elSlider.ownerDocument.defaultView.removeEventListener(
            "mousemove",
            this.OnMouseMove,
          ),
            this.m_elSlider.ownerDocument.defaultView.removeEventListener(
              "mouseup",
              this.OnMouseUp,
            ),
            this.CompleteChange(1);
        }
        OnTouchStart(e) {
          (this.m_elSlider = e.currentTarget),
            (this.m_rectSlider = this.m_elSlider.getBoundingClientRect()),
            this.props.onChangeStart && this.props.onChangeStart(0),
            this.AdjustSliderForClientX(e.touches[0].clientX, 0),
            this.m_elSlider.ownerDocument.defaultView.addEventListener(
              "touchmove",
              this.OnTouchMove,
            ),
            this.m_elSlider.ownerDocument.defaultView.addEventListener(
              "touchend",
              this.OnTouchEnd,
            );
        }
        OnTouchMove(e) {
          this.AdjustSliderForClientX(e.touches[0].clientX, 0);
        }
        OnTouchEnd(e) {
          this.m_elSlider.ownerDocument.defaultView.removeEventListener(
            "touchmove",
            this.OnTouchMove,
          ),
            this.m_elSlider.ownerDocument.defaultView.removeEventListener(
              "touchend",
              this.OnTouchEnd,
            ),
            this.CompleteChange(0);
        }
        OnKeyDown(e) {
          let t = 1;
          e.ctrlKey &&
            (t = Math.max(
              1,
              Math.floor(0.1 * (this.props.max - this.props.min) + 0.5),
            )),
            37 == e.keyCode
              ? (this.IncrementValue(-1 * t), e.preventDefault())
              : 39 == e.keyCode &&
                (this.IncrementValue(1 * t), e.preventDefault()),
            this.CompleteChange(2);
        }
        AdjustSliderForClientX(e, t) {
          let r =
            ((e - this.m_rectSlider.left) /
              (this.m_rectSlider.right - this.m_rectSlider.left)) *
              (this.props.max - this.props.min) +
            this.props.min;
          r = Math.floor(r + 0.5);
          const n = this.ClampValue(r);
          n != this.props.value &&
            (this.props.onChange && this.props.onChange(n, t),
            (this.m_flLastSetValue = n));
        }
        CompleteChange(e) {
          null != this.m_flLastSetValue &&
            (this.props.onChangeComplete &&
              this.props.onChangeComplete(this.m_flLastSetValue, e),
            (this.m_flLastSetValue = null));
        }
        IncrementValue(e) {
          let t = this.ClampValue(this.props.value + e);
          t != this.props.value &&
            (this.props.onChange && this.props.onChange(t, 2),
            (this.m_flLastSetValue = t));
        }
        render() {
          var e;
          let t = {},
            r = {};
          if (this.BPropsValid()) {
            let e =
              (100 * (this.props.value - this.props.min)) /
                (this.props.max - this.props.min) +
              "%";
            (t.width = e), (r.left = e);
          }
          const n = this.props,
            { label: a, description: o, tooltip: l } = n,
            c =
              ((0, i._T)(n, ["label", "description", "tooltip"]),
              null !== (e = this.props.renderValue) && void 0 !== e ? e : jc);
          return s.createElement(
            "div",
            {
              className:
                "DialogSlider_Container _DialogInputContainer _DialogLayout" +
                (this.props.className ? " " + this.props.className : ""),
              onKeyDown: this.OnKeyDown,
              tabIndex: this.props.tabIndex || 0,
            },
            a &&
              s.createElement(
                "div",
                { className: "DialogLabel" },
                a,
                Boolean(l) &&
                  s.createElement("span", { "data-tooltip-text": l }, " (?)"),
              ),
            s.createElement(
              "div",
              {
                className: "DialogSlider_Slider",
                onMouseDown: this.OnMouseDown,
                onTouchStart: this.OnTouchStart,
              },
              s.createElement("div", {
                className: "DialogSlider_Value",
                style: t,
              }),
              s.createElement("div", {
                className: "DialogSlider_Grabber",
                style: r,
              }),
            ),
            this.props.showValue &&
              s.createElement(
                "div",
                { className: "DialogLabelExplainer" },
                c(this.props.value, this.props.valueSuffix),
              ),
            o &&
              s.createElement("div", { className: "DialogLabelExplainer" }, o),
          );
        }
      }
      (0, i.gn)([ye], Vc.prototype, "OnMouseDown", null),
        (0, i.gn)([ye], Vc.prototype, "OnMouseMove", null),
        (0, i.gn)([ye], Vc.prototype, "OnMouseUp", null),
        (0, i.gn)([ye], Vc.prototype, "OnTouchStart", null),
        (0, i.gn)([ye], Vc.prototype, "OnTouchMove", null),
        (0, i.gn)([ye], Vc.prototype, "OnTouchEnd", null),
        (0, i.gn)([ye], Vc.prototype, "OnKeyDown", null);
      r(1039);
      s.createContext({ setValue: () => {} });
      var Hc = r(333),
        qc = r.n(Hc),
        Kc = r(6194),
        $c = r.n(Kc);
      let Yc = class extends s.Component {
        constructor() {
          super(...arguments),
            (this.m_listeners = new Ie()),
            (this.m_bNoSpace = !1),
            (this.state = { x: void 0, y: void 0, hoverPositionReady: !1 });
        }
        bindHover(e) {
          (this.m_elHover = e || void 0), this.positionHover();
        }
        componentDidMount() {
          this.m_listeners.AddEventListener(window, "blur", this.OnWindowBlur);
        }
        componentDidUpdate() {
          this.positionHover();
        }
        componentWillUnmount() {
          this.m_listeners.Unregister();
        }
        OnWindowBlur(e) {
          this.props.onWindowBlur && this.props.onWindowBlur(e);
        }
        render() {
          const e = this.props,
            {
              target: t,
              visibilityObserver: r,
              className: n,
              style: a,
              bEnablePointerEvents: o,
              direction: l,
              nBodyAlignment: c,
              nBodyDistance: u,
              nAllowOffscreenPx: d,
              nMaxLateralMoveOnScreen: m,
              children: _,
              onNoSpace: h,
              onWindowBlur: p,
              bTopmost: g,
            } = e,
            b = (0, i._T)(e, [
              "target",
              "visibilityObserver",
              "className",
              "style",
              "bEnablePointerEvents",
              "direction",
              "nBodyAlignment",
              "nBodyDistance",
              "nAllowOffscreenPx",
              "nMaxLateralMoveOnScreen",
              "children",
              "onNoSpace",
              "onWindowBlur",
              "bTopmost",
            ]);
          let f = Object.assign({ left: this.state.x, top: this.state.y }, a),
            v = !r || r.visible;
          return s.createElement(
            "div",
            {
              className: xr($c().HoverPositionOuter, g && $c().HoverAboveModal),
            },
            s.createElement(
              "div",
              Object.assign({}, b, {
                className: xr(
                  $c().HoverPosition,
                  v && this.state.hoverPositionReady && $c().Ready,
                  this.m_bNoSpace && $c().NoSpace,
                  o && $c().EnablePointerEvents,
                  n,
                ),
                style: f,
                ref: this.bindHover,
              }),
              _,
            ),
          );
        }
        positionHover() {
          let e = this.m_elHover,
            t = this.props.target;
          if (!e || !t) return;
          if (
            this.state.hoverPositionReady &&
            this.props.visibilityObserver &&
            !this.props.visibilityObserver.visible
          )
            return;
          let r = t.ownerDocument.defaultView;
          if (!r || r.closed) return;
          const n = e.querySelector(".hover_arrow.left"),
            i = e.querySelector(".hover_arrow.right"),
            a = e.querySelector(".hover_arrow.top"),
            s = e.querySelector(".hover_arrow.bottom"),
            o = t.getBoundingClientRect(),
            l = e.getBoundingClientRect(),
            c =
              "overlay" == this.props.direction ||
              "overlay-center" == this.props.direction;
          n && n.setAttribute("style", "display: none;"),
            i && i.setAttribute("style", "display: none;"),
            a && a.setAttribute("style", "display: none;"),
            s && s.setAttribute("style", "display: none;");
          let u = this.props.direction,
            {
              nLeft: d,
              nTop: m,
              nOverflow: _,
              nLateralOverflow: h,
            } = Qc(
              u,
              this.props.nBodyAlignment,
              this.props.nBodyDistance,
              o,
              l,
              r.innerWidth,
              r.innerHeight,
            );
          if (_ > this.props.nAllowOffscreenPx && !c) {
            const t = (function (e) {
                switch (e) {
                  case "right":
                    return "left";
                  case "left":
                    return "right";
                  case "bottom":
                    return "top";
                  case "top":
                    return "bottom";
                  case "overlay":
                    return "overlay";
                  case "overlay-center":
                    return "overlay-center";
                }
              })(this.props.direction),
              {
                nLeft: n,
                nTop: i,
                nOverflow: a,
                nLateralOverflow: s,
              } = Qc(
                t,
                this.props.nBodyAlignment,
                this.props.nBodyDistance,
                o,
                l,
                r.innerWidth,
                r.innerHeight,
              );
            if (
              (a < _ && ((u = t), (d = n), (m = i), (_ = a), (h = s)),
              _ > this.props.nAllowOffscreenPx)
            )
              return (
                console.log(
                  "Not showing hover because it didn't fit in the main or alt direction",
                ),
                e.setAttribute("style", "display: none;"),
                (this.m_bNoSpace = !0),
                void (this.props.onNoSpace && this.props.onNoSpace())
              );
          }
          0 === this.props.nMaxLateralMoveOnScreen ||
            c ||
            ([m, d] = (function (e, t, r, n, i) {
              let a = Math.max(t[0], t[1]);
              void 0 !== e && (a = Math.min(e, a));
              a = Math.max(0, a);
              const s = t[0] > t[1] ? a : -a;
              "left" === r || "right" === r ? (n += s) : (i += s);
              return [n, i];
            })(this.props.nMaxLateralMoveOnScreen, h, u, m, d));
          let p = null;
          switch (u) {
            case "left":
              p = i;
              break;
            case "right":
              p = n;
              break;
            case "top":
              p = s;
              break;
            case "bottom":
              p = a;
          }
          p && p.setAttribute("style", ""),
            d != this.state.x && this.setState({ x: d }),
            m != this.state.y && this.setState({ y: m }),
            this.state.hoverPositionReady ||
              this.setState({ hoverPositionReady: !0 });
        }
      };
      function Qc(e, t, r, n, i, a, s) {
        const o = a,
          l = s;
        let c, u, d, m;
        switch (e) {
          case "right":
            (c = n.right + r),
              (u = Xc(n.top, n.height, i.height, t)),
              (d = Math.max(0, c + i.width - o)),
              (m = [Math.max(0, 0 - u), Math.max(0, u + i.height - l)]);
            break;
          case "left":
            (c = n.left - r - i.width),
              (u = Xc(n.top, n.height, i.height, t)),
              (d = Math.max(0, 0 - c)),
              (m = [Math.max(0, 0 - u), Math.max(0, u + i.height - l)]);
            break;
          case "bottom":
            (c = Xc(n.left, n.width, i.width, t)),
              (u = n.bottom + r),
              (d = Math.max(0, u + i.height - l)),
              (m = [Math.max(0, 0 - c), Math.max(0, c + i.width - o)]);
            break;
          case "top":
            (c = Xc(n.left, n.width, i.width, t)),
              (u = n.top - r - i.height),
              (d = Math.max(0, 0 - u)),
              (m = [Math.max(0, 0 - c), Math.max(0, c + i.width - o)]);
            break;
          case "overlay":
            (c = n.left), (u = n.top), (d = 0), (m = [0, 0]);
            break;
          case "overlay-center":
            (c = n.left + 0.5 * n.width - 0.5 * i.width),
              (u = n.top + 0.5 * n.height - 0.5 * i.height),
              (d = 0),
              (m = [0, 0]);
        }
        return { nLeft: c, nTop: u, nOverflow: d, nLateralOverflow: m };
      }
      function Xc(e, t, r, n) {
        return Math.max(0, Math.min(1, n)) * (t - r) + e;
      }
      (Yc.defaultProps = {
        direction: "right",
        nBodyAlignment: 0.5,
        nAllowOffscreenPx: 10,
        nBodyDistance: 8,
        nMaxLateralMoveOnScreen: void 0,
      }),
        (0, i.gn)([ye], Yc.prototype, "bindHover", null),
        (0, i.gn)([ye], Yc.prototype, "OnWindowBlur", null),
        (Yc = (0, i.gn)([W.Pi], Yc));
      var Zc = r(708),
        Jc = r.n(Zc);
      function eu(e) {
        var t;
        const { divProps: r, tooltipProps: n } = tu(e);
        return s.createElement(
          Rl,
          Object.assign(
            {
              noFocusRing: !0,
              focusable:
                null !== (t = e.bNavStop) && void 0 !== t ? t : !!r.onClick,
            },
            r,
          ),
          s.createElement(nu, Object.assign({}, n)),
          e.children,
        );
      }
      function tu(e) {
        const {
            toolTipContent: t,
            nDelayShowMS: r = 300,
            bDisabled: n,
            direction: a,
            nBodyAlignment: o,
            nBodyDistance: l,
            nAllowOffscreenPx: c,
            nMaxLateralMoveOnScreen: u,
            strTooltipClassname: d,
            bNavStop: m,
            bTopmost: _,
            children: h,
          } = e,
          p = (0, i._T)(e, [
            "toolTipContent",
            "nDelayShowMS",
            "bDisabled",
            "direction",
            "nBodyAlignment",
            "nBodyDistance",
            "nAllowOffscreenPx",
            "nMaxLateralMoveOnScreen",
            "strTooltipClassname",
            "bNavStop",
            "bTopmost",
            "children",
          ]),
          g = {
            direction: a,
            nBodyAlignment: o,
            nBodyDistance: l,
            nAllowOffscreenPx: c,
            nMaxLateralMoveOnScreen: u,
            className: d,
            bTopmost: _,
          },
          [b, f] = s.useState(!1),
          [v, y] = s.useState(),
          S = s.useCallback((e) => {
            f(!0), y(e.currentTarget);
          }, []),
          w = s.useCallback(() => {
            f(!1);
          }, []),
          C = {
            active: b && !n,
            target: v,
            nDelayShowMS: r,
            hoverPositionProps: g,
            children: t,
          };
        return {
          divProps: Object.assign(Object.assign({}, p), {
            onMouseEnter: S,
            onMouseLeave: w,
          }),
          tooltipProps: C,
        };
      }
      function ru(e) {
        return s.createElement(
          "div",
          Object.assign({}, e, {
            className: xr(Jc().TextToolTip, e.className),
          }),
        );
      }
      function nu(e) {
        const {
            active: t,
            target: r,
            nDelayShowMS: n = 300,
            hoverPositionProps: i,
            children: a,
          } = e,
          [o, l] = s.useState(t);
        if (
          (s.useLayoutEffect(() => {
            if (t) {
              if (n) {
                const e = window.setTimeout(() => l(!0), n);
                return () => window.clearTimeout(e);
              }
              l(!0);
            } else l(!1);
          }, [t]),
          !o)
        )
          return null;
        let c = a;
        return (
          "function" == typeof a
            ? (c = a())
            : "string" == typeof a && (c = s.createElement(ru, null, We(a))),
          c
            ? Gc.createPortal(
                s.createElement(Yc, Object.assign({ target: r }, i), c),
                r.ownerDocument.body,
              )
            : null
        );
      }
      function iu(e) {
        return "object" == typeof e && "data" in e;
      }
      function au(e) {
        return "object" == typeof e && "options" in e;
      }
      function su(e, t) {
        if (e === t) return !0;
        if (!Array.isArray(e) || !Array.isArray(t)) return !1;
        if (e.length != t.length) return !1;
        for (let r = 0; r < e.length; r++) if (!ou(e[r], t[r])) return !1;
        return !0;
      }
      function ou(e, t) {
        return null == e || null == t
          ? e == t
          : e.label === t.label &&
              e.tooltip === t.tooltip &&
                au(e) == au(t) &&
                  !(au(e) && au(t) && !su(e.options, t.options)) &&
              (!iu(e) || !iu(t) || e.data === t.data);
      }
      function lu(e, t) {
        if (null != e)
          for (let r = 0; r < e.length; r++) {
            const n = e[r];
            if (iu(n) && n.data === t) return n;
            if (au(n)) {
              const e = lu(n.options, t);
              if (null != e) return e;
            }
          }
      }
      function cu(e) {
        const t = uc();
        return s.createElement(
          dc,
          Object.assign({ component: t.DropDownField, fallback: uu }, e),
        );
      }
      function uu(e) {
        const {
            label: t,
            tooltip: r,
            strClassName: n,
            dropDownControlRef: a,
          } = e,
          o = (0, i._T)(e, [
            "label",
            "tooltip",
            "strClassName",
            "dropDownControlRef",
          ]);
        return s.createElement(
          "div",
          { className: xr("DialogInputLabelGroup", "_DialogLayout", n) },
          t &&
            s.createElement(
              "div",
              { className: "DialogLabel" },
              t,
              r && s.createElement("span", { "data-tooltip-text": r }, " (?)"),
            ),
          s.createElement(_u, Object.assign({ menuLabel: t }, o, { ref: a })),
        );
      }
      const du = s.forwardRef(function (e, t) {
          const r = uc();
          return s.createElement(
            dc,
            Object.assign(
              {
                component: r.DropDownControlButton,
                fallback: mu,
                componentRef: t,
              },
              e,
            ),
          );
        }),
        mu = s.forwardRef(function (e, t) {
          return s.createElement(
            Ol,
            {
              focusable: e.focusable,
              noFocusRing: !0,
              className: xr(
                e.className,
                "DialogDropDown",
                "_DialogInputContainer",
                { Active: e.opened, Disabled: e.disabled },
              ),
              tabIndex: e.tabIndex,
              onClick: e.onClick,
              ref: t,
            },
            e.children,
            !e.disabled &&
              s.createElement(
                "div",
                { className: xr(e.arrowClassName, "DialogDropDown_Arrow") },
                s.createElement(Jl, null),
              ),
          );
        });
      class _u extends s.Component {
        constructor(e) {
          super(e),
            (this.state = {
              value: lu(e.rgOptions, e.selectedOption),
              bOpened: !1,
            });
        }
        SetSelectedOption(e) {
          const t = lu(this.props.rgOptions, e);
          ou(t, this.state.value) || this.setState({ value: t });
        }
        get value() {
          return this.state.value;
        }
        shouldComponentUpdate(e, t, r) {
          if (e.selectedOption !== this.props.selectedOption) return !0;
          if (e.disabled != this.props.disabled) return !0;
          if (t.bOpened !== this.state.bOpened) return !0;
          if (!su(this.props.rgOptions, e.rgOptions)) return !0;
          if (!ou(t.value, this.state.value)) return !0;
          let n = ["selectedOption", "tabIndex", "onChange", "strDefaultLabel"];
          for (let t of n) if (e[t] !== this.props[t]) return !0;
          return !1;
        }
        componentDidUpdate(e, t) {
          const r = !su(e.rgOptions, this.props.rgOptions),
            n = e.selectedOption !== this.props.selectedOption,
            i = this.state.value !== t.value;
          (r || i || n) &&
            (n || null == this.state.value
              ? this.SetSelectedOption(this.props.selectedOption)
              : this.SetSelectedOption(this.state.value.data)),
            (r || i) &&
              (this.state.bOpened
                ? (this.m_iMenuInstance.SetOnHideCallback(null),
                  this.m_iMenuInstance.Hide(),
                  (this.m_iMenuInstance = void 0),
                  this.BuildMenu())
                : this.m_iMenuInstance &&
                  (this.m_iMenuInstance.SetOnHideCallback(null),
                  (this.m_iMenuInstance = void 0)));
        }
        OnInputRef(e) {
          this.m_elInput = e;
        }
        get element() {
          return this.m_elInput;
        }
        ToggleMenu() {
          if (this.state.bOpened) this.HideMenu();
          else {
            if (
              this.props.onMenuWillOpen &&
              0 == this.props.onMenuWillOpen(this.ShowMenu)
            )
              return;
            this.ShowMenu();
          }
        }
        OnValueSelected(e, t) {
          this.HideMenu(),
            this.setState({ value: t }),
            this.props.onChange && this.props.onChange(t, this, e);
        }
        BuildMenu() {
          var e, t, r;
          let n = "DialogMenuPosition";
          this.props.strDropDownClassName &&
            (n += " " + this.props.strDropDownClassName);
          let i = Object.assign(
              {
                bOverlapHorizontal: !0,
                bMatchWidth: !0,
                bFitToWindow: !0,
                strClassName: n,
                bDisableMouseOverlay: this.props.bDisableMouseOverlay,
              },
              this.props.contextMenuPositionOptions,
            ),
            a =
              null === (e = this.props.contextMenuPositionOptions) ||
              void 0 === e
                ? void 0
                : e.onCancel;
          (this.m_iMenuInstance = p_(
            s.createElement(pu, {
              rgOptions: this.props.rgOptions,
              onValueSelected: this.OnValueSelected,
              onCancel: a,
              selectedValue:
                null === (t = this.value) || void 0 === t ? void 0 : t.data,
              strDropDownMenuCtnClass: this.props.strDropDownMenuCtnClass,
              strDropDownItemClassName: this.props.strDropDownItemClassName,
            }),
            this.m_elInput,
            i,
          )),
            this.m_iMenuInstance.SetLabel(
              null !== (r = this.props.menuLabel) && void 0 !== r
                ? r
                : "string" == typeof this.props.strDefaultLabel &&
                    this.props.strDefaultLabel,
            ),
            this.m_iMenuInstance.SetOnHideCallback(this.HideMenu);
        }
        ShowMenu() {
          this.m_iMenuInstance ? this.m_iMenuInstance.Show() : this.BuildMenu(),
            this.props.onMenuOpened && this.props.onMenuOpened(),
            this.setState({ bOpened: !0 });
        }
        HideMenu() {
          this.m_iMenuInstance && this.m_iMenuInstance.Hide(),
            this.props.onMenuClose && this.props.onMenuClose(),
            this.setState({ bOpened: !1 });
        }
        render() {
          var e, t, r, n, i;
          const a = s.createElement(
              "div",
              { className: "DialogDropDown_CurrentDisplay" },
              null !==
                (t =
                  null === (e = this.state.value) || void 0 === e
                    ? void 0
                    : e.label) && void 0 !== t
                ? t
                : this.props.strDefaultLabel,
            ),
            o =
              null != this.props.renderButtonValue
                ? this.props.renderButtonValue(a)
                : a,
            l = null === (r = this.props.focusable) || void 0 === r || r;
          return s.createElement(
            dc,
            {
              component: this.props.renderButton,
              fallback: du,
              focusable: l,
              disabled: null !== (n = this.props.disabled) && void 0 !== n && n,
              opened: this.state.bOpened,
              onClick: this.props.disabled ? void 0 : this.ToggleMenu,
              tabIndex:
                null !== (i = this.props.tabIndex) && void 0 !== i
                  ? i
                  : l
                    ? 0
                    : null,
              componentRef: this.OnInputRef,
              className: this.props.strDropDownButtonClassName,
              arrowClassName: this.props.arrowClassName,
            },
            o,
          );
        }
      }
      (_u.contextType = cc),
        (0, i.gn)([ye], _u.prototype, "OnInputRef", null),
        (0, i.gn)([ye], _u.prototype, "ToggleMenu", null),
        (0, i.gn)([ye], _u.prototype, "OnValueSelected", null),
        (0, i.gn)([ye], _u.prototype, "ShowMenu", null),
        (0, i.gn)([ye], _u.prototype, "HideMenu", null);
      const hu = s.createContext(null);
      function pu(e) {
        const t = uc();
        return s.createElement(
          hu.Provider,
          { value: {} },
          s.createElement(
            dc,
            Object.assign({ component: t.DropDownMenu, fallback: gu }, e),
          ),
        );
      }
      function gu(e) {
        var t;
        const r = [e.rgOptions],
          n = [];
        for (; r.length > 0; )
          null === (t = r.shift()) ||
            void 0 === t ||
            t.forEach((t, i) => {
              iu(t)
                ? n.push(
                    s.createElement(
                      "div",
                      {
                        key: i,
                        className: xr(
                          qc().DialogDropDownMenu_Item,
                          e.strDropDownItemClassName,
                          t.strOptionClass,
                        ),
                        "data-dropdown-index": i,
                        onClick: (r) =>
                          e.onValueSelected && e.onValueSelected(r, t),
                      },
                      Boolean(t.tooltip)
                        ? s.createElement(
                            eu,
                            {
                              toolTipContent: t.tooltip,
                              bTopmost: !0,
                              className: "TooltipContainer",
                            },
                            t.label,
                          )
                        : s.createElement("div", null, t.label),
                    ),
                  )
                : au(t) && r.push(t.options);
            });
        return s.createElement(
          "div",
          {
            className: xr(
              qc().DialogDropDownMenu,
              "_DialogInputContainer",
              e.strDropDownMenuCtnClass,
            ),
          },
          n,
        );
      }
      class bu extends s.Component {
        constructor() {
          super(...arguments), (this.state = { rgOptions: void 0 });
        }
        OnMenuOpened() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!this.state.rgOptions) {
              let e = yield this.props.fnLoadOptions();
              this.setState({ rgOptions: e });
            }
          });
        }
        render() {
          const e = this.props,
            { fnLoadOptions: t, strInitialDisplay: r, initialValue: n } = e,
            a = (0, i._T)(e, [
              "fnLoadOptions",
              "strInitialDisplay",
              "initialValue",
            ]);
          let { rgOptions: o } = this.state;
          return (
            void 0 === o &&
              (r || n
                ? ((o = [{ label: r, data: n }]), (a.selectedOption = n))
                : (o = [])),
            s.createElement(
              cu,
              Object.assign({}, a, {
                rgOptions: o,
                onMenuOpened: this.OnMenuOpened,
              }),
            )
          );
        }
      }
      (0, i.gn)([ye], bu.prototype, "OnMenuOpened", null);
      r(3554);
      class fu {
        constructor(e) {
          this.instance = new vu(e, !1);
        }
      }
      class vu {
        constructor(e, t = !0) {
          (this.m_parent = e),
            (this.m_window = e.ownerDocument.defaultView),
            (this.m_bRemoveOnHide = t);
        }
        Show(e, t) {
          return (
            this.CancelShowInterval(),
            t
              ? new Promise((r, n) => {
                  this.iIntervalShow = this.m_window.setTimeout(() => {
                    let t = this.m_parent.ownerDocument;
                    t.defaultView &&
                      !t.defaultView.closed &&
                      (this.InternalShow(e), r());
                  }, t);
                })
              : (this.InternalShow(e), Promise.resolve())
          );
        }
        InternalShow(e) {
          this.m_container ||
            ((this.m_container =
              this.m_parent.ownerDocument.createElement("div")),
            this.m_parent.appendChild(this.m_container)),
            this.m_reactRoot || (this.m_reactRoot = a.s(this.m_container)),
            this.m_reactRoot.render(e);
        }
        Hide(e) {
          this.CancelShowInterval(),
            e
              ? (this.iIntervalShow = this.m_window.setTimeout(() => {
                  this.InternalHide();
                }, e))
              : this.InternalHide();
        }
        InternalHide() {
          this.m_reactRoot &&
            (this.m_reactRoot.unmount(), (this.m_reactRoot = void 0)),
            this.m_container &&
              this.m_bRemoveOnHide &&
              (this.m_parent.removeChild(this.m_container),
              (this.m_container = null));
        }
        CancelShowInterval() {
          void 0 !== this.iIntervalShow &&
            (this.m_window.clearInterval(this.iIntervalShow),
            (this.iIntervalShow = void 0));
        }
        BIsChildElement(e) {
          return this.m_container && kt(this.m_container, e);
        }
      }
      class yu {
        constructor(e) {
          (this.m_mapEmbeddedHovers = new WeakMap()), (this.m_strUniqueID = e);
        }
        ShowElementDelayed(e, t, r, n) {
          let i = this.GetEmbeddedElement(e);
          return (i.activeObject = n), i.instance.Show(r, t);
        }
        ShowElement(e, t, r) {
          let n = this.GetEmbeddedElement(e);
          (n.activeObject = r), n.instance.Show(t);
        }
        HideElement(e, t, r) {
          let n = this.GetEmbeddedElement(e);
          n.activeObject == t &&
            ((n.activeObject = void 0), n.instance.Hide(r));
        }
        GetEmbeddedElement(e) {
          let t = this.m_mapEmbeddedHovers.get(e);
          return (
            t || ((t = new fu(e.body)), this.m_mapEmbeddedHovers.set(e, t)), t
          );
        }
      }
      const Su = new ws("DragDrop").Debug;
      class wu extends s.Component {
        constructor() {
          super(...arguments), (this.m_coordinator = new Bu());
        }
        OnDrop(e, t) {
          t > e && t--, t != e && this.props.onReorder(e, t);
        }
        render() {
          let e = [];
          return (
            e.push(
              s.createElement(Mu, {
                coordinator: this.m_coordinator,
                key: "dropregion_top",
                fnBAcceptDraggable: (e) => 0 != e.props.data,
                fnOnDrop: (e) => this.OnDrop(e.props.data, 0),
              }),
            ),
            s.Children.forEach(this.props.children, (t, r) => {
              const n = t.props.id || "__list_" + r,
                i = r + 1;
              e.push(
                s.createElement(
                  Eu,
                  { coordinator: this.m_coordinator, data: r, key: n },
                  t,
                ),
              ),
                e.push(
                  s.createElement(Mu, {
                    coordinator: this.m_coordinator,
                    key: "dropregion_" + n,
                    fnBAcceptDraggable: (e) => e.props.data != i,
                    fnOnDrop: (e) => this.OnDrop(e.props.data, i),
                  }),
                );
            }),
            s.createElement("div", { className: "DialogReorderableList" }, e)
          );
        }
      }
      function Cu(e, t, r, n) {
        return n
          ? r && e > r.left && e < r.right && t > r.top && t < r.bottom
          : r && e >= r.left && e <= r.right && t >= r.top && t <= r.bottom;
      }
      (0, i.gn)([ye], wu.prototype, "OnDrop", null);
      class Bu {
        constructor() {
          (this.m_embeddedElement = new yu("DragGhosts")),
            (this.m_rgDropRegions = []),
            (this.m_rgActiveDropRegions = []),
            (this.m_prevClientX = 0),
            (this.m_prevClientY = 0);
        }
        RegisterDropRegion(e) {
          this.m_rgDropRegions.push(e),
            this.m_activeDraggable &&
              e.BAcceptDraggable(this.m_activeDraggable) &&
              (e.OnDragStarted(this.m_activeDraggable),
              this.m_rgActiveDropRegions.push(e));
        }
        UnregisterDropRegion(e) {
          fe(this.m_rgDropRegions, e),
            fe(this.m_rgActiveDropRegions, e),
            this.m_activeDropRegion == e &&
              ((this.m_activeDropRegion = void 0),
              this.m_activeDraggable && this.ShowDragGhost());
        }
        OnDragGhostRef(e) {
          this.m_dragGhost = e;
        }
        ShowDragGhost() {
          const e = this.m_activeDraggable.renderDragGhost(),
            t = xr(
              e.props.className,
              !!this.m_activeDropRegion && "DraggedOverActiveDrop",
            ),
            r = s.cloneElement(e, { ref: this.OnDragGhostRef, className: t });
          this.m_embeddedElement.ShowElement(
            this.m_activeDraggable.GetDragDocument(),
            r,
            this.m_activeDraggable,
          );
        }
        HideDragGhost() {
          this.m_embeddedElement.HideElement(
            this.m_activeDraggable.GetDragDocument(),
            this.m_activeDraggable,
          );
        }
        MakeDragClone(e) {
          c(
            !this.m_nodeCloneCopy && !this.m_elCloneOriginal,
            "Drag already in progress",
          ),
            (this.m_elCloneOriginal = e.m_divRef.current),
            (this.m_nodeCloneCopy = this.m_elCloneOriginal.cloneNode(!0)),
            e.m_divRef.current.replaceWith(this.m_nodeCloneCopy),
            this.m_elCloneContainer ||
              ((this.m_elCloneContainer = e
                .GetDragDocument()
                .body.ownerDocument.createElement("div")),
              e.GetDragDocument().body.appendChild(this.m_elCloneContainer)),
            this.m_elCloneContainer.appendChild(this.m_elCloneOriginal);
        }
        ReverseDragClone() {
          this.m_nodeCloneCopy.parentNode.replaceChild(
            this.m_elCloneOriginal,
            this.m_nodeCloneCopy,
          ),
            (this.m_nodeCloneCopy = void 0),
            (this.m_elCloneOriginal = void 0);
        }
        OnDragStart(e) {
          (this.m_activeDraggable = e), (this.m_rgActiveDropRegions = []);
          for (let t of this.m_rgDropRegions)
            t.BAcceptDraggable(e) &&
              (t.OnDragStarted(e), this.m_rgActiveDropRegions.push(t));
          this.MakeDragClone(e), this.ShowDragGhost();
        }
        EndDrag() {
          if (this.m_activeDraggable) {
            this.ReverseDragClone(),
              this.HideDragGhost(),
              this.m_activeDropRegion &&
                this.m_activeDropRegion.OnDrop(this.m_activeDraggable);
            for (let e of this.m_rgActiveDropRegions)
              e.OnDragEnded(this.m_activeDraggable);
            (this.m_activeDraggable = void 0),
              (this.m_dropGhost = void 0),
              (this.m_rgActiveDropRegions = []);
          }
        }
        FindBestActiveDropRegionForPoint(e, t) {
          const r = this.m_activeDraggable.GetDragDocument();
          let n;
          if (
            ("elementsFromPoint" in r && (n = r.elementsFromPoint(e, t)), n)
          ) {
            const e = new Map();
            this.m_rgActiveDropRegions.forEach((t) => e.set(t.GetElement(), t));
            for (const t of n) {
              const r = e.get(t);
              if (r) return r;
            }
          } else {
            if (
              this.m_activeDropRegion &&
              this.m_activeDropRegion.BDraggableInRegion(
                e,
                t,
                this.m_activeDraggable,
              )
            )
              return this.m_activeDropRegion;
            for (let r = this.m_rgActiveDropRegions.length - 1; r >= 0; r--) {
              const n = this.m_rgActiveDropRegions[r];
              if (n.BDraggableInRegion(e, t, this.m_activeDraggable)) return n;
            }
          }
          return null;
        }
        OnDrag(e, t, r) {
          const n = this.m_prevClientX || t,
            i = this.m_prevClientY || r,
            a = void 0 === n ? 0 : n - this.m_dragGhost.state.clientX,
            s = void 0 === i ? 0 : i - this.m_dragGhost.state.clientY;
          if (
            (e.props.bEnableHTMLDrag &&
              this.m_dragOffWindowTimer &&
              window.clearTimeout(this.m_dragOffWindowTimer),
            this.m_dragGhost &&
              (this.m_dragGhost.setState({
                clientX: n,
                clientY: i,
                clientXDelta: a,
                clientYDelta: s,
                bVisible: !0,
              }),
              e.props.bEnableHTMLDrag && (a || s)))
          ) {
            const t = n + a,
              r = i + s,
              o = e.GetDragDocument().body.getBoundingClientRect();
            if (Cu(n, i, o) && !Cu(t, r, o, !0)) {
              const n = d(t, o.left, o.right, o.left - 200, o.right + 200),
                i = d(r, o.top, o.bottom, o.top - 100, o.bottom + 100),
                a = 50;
              this.m_dragOffWindowTimer = window.setTimeout(() => {
                e == this.m_activeDraggable && this.OnDrag(e, n, i);
              }, a);
            }
          }
          const o = this.FindBestActiveDropRegionForPoint(n, i);
          (this.m_prevClientX = t),
            (this.m_prevClientY = r),
            !!this.m_activeDropRegion != !!o &&
              (this.ShowDragGhost(),
              this.m_dropGhost ||
                (this.m_dropGhost = this.m_activeDraggable.renderDropGhost())),
            this.m_activeDropRegion &&
              this.m_activeDropRegion != o &&
              this.m_activeDropRegion.OnDragLeave(this.m_activeDraggable),
            o &&
              this.m_activeDropRegion != o &&
              o.OnDragEnter(this.m_activeDraggable, this.m_dropGhost),
            (this.m_activeDropRegion = o),
            this.m_activeDropRegion &&
              this.m_activeDropRegion.OnDragMove(n, i, this.m_activeDraggable);
        }
      }
      (0, i.gn)([ye], Bu.prototype, "OnDragGhostRef", null);
      class Eu extends s.Component {
        constructor(e) {
          super(e),
            (this.m_DragInfo = {
              bStarted: !1,
              startClientX: void 0,
              startClientY: void 0,
              startOffsetX: void 0,
              startOffsetY: void 0,
              startWidth: void 0,
              startHeight: void 0,
              ownerWin: void 0,
            }),
            (this.m_divRef = s.createRef()),
            (0, Je.rC)(this);
        }
        GetDragDocument() {
          return this.m_DragInfo.ownerWin && this.m_DragInfo.ownerWin.document;
        }
        RecordDragStart(e, t, r) {
          (this.m_DragInfo.startClientX = t),
            (this.m_DragInfo.startClientY = r);
          let n = e.getBoundingClientRect();
          (this.m_DragInfo.startOffsetX = t - n.left),
            (this.m_DragInfo.startOffsetY = r - n.top),
            (this.m_DragInfo.startWidth = n.width),
            (this.m_DragInfo.startHeight = n.height),
            (this.m_DragInfo.ownerWin = e.ownerDocument.defaultView);
        }
        ProcessDragMove(e) {
          Su("ProcessDragMove", e, this.props.data);
          const [t, r] = (function (e) {
            if ("touches" in e) {
              let t = e;
              return [t.touches[0].clientX, t.touches[0].clientY];
            }
            return [e.clientX, e.clientY];
          })(e);
          if (this.m_DragInfo.bStarted) {
            if (this.props.bEnableHTMLDrag && 0 == t && 0 == r) return;
            this.props.coordinator.OnDrag(this, t, r);
          } else
            Math.pow(t - this.m_DragInfo.startClientX, 2) +
              Math.pow(r - this.m_DragInfo.startClientY, 2) >=
              25 &&
              ((this.m_DragInfo.bStarted = !0),
              this.forceUpdate(),
              this.props.fnOnDragStart && this.props.fnOnDragStart(),
              this.props.coordinator.OnDragStart(this),
              this.props.coordinator.OnDrag(this, t, r));
        }
        OnMouseDown(e) {
          this.m_DragInfo.bStarted ||
            0 != e.button ||
            (this.RecordDragStart(e.currentTarget, e.clientX, e.clientY),
            this.m_DragInfo.ownerWin.addEventListener(
              "mousemove",
              this.ProcessDragMove,
            ),
            this.m_DragInfo.ownerWin.addEventListener(
              "mouseup",
              this.OnMouseUp,
            ));
        }
        OnMouseUp(e) {
          this.m_DragInfo.ownerWin.removeEventListener(
            "mousemove",
            this.ProcessDragMove,
          ),
            this.m_DragInfo.ownerWin.removeEventListener(
              "mouseup",
              this.OnMouseUp,
            ),
            this.ResetDragState();
        }
        OnTouchStart(e) {
          this.m_DragInfo.bStarted ||
            (this.RecordDragStart(
              e.currentTarget,
              e.touches[0].clientX,
              e.touches[0].clientY,
            ),
            this.m_DragInfo.ownerWin.addEventListener(
              "touchmove",
              this.ProcessDragMove,
            ),
            this.m_DragInfo.ownerWin.addEventListener(
              "touchend",
              this.OnTouchEnd,
            ));
        }
        OnTouchEnd(e) {
          this.m_DragInfo.ownerWin.removeEventListener(
            "touchmove",
            this.ProcessDragMove,
          ),
            this.m_DragInfo.ownerWin.removeEventListener(
              "touchend",
              this.OnTouchEnd,
            ),
            this.ResetDragState();
        }
        ResetDragState() {
          Su("ResetDragState", this.props.data),
            this.m_DragInfo.bStarted &&
              (this.props.coordinator.EndDrag(),
              this.props.fnOnDragEnd && this.props.fnOnDragEnd()),
            (this.m_DragInfo.bStarted = !1),
            (this.m_DragInfo.startClientX = void 0),
            (this.m_DragInfo.startClientY = void 0),
            (this.m_DragInfo.startOffsetX = void 0),
            (this.m_DragInfo.startOffsetY = void 0),
            (this.m_DragInfo.ownerWin = void 0),
            this.forceUpdate();
        }
        OnHTMLDragStart(e) {
          Su("HTMLDragStart", e, this.props.data, this.props.strHTMLDragData),
            (e.dataTransfer.effectAllowed = "copyMove"),
            this.props.strHTMLDragData &&
              this.props.strHTMLDragData.forEach((t, r) =>
                e.dataTransfer.setData(r, t),
              ),
            e.dataTransfer.getData("text/plain") ||
              e.dataTransfer.setData("text/plain", this.props.data.toString());
          const t = new Image();
          e.dataTransfer.setDragImage(t, 0, 0),
            this.RecordDragStart(e.currentTarget, e.clientX, e.clientY),
            this.m_DragInfo.ownerWin.addEventListener("drag", this.OnHTMLDrag),
            this.m_DragInfo.ownerWin.addEventListener(
              "dragend",
              this.OnHTMLDragEnd,
            );
        }
        OnHTMLDrag(e) {
          Su("HTMLDrag", e, e.dataTransfer.types.length),
            this.ProcessDragMove(e);
        }
        OnHTMLDragEnd(e) {
          Su(
            "HTMLDragEnd",
            e,
            e.dataTransfer.getData("text/plain") || "NOTHING",
            this.props.data,
          ),
            this.m_DragInfo.ownerWin.removeEventListener(
              "drag",
              this.OnHTMLDrag,
            ),
            this.m_DragInfo.ownerWin.removeEventListener(
              "dragend",
              this.OnHTMLDragEnd,
            ),
            this.ResetDragState();
        }
        render() {
          const e = this.props,
            {
              coordinator: t,
              data: r,
              bEnableHTMLDrag: n,
              strHTMLDragData: a,
              fnOnDragStart: o,
              fnOnDragEnd: l,
              fnRenderDragGhost: c,
              fnRenderDropGhost: u,
              className: d,
              strActiveClassName: m,
              children: _,
            } = e,
            h = (0, i._T)(e, [
              "coordinator",
              "data",
              "bEnableHTMLDrag",
              "strHTMLDragData",
              "fnOnDragStart",
              "fnOnDragEnd",
              "fnRenderDragGhost",
              "fnRenderDropGhost",
              "className",
              "strActiveClassName",
              "children",
            ]);
          let p = {},
            g = d || "DialogDraggable";
          return (
            this.m_DragInfo.bStarted
              ? ((g = xr(g, m || "DraggedOut")),
                n && (p = { onDragEnd: this.OnHTMLDragEnd }))
              : (p = n
                  ? { onDragStart: this.OnHTMLDragStart }
                  : {
                      onMouseDown: this.OnMouseDown,
                      onTouchStart: this.OnTouchStart,
                    }),
            s.createElement(
              "div",
              Object.assign({ ref: this.m_divRef, className: g }, p, h, {
                draggable: n,
              }),
              _,
            )
          );
        }
        renderDropGhost() {
          return this.props.fnRenderDropGhost
            ? this.props.fnRenderDropGhost()
            : s.createElement(Iu, { elContent: this.GetClone() });
        }
        renderDragGhost() {
          return this.props.fnRenderDragGhost
            ? this.props.fnRenderDragGhost()
            : s.createElement(Ru, {
                elContent: this.GetClone(),
                offsetX: this.m_DragInfo.startOffsetX,
                offsetY: this.m_DragInfo.startOffsetY,
                width: this.m_DragInfo.startWidth,
                height: this.m_DragInfo.startHeight,
              });
        }
        GetClone() {
          const e = this.m_divRef.current;
          let t;
          if (e && e.childElementCount)
            if (1 == e.childElementCount) t = e.firstElementChild.cloneNode(!0);
            else {
              t = document.createElement("div");
              for (let r = e.firstChild; r; r = r.nextSibling)
                t.appendChild(r.cloneNode(!0));
            }
          return t;
        }
      }
      (0, i.gn)([ye], Eu.prototype, "ProcessDragMove", null),
        (0, i.gn)([ye], Eu.prototype, "OnMouseDown", null),
        (0, i.gn)([ye], Eu.prototype, "OnMouseUp", null),
        (0, i.gn)([ye], Eu.prototype, "OnTouchStart", null),
        (0, i.gn)([ye], Eu.prototype, "OnTouchEnd", null),
        (0, i.gn)([Je.aD], Eu.prototype, "ResetDragState", null),
        (0, i.gn)([ye], Eu.prototype, "OnHTMLDragStart", null),
        (0, i.gn)([ye], Eu.prototype, "OnHTMLDrag", null),
        (0, i.gn)([ye], Eu.prototype, "OnHTMLDragEnd", null);
      class Iu extends s.Component {
        OnRef(e) {
          e && e.appendChild(this.props.elContent);
        }
        render() {
          return s.createElement("div", {
            className: "DialogDraggable_DropGhost",
            ref: this.OnRef,
          });
        }
      }
      (0, i.gn)([ye], Iu.prototype, "OnRef", null);
      class Ru extends s.Component {
        constructor() {
          super(...arguments),
            (this.state = {
              clientX: void 0,
              clientY: void 0,
              bVisible: !0,
              clientXDelta: void 0,
              clientYDelta: void 0,
            });
        }
        OnRef(e) {
          e && e.appendChild(this.props.elContent);
        }
        CalculateRotationDegrees(e) {
          if (!e || Math.abs(e) < 4) return 0;
          return (e > 0 ? 7.5 : -7.5) * Math.sqrt(Math.abs(e));
        }
        render() {
          if (
            !this.state.bVisible ||
            void 0 === this.state.clientX ||
            void 0 === this.state.clientY
          )
            return s.createElement("div", null);
          let e = {
              left: this.state.clientX - (this.props.offsetX || 0),
              top: this.state.clientY - (this.props.offsetY || 0),
              width: this.props.width || "auto",
              height: this.props.height || "auto",
              perspective: "600px",
            },
            t = d(
              this.CalculateRotationDegrees(this.state.clientYDelta),
              -90,
              90,
              2,
              0,
            ),
            r = {
              transform: `rotateX(${this.CalculateRotationDegrees(-1 * this.state.clientYDelta)}deg) rotateY( ${this.CalculateRotationDegrees(this.state.clientXDelta)}deg)`,
              transition: "transform .16s ease-out, filter .16s ease-out",
              filter: "brightness(" + t + ")",
            };
          const n = this.props.className || "DialogDraggable_DragGhost";
          return s.createElement(
            "div",
            { className: n, style: e },
            s.createElement("div", { ref: this.OnRef, style: r }),
          );
        }
      }
      (0, i.gn)([ye], Ru.prototype, "OnRef", null);
      class Tu extends s.Component {
        constructor(e) {
          super(e), (this.m_divRef = s.createRef()), (this.state = {});
        }
        componentDidMount() {
          this.props.coordinator.RegisterDropRegion(this);
        }
        componentWillUnmount() {
          this.props.coordinator.UnregisterDropRegion(this);
        }
        OnDragStarted(e) {
          this.setState({ bDraggableActive: !0 });
        }
        OnDragEnded(e) {
          this.setState({ bDraggableActive: !1 });
        }
        OnDragEnter(e, t) {
          this.setState({ dropGhost: t }),
            this.props.fnOnDragEnter && this.props.fnOnDragEnter(e);
        }
        OnDragLeave(e) {
          this.setState({ dropGhost: void 0 }),
            this.props.fnOnDragLeave && this.props.fnOnDragLeave(e);
        }
        OnDragMove(e, t, r) {}
        OnDrop(e) {
          this.setState({ dropGhost: void 0 }), this.props.fnOnDrop(e);
        }
        BAcceptDraggable(e) {
          return (
            !this.props.fnBAcceptDraggable || this.props.fnBAcceptDraggable(e)
          );
        }
        BDraggableInRegion(e, t, r) {
          return Cu(e, t, this.GetClientRect());
        }
        GetElement() {
          return this.m_divRef.current;
        }
        GetClientRect() {
          return (
            this.m_divRef.current &&
            this.m_divRef.current.getBoundingClientRect()
          );
        }
        render() {
          const e = this.props,
            {
              coordinator: t,
              fnBAcceptDraggable: r,
              fnOnDrop: n,
              fnOnDragEnter: a,
              fnOnDragLeave: o,
              className: l,
              strActiveClassName: c,
              children: u,
              focusable: d,
            } = e,
            m = (0, i._T)(e, [
              "coordinator",
              "fnBAcceptDraggable",
              "fnOnDrop",
              "fnOnDragEnter",
              "fnOnDragLeave",
              "className",
              "strActiveClassName",
              "children",
              "focusable",
            ]),
            _ = xr(
              l || "DialogDropRegion",
              this.state.bDraggableActive && (c || "Active"),
            );
          return s.createElement(
            Rl,
            Object.assign({ ref: this.m_divRef, className: _ }, m, {
              focusable: void 0 === d ? !!m.onClick : d,
            }),
            this.state.dropGhost,
            u,
          );
        }
      }
      class Mu extends Tu {
        BDraggableInRegion(e, t, r) {
          let n = this.GetClientRect();
          return (
            !!n &&
            e >= n.left && e <= n.right && t >= n.top - 20 &&
            t <= n.bottom + 20
          );
        }
      }
      class Du extends s.Component {
        constructor(e) {
          super(e), (this.state = {}), (this.state.lastErrorKey = e.errorKey);
        }
        static InstallErrorReportingStore(e) {
          this.sm_ErrorReportingStore = e;
        }
        componentDidCatch(e, t) {
          const r = Du.sm_ErrorReportingStore;
          r
            ? r
                .ReportError(e)
                .then(
                  (e) =>
                    e && this.setState({ identifierHash: e.identifierHash }),
                )
            : console.warn(
                "No ErrorReportingStore - use ErrorReportingStore().Init() to configure error reporting to server",
              ),
            this.setState({
              error: { error: e, info: t },
              lastErrorKey: this.props.errorKey,
            });
        }
        Reset() {
          this.setState({ error: null });
        }
        render() {
          const { children: e, fallback: t, errorKey: r } = this.props,
            { error: n, identifierHash: i, lastErrorKey: a } = this.state;
          return n && r == a
            ? void 0 !== t
              ? "function" == typeof t
                ? t(n.error)
                : t
              : Du.sm_ErrorReportingStore &&
                  Du.sm_ErrorReportingStore.reporting_enabled
                ? s.createElement(Ou, {
                    error: n,
                    identifierHash: i,
                    store: Du.sm_ErrorReportingStore,
                    onRefresh: this.Reset,
                  })
                : s.createElement(Au, { error: n, onDismiss: this.Reset })
            : e || null;
        }
      }
      (0, i.gn)([ye], Du.prototype, "Reset", null);
      const Au = ({ error: e, onDismiss: t }) => {
          let r = e.error ? e.error.stack : "Stack missing",
            n = e.info ? e.info.componentStack : "",
            i = (e.error && e.error.message) || "unknown error";
          return s.createElement(
            Fu,
            null,
            s.createElement(Lu, null, 'Error: "', i, '"'),
            "   ",
            s.createElement(
              "span",
              {
                style: { textDecoration: "underline", cursor: "pointer" },
                onClick: t,
              },
              "(x) Dismiss",
            ),
            s.createElement("br", null),
            s.createElement(ku, null, r),
            s.createElement(ku, null, "The error occurred while rendering:", n),
          );
        },
        Ou = (e) => {
          const { error: t, onRefresh: r, identifierHash: n, store: i } = e,
            a = (t.error && t.error.message) || "unknown error",
            o = `${i.product}_${i.version}_${n}`;
          return s.createElement(
            Fu,
            null,
            s.createElement(
              Lu,
              null,
              "Something went wrong while displaying this content. ",
              s.createElement(
                "span",
                {
                  style: { textDecoration: "underline", cursor: "pointer" },
                  onClick: r,
                },
                "Refresh",
              ),
            ),
            s.createElement(ku, null, "Error Reference: ", o),
            s.createElement(ku, null, a),
          );
        },
        Fu = ({ children: e }) =>
          s.createElement(
            "div",
            {
              style: {
                overflow: "auto",
                marginLeft: "15px",
                color: "white",
                fontSize: "16px",
                userSelect: "auto",
                backgroundColor: "black",
              },
              className: "ErrorBoundary",
            },
            e,
          ),
        Lu = ({ children: e }) =>
          s.createElement(
            "h1",
            {
              style: {
                fontSize: "20px",
                display: "inline-block",
                marginTop: "15px",
                userSelect: "auto",
              },
            },
            e,
          ),
        ku = ({ children: e }) =>
          s.createElement(
            "pre",
            { style: { marginTop: "15px", opacity: 0.7, userSelect: "auto" } },
            e,
          );
      var Nu = r(4730),
        Pu = r.n(Nu);
      r(3101);
      function Gu(e) {
        const { direction: t } = e,
          r = (0, i._T)(e, ["direction"]);
        switch (t) {
          case "up":
            return s.createElement(
              "svg",
              Object.assign(
                {
                  xmlns: "http://www.w3.org/2000/svg",
                  viewBox: "0 0 36 36",
                  fill: "none",
                },
                r,
              ),
              s.createElement("path", {
                d: "M17.98 10.23L3.20996 25H32.75L17.98 10.23Z",
                fill: "currentColor",
              }),
            );
          case "down":
            return s.createElement(
              "svg",
              Object.assign(
                {
                  xmlns: "http://www.w3.org/2000/svg",
                  viewBox: "0 0 36 36",
                  fill: "none",
                },
                r,
              ),
              s.createElement("path", {
                d: "M17.98 26.54L3.20996 11.77H32.75L17.98 26.54Z",
                fill: "currentColor",
              }),
            );
          case "left":
            return s.createElement(
              "svg",
              Object.assign(
                {
                  xmlns: "http://www.w3.org/2000/svg",
                  viewBox: "0 0 36 36",
                  fill: "none",
                },
                r,
              ),
              s.createElement("path", {
                d: "M9.82497 18.385L24.595 3.61499L24.595 33.155L9.82497 18.385Z",
                fill: "currentColor",
              }),
            );
          case "right":
            return s.createElement(
              "svg",
              Object.assign(
                {
                  xmlns: "http://www.w3.org/2000/svg",
                  viewBox: "0 0 36 36",
                  fill: "none",
                },
                r,
              ),
              s.createElement("path", {
                d: "M26.135 18.385L11.365 33.155L11.365 3.61503L26.135 18.385Z",
                fill: "currentColor",
              }),
            );
        }
      }
      function xu(e) {
        const { direction: t } = e;
        (0, i._T)(e, ["direction"]);
        switch (t) {
          case "up":
            return s.createElement(
              "svg",
              Object.assign(
                {
                  xmlns: "http://www.w3.org/2000/svg",
                  viewBox: "0 0 36 36",
                  fill: "none",
                },
                e,
              ),
              s.createElement("path", {
                fill: "currentColor",
                d: "M31 15.6394L18.0204 3L5 15.6394L8.60376 19.1432L18.0204 10.0076L27.4166 19.1432L31 15.6394ZM27.3962 33L18.0204 23.8644L8.62412 33L5 29.4962L18.0204 16.8568L31 29.4962L27.3962 33Z",
              }),
            );
          case "down":
            return s.createElement(
              "svg",
              Object.assign(
                {
                  xmlns: "http://www.w3.org/2000/svg",
                  viewBox: "0 0 36 36",
                  fill: "none",
                },
                e,
              ),
              s.createElement("path", {
                fill: "currentColor",
                d: "M31 20.3606L18.0204 33L5 20.3606L8.60376 16.8568L18.0204 25.9924L27.4166 16.8568L31 20.3606ZM27.3962 3L18.0204 12.1356L8.62412 3L5 6.50379L18.0204 19.1432L31 6.50379L27.3962 3Z",
              }),
            );
          case "left":
            return s.createElement(
              "svg",
              Object.assign(
                {
                  xmlns: "http://www.w3.org/2000/svg",
                  viewBox: "0 0 36 36",
                  fill: "none",
                },
                e,
              ),
              s.createElement("path", {
                d: "M14.23 30.75L1.45996 18L14.23 5.20999L17.77 8.74999L8.53996 18L17.77 27.23L14.23 30.75ZM31.77 27.21L22.54 18L31.77 8.76999L28.23 5.20999L15.46 18L28.23 30.75L31.77 27.21Z",
                fill: "currentColor",
              }),
            );
          case "right":
            return s.createElement(
              "svg",
              Object.assign(
                {
                  xmlns: "http://www.w3.org/2000/svg",
                  viewBox: "0 0 36 36",
                  fill: "none",
                },
                e,
              ),
              s.createElement("path", {
                d: "M19 30.75L31.77 18L19 5.20999L15.46 8.74999L24.69 18L15.46 27.23L19 30.75ZM1.46002 27.21L10.69 18L1.46002 8.76999L5.00002 5.20999L17.77 18L5.00002 30.75L1.46002 27.21Z",
                fill: "currentColor",
              }),
            );
        }
      }
      function Uu(e) {
        return s.createElement(
          "svg",
          Object.assign(
            {
              xmlns: "http://www.w3.org/2000/svg",
              viewBox: "0 0 36 36",
              fill: "none",
            },
            e,
          ),
          s.createElement("path", {
            fillRule: "evenodd",
            clipRule: "evenodd",
            d: "M12.73 28.34C15.6223 29.3235 18.732 29.4785 21.7078 28.7876C24.6836 28.0966 27.4069 26.5873 29.57 24.43L36 18L29.57 11.57C28 10 26.5 9 23.94 7.94C20.9843 6.77796 17.7541 6.50244 14.6444 7.14712C11.5346 7.7918 8.68012 9.32875 6.43 11.57L0 18L6.43 24.43C8.10419 26.1042 10.2596 27.5 12.73 28.34ZM18 25C21.866 25 25 21.866 25 18C25 14.134 21.866 11 18 11C14.134 11 11 14.134 11 18C11 21.866 14.134 25 18 25Z",
            fill: "currentColor",
          }),
        );
      }
      function zu(e) {
        return s.createElement(
          "svg",
          Object.assign(
            {
              xmlns: "http://www.w3.org/2000/svg",
              viewBox: "0 0 36 36",
              fill: "none",
            },
            e,
          ),
          s.createElement("path", {
            d: "M29.57 11.57L24.82 16.32C24.9485 16.8705 25.0089 17.4347 25 18C25 19.8565 24.2625 21.637 22.9497 22.9497C21.637 24.2625 19.8565 25 18 25C17.423 24.9983 16.8486 24.9244 16.29 24.78L12.73 28.34C15.6223 29.3235 18.732 29.4785 21.7078 28.7876C24.6836 28.0966 27.4069 26.5873 29.57 24.43L36 18L29.57 11.57Z",
            fill: "currentColor",
          }),
          s.createElement("path", {
            d: "M28.94 2.94L23.94 7.94C20.9843 6.77797 17.7541 6.50244 14.6444 7.14712C11.5346 7.79181 8.68012 9.32876 6.43 11.57L0 18L6.43 24.43C6.6 24.6 6.79 24.75 6.97 24.91L3.44 28.44L5.56 30.56L31.06 5.06L28.94 2.94ZM11 18C11.0002 16.8706 11.2736 15.7581 11.7969 14.7573C12.3203 13.7565 13.078 12.8971 14.0054 12.2527C14.9328 11.6082 16.0024 11.1977 17.1229 11.0561C18.2434 10.9146 19.3815 11.0463 20.44 11.44L11.44 20.44C11.1493 19.6593 11.0003 18.833 11 18Z",
            fill: "currentColor",
          }),
        );
      }
      function Wu(e) {
        return s.createElement(
          "svg",
          {
            width: "5",
            height: "19",
            viewBox: "0 0 5 19",
            fill: "none",
            xmlns: "http://www.w3.org/2000/svg",
          },
          s.createElement("path", {
            d: "M5 0H3C1.34315 0 0 1.34315 0 3V16C0 17.6569 1.34315 19 3 19H5V0Z",
            fill: "white",
          }),
        );
      }
      function ju(e) {
        return s.createElement(
          "svg",
          {
            width: "5",
            height: "19",
            viewBox: "0 0 5 19",
            fill: "none",
            xmlns: "http://www.w3.org/2000/svg",
          },
          s.createElement("path", {
            d: "M0 0H2C3.65685 0 5 1.34315 5 3V16C5 17.6569 3.65685 19 2 19H0V0Z",
            fill: "white",
          }),
        );
      }
      class Vu {
        constructor() {
          (this.m_flPageListScrollTop = 0),
            (this.m_flPageScrollTop = 0),
            (0, Je.rC)(this);
        }
      }
      (0, i.gn)([Je.LO], Vu.prototype, "m_flPageListScrollTop", void 0),
        (0, i.gn)([Je.LO], Vu.prototype, "m_flPageScrollTop", void 0);
      class Hu {
        static Get() {
          return Hu.s_Instance || (Hu.s_Instance = new Hu()), Hu.s_Instance;
        }
        constructor() {
          (this.m_setPagedSettingsInstances = new Set()), (0, Je.rC)(this);
        }
      }
      (0, i.gn)([Je.LO], Hu.prototype, "m_setPagedSettingsInstances", void 0);
      const qu = s.forwardRef(function (e, t) {
        return s.createElement(
          Ol,
          Object.assign(
            { ref: t, navEntryPreferPosition: so.PREFERRED_CHILD },
            e,
          ),
        );
      });
      function Ku(e) {
        const { title: t, icon: r, active: n, className: a, onClick: o } = e,
          l = (0, i._T)(e, ["title", "icon", "active", "className", "onClick"]);
        return s.createElement(
          "div",
          { className: a, onClick: o },
          r
            ? s.createElement("div", { className: Pu().PageListItem_Icon }, r)
            : null,
          s.createElement(
            "div",
            Object.assign({ className: Pu().PageListItem_Title }, l),
            t,
          ),
        );
      }
      function $u(e) {
        var t;
        const r =
          null !== (t = e.activePage.padding) && void 0 !== t ? t : "standard";
        return s.createElement(
          Ec,
          {
            className: xr(
              e.stylesheet.PagedSettingsDialog_PageContent,
              e.activePage.pageClassName,
              { [e.stylesheet.NoPadding]: "none" == r },
            ),
            refElem: e.refForScrollingContainer,
          },
          e.activePage.header,
          !e.hideTitle && s.createElement(vc, null, e.activePage.title),
          s.createElement(
            Du,
            { errorKey: e.activePage.title },
            e.activePage.content,
          ),
        );
      }
      function Yu(e) {
        return s.createElement("div", {
          className: xr(Pu().PageListSeparator, {
            [Pu().Transparent]: e.bTransparent,
          }),
        });
      }
      const Qu = s.forwardRef(function (e, t) {
        var r, n;
        const i = null !== (r = e.stylesheet) && void 0 !== r ? r : Pu(),
          a = e.pages,
          o =
            null != e.startingPage
              ? a.findIndex(
                  (t) =>
                    "object" == typeof t && t.identifier === e.startingPage,
                )
              : -1,
          l = null == e.page,
          [c, u] = s.useState(o);
        let d = c;
        l ||
          (d = a.findIndex(
            (t) => "object" == typeof t && t.identifier === e.page,
          )),
          (d < 0 || d >= a.length) && (d = 0);
        let m = null;
        "object" == typeof a[d] && (m = a[d]);
        let _ = (function (e) {
          let t = s.useRef(e),
            r = s.useRef("none"),
            n = t.current;
          if (n == e) return r.current;
          let i = "none";
          n < e ? (i = "down") : n > e && (i = "up");
          return (t.current = e), (r.current = i), i;
        })(d);
        const h = s.useRef(),
          p = s.useCallback(() => h.current.TakeFocus(), [h]),
          g = (e) => {
            e && f(!0);
          },
          [b, f] = s.useState(!1),
          v = a.map((t, r) => {
            if ("separator" === t) {
              const t = r === d + 1 || r === d - 1;
              return s.createElement(
                s.Fragment,
                { key: r },
                e.renderPageListSeparator
                  ? e.renderPageListSeparator({})
                  : s.createElement(Yu, { bTransparent: t }),
              );
            }
            if ("spacer" === t)
              return s.createElement("div", {
                key: r,
                className: Pu().PageListSpacer,
              });
            if (!1 === t.visible) return null;
            const n = t == m,
              a = t.identifier || t.title || r.toString(),
              o = e.renderPageListItem || Ku;
            return s.createElement(o, {
              className: xr(i.PagedSettingsDialog_PageListItem, {
                [i.Active]: n,
              }),
              key: a,
              onClick: () => {
                g(!0),
                  Jo.PlayNavSound(Zo.PagedNavigation),
                  e.onPageRequested && e.onPageRequested(t.identifier),
                  t.click ? t.click() : l && r != c && u(r);
              },
              title: t.title,
              icon: t.icon,
              active: n,
            });
          }),
          y = s.useRef(),
          S = null == m ? void 0 : m.hideTitle,
          w = null === (n = e.showTitle) || void 0 === n || n,
          C = xr("DialogContentTransition", i.PagedSettingDialog_ContentColumn);
        s.useEffect(() => {
          var t;
          e.focusChild &&
            (null === (t = y.current) || void 0 === t || t.TakeFocus());
        }, []);
        const B = e.renderPageAnimation && m ? e.renderPageAnimation : Zu,
          E = s.useMemo(() => new Vu(), []);
        s.useEffect(
          () => (
            Hu.Get().m_setPagedSettingsInstances.add(E),
            () => {
              Hu.Get().m_setPagedSettingsInstances.delete(E);
            }
          ),
          [E],
        );
        const { refForPageList: I, refForPage: R } = (function (e) {
            const t = s.useCallback(
                (t) => (e.m_flPageListScrollTop = t.currentTarget.scrollTop),
                [e],
              ),
              r = s.useCallback(
                (t) => (e.m_flPageScrollTop = t.currentTarget.scrollTop),
                [e],
              ),
              n = nr("scroll", t),
              i = nr("scroll", r),
              a = s.useCallback(
                (t) => {
                  var r;
                  return (e.m_flPageListScrollTop =
                    null !== (r = null == t ? void 0 : t.scrollTop) &&
                    void 0 !== r
                      ? r
                      : 0);
                },
                [e],
              ),
              o = s.useCallback(
                (t) => {
                  var r;
                  return (e.m_flPageScrollTop =
                    null !== (r = null == t ? void 0 : t.scrollTop) &&
                    void 0 !== r
                      ? r
                      : 0);
                },
                [e],
              ),
              l = Xt(n, a),
              c = Xt(i, o);
            return { refForPageList: l, refForPage: c };
          })(E),
          T = (function (e, t) {
            const r = s.useMemo(() => new Map(), []),
              n = s.useRef();
            n.current = e;
            const i = s.useRef();
            i.current = t;
            const a = s.useCallback(
              (e) => (t) => {
                r.set(e, t), e === n.current && Qt(i.current, t);
              },
              [r],
            );
            return (
              s.useEffect(
                () => (Qt(t, r.get(e)), () => Qt(t, void 0)),
                [r, e, t],
              ),
              a
            );
          })(null == m ? void 0 : m.identifier, R);
        return s.createElement(
          Ol,
          { className: xr(i.PagedSettingsDialog, e.className), ref: t },
          s.createElement(
            Ol,
            {
              className: xr(
                i.PagedSettingsDialog_PageListColumn,
                e.hideList && Pu().Hidden,
                "PageListColumn",
              ),
              navRef: h,
              onButtonDown: (e) => {
                var t;
                e.detail.button == is.OK &&
                  (null === (t = y.current) ||
                    void 0 === t ||
                    t.TakeFocus(e.detail.button));
              },
              onFocusWithin: g,
            },
            w &&
              s.createElement(
                "div",
                { className: i.PagedSettingsDialog_Title },
                e.title,
              ),
            e.topControls && s.createElement("div", null, e.topControls),
            s.createElement(
              qu,
              {
                className: xr(
                  i.PagedSettingsDialog_PageList,
                  e.disablePageListScrolling &&
                    i.PagedSettingsDialog_PageList_DisableScrolling,
                  w && i.PagedSettingsDialog_PageList_ShowTitle,
                  e.bNoHeaderPadding &&
                    i.PageSettingsDialog_PageList_NoHeaderPadding,
                ),
                onFocusWithin: g,
                ref: I,
              },
              v,
            ),
            e.bottomControls && s.createElement("div", null, e.bottomControls),
          ),
          s.createElement(
            Ol,
            { className: C, onCancelButton: b ? p : null, navRef: y },
            e.toggleHideList &&
              s.createElement(Xu, {
                hideList: e.hideList,
                toggleHideList: e.toggleHideList,
              }),
            s.createElement(
              B,
              { activePage: m, direction: _ },
              m &&
                s.createElement($u, {
                  refForScrollingContainer: T(m.identifier),
                  key: m.identifier,
                  stylesheet: i,
                  hideTitle: S,
                  activePage: m,
                }),
            ),
          ),
        );
      });
      function Xu(e) {
        const { hideList: t, toggleHideList: r } = e;
        return s.createElement(
          "div",
          {
            className: xr(Pu().HidePageListButton, t && Pu().ListHidden),
            onClick: r,
          },
          t
            ? s.createElement(xu, { direction: "right" })
            : s.createElement(xu, { direction: "left" }),
        );
      }
      function Zu(e) {
        return s.createElement(s.Fragment, null, e.children);
      }
      class Ju extends s.Component {
        constructor() {
          super(...arguments),
            (this.m_refTextArea = s.createRef()),
            (this.m_cEntryLength = Number.MAX_VALUE);
        }
        get textarea() {
          return this.m_refTextArea.current;
        }
        get value() {
          return this.m_refTextArea.current && this.m_refTextArea.current.value;
        }
        focus() {
          this.m_refTextArea.current.focus();
        }
        InternalOnInput() {
          const e = this.m_refTextArea.current,
            t = this.GetMinHeight(),
            r = this.GetMaxHeight();
          let n,
            i = e.value.length;
          if (
            (void 0 === this.m_nTextAreaPadding && this.CalculatePadding(),
            i < this.m_cEntryLength &&
              ((n = window.scrollY), (e.style.height = t + "px")),
            e.scrollHeight > r)
          )
            (e.style.height = r + "px"), (e.style.overflow = "auto");
          else if (e.scrollHeight != e.clientHeight) {
            let r = Math.max(e.scrollHeight, t);
            (e.style.height = r - this.m_nTextAreaPadding + "px"),
              "auto" == e.style.overflow && (e.style.overflow = "hidden");
          }
          void 0 !== n && window.scrollTo(window.scrollX, n),
            (this.m_cEntryLength = i);
        }
        CalculatePadding() {
          const e = getComputedStyle(this.m_refTextArea.current);
          this.m_nTextAreaPadding =
            parseFloat(e.paddingTop) + parseFloat(e.paddingBottom);
        }
        GetMinHeight() {
          return this.props.nMinHeight || 20;
        }
        GetMaxHeight() {
          return this.props.nMaxHeight || 500;
        }
        DeferredInternalOnInput() {
          window.setTimeout(this.InternalOnInput, 1);
        }
        OnKeyUp(e) {
          this.InternalOnInput(), this.props.onKeyUp && this.props.onKeyUp(e);
        }
        OnBlur(e) {
          this.DeferredInternalOnInput(),
            this.props.onBlur && this.props.onBlur(e);
        }
        OnClick(e) {
          this.InternalOnInput(), this.props.onClick && this.props.onClick(e);
        }
        OnPaste(e) {
          this.DeferredInternalOnInput(),
            this.props.onPaste && this.props.onPaste(e);
        }
        OnCut(e) {
          this.InternalOnInput(), this.props.onCut && this.props.onCut(e);
        }
        componentDidMount() {
          (this.m_refTextArea.current.style.overflow = "hidden"),
            (this.m_refTextArea.current.style.resize = "none"),
            this.InternalOnInput();
        }
        componentDidUpdate(e) {
          (e.nMinHeight == this.props.nMinHeight &&
            e.nMaxHeight == this.props.nMaxHeight) ||
            (this.m_cEntryLength = Number.MAX_VALUE),
            this.m_refTextArea.current.value.length != this.m_cEntryLength &&
              this.InternalOnInput();
        }
        render() {
          const e = this.props,
            { nMinHeight: t, nMaxHeight: r, renderTextArea: n } = e,
            a = (0, i._T)(e, ["nMinHeight", "nMaxHeight", "renderTextArea"]),
            o = n || ((e) => s.createElement("textarea", Object.assign({}, e)));
          return o(
            Object.assign(Object.assign({}, a), {
              ref: this.m_refTextArea,
              onKeyUp: this.OnKeyUp,
              onBlur: this.OnBlur,
              onClick: this.OnClick,
              onPaste: this.OnPaste,
              onCut: this.OnCut,
            }),
          );
        }
      }
      (0, i.gn)([ye], Ju.prototype, "InternalOnInput", null),
        (0, i.gn)([ye], Ju.prototype, "OnKeyUp", null),
        (0, i.gn)([ye], Ju.prototype, "OnBlur", null),
        (0, i.gn)([ye], Ju.prototype, "OnClick", null),
        (0, i.gn)([ye], Ju.prototype, "OnPaste", null),
        (0, i.gn)([ye], Ju.prototype, "OnCut", null);
      var ed = r(6254),
        td = r.n(ed);
      const rd = s.forwardRef(function (e, t) {
        const {
            label: r,
            description: n,
            icon: a,
            children: o,
            childrenLayout: l,
            inlineWrap: c,
            childrenContainerWidth: u,
            spacingBetweenLabelAndChild: d,
            padding: m,
            disabled: _,
            bottomSeparator: h,
            className: p,
            highlightOnFocus: g,
            indentLevel: b,
            verticalAlignment: f,
            iconLocation: v,
            tooltip: y,
            explainer: S,
            explainerTitle: w,
          } = e,
          C = (0, i._T)(e, [
            "label",
            "description",
            "icon",
            "children",
            "childrenLayout",
            "inlineWrap",
            "childrenContainerWidth",
            "spacingBetweenLabelAndChild",
            "padding",
            "disabled",
            "bottomSeparator",
            "className",
            "highlightOnFocus",
            "indentLevel",
            "verticalAlignment",
            "iconLocation",
            "tooltip",
            "explainer",
            "explainerTitle",
          ]),
          B = M(),
          E = null != l ? l : "inline",
          I = null != v ? v : "front",
          R = "front" == I && !!a,
          T = "before-children" == I && !!a,
          D = "inline" == E && !!o,
          A = "below" == E && !!o,
          O = null != c ? c : B ? "shift-children-below" : "keep-inline",
          F = !!(C.onClick || C.onActivate || C.focusable),
          L = (null != a && R) || null != r || (D && null != o),
          k = null != u ? u : "min",
          N = null != d ? d : "standard",
          P = null != m ? m : "standard",
          G = null != h ? h : "standard",
          x = null == g || g,
          U = null != b ? b : 0,
          z = null != f ? f : "center",
          W = (function (e, t) {
            const r = Ho(),
              n = s.useCallback(() => {
                var n, i, a, o;
                (i = e),
                  (a = t),
                  (o =
                    null !== (n = r.ownerWindow) && void 0 !== n ? n : window),
                  Km(
                    s.createElement(Jm, { strTitle: i, strDescription: a }),
                    o,
                  );
              }, [r, e, t]);
            if (null == t) return {};
            const i = We("#Field_MoreInfo_Action");
            return { onOptionsButton: n, onOptionsActionDescription: i };
          })(null != w ? w : r, S),
          j = s.useRef(),
          V = Xt(j, e.navRef),
          H = s.useCallback(
            (e) => {
              var t;
              null === (t = j.current) || void 0 === t || t.TakeFocus(),
                e.preventDefault();
            },
            [j],
          );
        return s.createElement(
          Ol,
          Object.assign(
            {
              focusable: F,
              noFocusRing: !0,
              scrollIntoViewWhenChildFocused: !0,
              onActivate: C.onClick,
              ref: t,
              onMouseDown: F ? void 0 : H,
            },
            C,
            W,
            {
              navRef: V,
              className: xr(
                p,
                td().Field,
                _ && td().Disabled,
                L && td().WithFirstRow,
                D && td().WithChildrenInline,
                A && td().WithChildrenBelow,
                "center" == z && td().VerticalAlignCenter,
                "shift-children-below" == O &&
                  td().InlineWrapShiftsChildrenBelow,
                !!n && td().WithDescription,
                "standard" == G && td().WithBottomSeparatorStandard,
                "thick" == G && td().WithBottomSeparatorThick,
                "fixed" == k && td().ChildrenWidthFixed,
                "max" == k && td().ChildrenWidthGrow,
                "standard" == N && td().ExtraPaddingOnChildrenBelow,
                "standard" == P && td().StandardPadding,
                "compact" == P && td().CompactPadding,
                F && td().Clickable,
                x && td().HighlightOnFocus,
              ),
              style: { "--indent-level": U },
            },
          ),
          L &&
            s.createElement(
              "div",
              { className: td().FieldLabelRow },
              s.createElement(
                "div",
                { className: td().FieldLabel },
                R &&
                  s.createElement(
                    "div",
                    { className: xr(td().FieldIcon, td().Front) },
                    a,
                  ),
                r,
                y &&
                  s.createElement("span", { "data-tooltip-text": y }, " (?)"),
              ),
              D &&
                s.createElement(
                  "div",
                  { className: td().FieldChildrenWithIcon },
                  T &&
                    s.createElement(
                      "div",
                      { className: xr(td().FieldIcon, td().BeforeChildren) },
                      a,
                    ),
                  s.createElement(
                    "div",
                    { className: td().FieldChildrenInner },
                    o,
                  ),
                ),
            ),
          A &&
            s.createElement(
              "div",
              { className: td().FieldChildrenWithIcon },
              T &&
                s.createElement(
                  "div",
                  { className: xr(td().FieldIcon, td().BeforeChildren) },
                  a,
                ),
              s.createElement("div", { className: td().FieldChildrenInner }, o),
            ),
          n && s.createElement("div", { className: td().FieldDescription }, n),
        );
      });
      s.forwardRef(function (e, t) {
        const {
            label: r,
            description: n,
            icon: a,
            layout: o,
            bottomSeparator: l,
            highlightOnFocus: c,
            childrenContainerWidth: u,
            padding: d,
            inlineWrap: m,
          } = e,
          _ = (0, i._T)(e, [
            "label",
            "description",
            "icon",
            "layout",
            "bottomSeparator",
            "highlightOnFocus",
            "childrenContainerWidth",
            "padding",
            "inlineWrap",
          ]),
          { refWithValue: h, refForElement: p } = er(t);
        return s.createElement(
          rd,
          {
            label: r,
            description: n,
            icon: a,
            bottomSeparator: l,
            highlightOnFocus: c,
            childrenLayout: null != o ? o : "inline",
            childrenContainerWidth: null != u ? u : "min",
            onMouseDown: (e) => {
              var t;
              null === (t = h.current) || void 0 === t || t.focus(),
                e.preventDefault();
            },
            padding: d,
            inlineWrap: m,
          },
          s.createElement(Ac, Object.assign({}, _, { ref: p })),
        );
      });
      const nd = s.forwardRef(function (e, t) {
        const {
            label: r,
            description: n,
            icon: a,
            layout: o,
            bottomSeparator: l,
            highlightOnFocus: c,
          } = e,
          u = (0, i._T)(e, [
            "label",
            "description",
            "icon",
            "layout",
            "bottomSeparator",
            "highlightOnFocus",
          ]),
          { refWithValue: d, refForElement: m } = er(t);
        return s.createElement(
          rd,
          {
            label: r,
            description: n,
            icon: a,
            bottomSeparator: l,
            highlightOnFocus: c,
            childrenLayout: null != o ? o : "inline",
            childrenContainerWidth: "fixed",
            onMouseDown: (e) => {
              var t, r;
              null ===
                (r =
                  null === (t = d.current) || void 0 === t
                    ? void 0
                    : t.element) ||
                void 0 === r ||
                r.focus(),
                e.preventDefault();
            },
          },
          s.createElement(zc, Object.assign({}, u, { ref: m })),
        );
      });
      s.forwardRef(function (e, t) {
        return s.createElement(
          Dl,
          Object.assign({ noFocusRing: !0 }, e, {
            ref: t,
            className: xr(td().BasicTextInput, e.className),
            size: 1,
          }),
        );
      });
      var id = r(9895),
        ad = r.n(id);
      s.forwardRef(function (e, t) {
        return s.createElement(
          Ac,
          {
            className: xr(ad().DropDownControlButton, e.className),
            focusable: e.focusable,
            disabled: e.disabled,
            onClick: e.onClick,
            tabIndex: e.tabIndex,
            ref: t,
          },
          s.createElement(
            "div",
            { className: td().DropDownControlButtonContents },
            e.children,
            s.createElement("div", { className: td().Spacer }),
            s.createElement(Gu, { direction: "down" }),
          ),
        );
      });
      var sd = r(4788);
      s.forwardRef(function (e, t) {
        const { className: r } = e,
          n = (0, i._T)(e, ["className"]);
        let a = s.useRef(),
          o = Xt(t, a);
        const [l, c] = s.useState(!1),
          u = s.useCallback(() => {
            c((e) => !e), window.setTimeout(() => a.current.Focus(), 1);
          }, []);
        return s.createElement(
          Ol,
          {
            className: r,
            onOptionsButton: u,
            onOptionsActionDescription: We(
              l ? "#Login_HidePassword" : "#Login_ShowPassword",
            ),
          },
          s.createElement(
            zc,
            Object.assign(
              {
                autoComplete: "off",
                ref: o,
                inlineControls: s.createElement(
                  Ac,
                  {
                    className: sd.TogglePasswordVisibilityBtn,
                    onPointerDown: u,
                    onOKButton: u,
                  },
                  l ? s.createElement(Uu, null) : s.createElement(zu, null),
                ),
              },
              n,
              { type: l ? "text" : "password" },
            ),
          ),
        );
      });
      s.forwardRef(function (e, t) {
        var r;
        const { className: n } = e,
          a = (0, i._T)(e, ["className"]),
          o = null !== (r = e.value) && void 0 !== r ? r : "";
        return s.createElement(
          nd,
          Object.assign(
            {
              autoComplete: "off",
              value: o,
              ref: t,
              placeholder: "   .   .   .   ",
            },
            a,
            {
              onChange: (e) => {
                !(function (e) {
                  const t = e.split(".");
                  if (t.length > 4) return !1;
                  for (let e = 0; e < t.length; e++) {
                    const r = t[e];
                    if ("" == r) {
                      if (e == t.length - 1) continue;
                      return !1;
                    }
                    if (!/^[0-9]*$/.test(r)) return !1;
                    const n = parseInt(r);
                    if (!(n >= 0 && n <= 255)) return !1;
                  }
                  return !0;
                })(e.target.value)
                  ? (e.target.value = o)
                  : a.onChange && a.onChange(e);
              },
            },
          ),
        );
      });
      var od = r(717),
        ld = r.n(od);
      function cd(e, t, r) {
        var n;
        const i = `${e}_HistoryValue`,
          a = (0, V.k6)(),
          o = (0, V.TH)(),
          l = null !== (n = o.state && o.state[i]) && void 0 !== n ? n : r,
          c = s.useRef(!1),
          u = s.useRef(),
          d = s.useRef(),
          m = s.useCallback(
            (e) => {
              if (c.current && ((u.current = e), !d.current)) {
                const e = a.location.pathname;
                d.current = window.setTimeout(() => {
                  a.location.pathname != e ||
                    (a.location.state && a.location.state[i] == u.current) ||
                    a.replace(
                      a.location.pathname,
                      Object.assign(Object.assign({}, a.location.state || {}), {
                        [i]: u.current,
                      }),
                    ),
                    (d.current = void 0);
                }, t);
              }
            },
            [a, i, t],
          );
        return (
          s.useEffect(() => {
            c.current = !0;
          }, []),
          [l, m]
        );
      }
      function ud(e, t = "smooth", r, n) {
        const i = (null != r ? r : 30) / 100,
          a = s.useRef(void 0),
          o = s.useRef(void 0),
          l = s.useCallback(() => {
            (a.current = void 0), (o.current = void 0);
          }, []),
          c = (function (e, t) {
            const r = s.useRef();
            return s.useCallback(
              (n, i) => {
                let a = "sine";
                r.current && (r.current.Cancel(), (a = "linear")),
                  void 0 === n && (n = e.current.scrollTop),
                  void 0 === i && (i = e.current.scrollLeft);
                let s = Math.max(
                  Math.abs(e.current.scrollTop - n),
                  Math.abs(e.current.scrollLeft - i),
                );
                if (s > 0) {
                  let o = Math.max(Math.min((s / 1e3) * 200, 500), 300);
                  (r.current = new Ws(
                    e.current,
                    { scrollTop: n, scrollLeft: i },
                    { msDuration: o, timing: a, onComplete: t },
                  )),
                    r.current.Start();
                } else t && t();
              },
              [e, t],
            );
          })(e, l);
        return s.useCallback(
          (r) => {
            var s, u;
            if (n && !n(r)) return !1;
            if (r.defaultPrevented) return !1;
            const {
                scrollTop: d,
                scrollHeight: m,
                clientHeight: _,
                scrollLeft: h,
                scrollWidth: p,
                clientWidth: g,
              } = e.current,
              b = null !== (s = a.current) && void 0 !== s ? s : d,
              f = null !== (u = o.current) && void 0 !== u ? u : h;
            switch (r.detail.button) {
              case is.DIR_UP:
                if (b <= 2) return !1;
                a.current = Math.max(0, b - _ * i);
                break;
              case is.DIR_DOWN:
                if (b >= m - _ - 2) return !1;
                a.current = Math.min(m - _, b + _ * i);
                break;
              case is.DIR_LEFT:
                if (f <= 2) return !1;
                o.current = Math.max(0, f - g * i);
                break;
              case is.DIR_RIGHT:
                if (f >= p - g - 2) return !1;
                o.current = Math.min(p - g, f + g * i);
                break;
              default:
                return !1;
            }
            return (
              t && "smooth" != t
                ? (e.current.scrollTo({
                    top: a.current,
                    left: o.current,
                    behavior: "auto",
                  }),
                  l())
                : c(a.current, o.current),
              !0
            );
          },
          [n, e, t, i, c, l],
        );
      }
      var dd = r(4735),
        md = r.n(dd);
      const _d = new ws("FocusNavigation").Debug;
      function hd(e) {
        const {
            className: t,
            rootClassName: r,
            render: n,
            children: i,
            NavigationManager: a,
          } = e,
          o = M(),
          l = s.useRef(),
          [c, u] = s.useState({
            bFocusWithin: !1,
            navTarget: null,
            prevTarget: null,
          }),
          d = (function (e) {
            const [t, r] = s.useState(null == e ? void 0 : e.Value);
            return (
              s.useEffect(() => {
                if (null == e) return () => {};
                const n = e.Subscribe(r);
                return (
                  t !== e.Value && r(e.Value),
                  null == n ? void 0 : n.Unsubscribe
                );
              }, [e]),
              t
            );
          })(null == a ? void 0 : a.GetShowDebugFocusRing()),
          m = s.useRef(),
          _ = Il(),
          h = s.useMemo(
            () => ({
              OnBlur: (e, t, r) => {
                u({ bFocusWithin: !1, navTarget: null, prevTarget: null });
              },
              OnFocus: (e, t, r) => {
                u({ bFocusWithin: !0, navTarget: t, prevTarget: null });
              },
              OnFocusChange: (e, t, r) => {
                u({ bFocusWithin: !0, navTarget: r, prevTarget: t });
              },
              OnForceMeasureFocusRing: () => {
                var e;
                null === (e = m.current) ||
                  void 0 === e ||
                  e.MeasureElementAndUpdate();
              },
            }),
            [u],
          ),
          { bFocusWithin: p, navTarget: g } = c;
        return o
          ? s.createElement(
              s.Fragment,
              null,
              s.createElement(
                "div",
                { className: xr(md().FocusRingRoot, r), ref: l },
                s.createElement(pd, {
                  ref: m,
                  className: xr(t, d && md().DebugFocusRing),
                  render: n,
                  bFocusWithin: p && (_ || d),
                  navTarget: g,
                  refContainer: l,
                  bDebug: d,
                }),
              ),
              s.createElement(pl.Provider, { value: h }, i),
            )
          : s.createElement(s.Fragment, null, i);
      }
      const pd = s.forwardRef(function (e, t) {
        const {
            className: r,
            render: n,
            bFocusWithin: i,
            navTarget: a,
            refContainer: o,
            bDebug: l,
          } = e,
          [c, u] = s.useState(a),
          [d, m] = s.useState(null),
          [_, h] = s.useState(!1),
          [p, g] = s.useState(!1),
          b = s.useRef(performance.now()),
          f = (0, s.useCallback)(() => {
            if (!a || !a.BWantsFocusRing()) return null != d && (m(null), !0);
            let e = a.GetBoundingRect();
            const t = o.current.getBoundingClientRect();
            if (l) {
              let t = a.Element;
              const r = t.ownerDocument.defaultView,
                n = (t) =>
                  "none" == r.getComputedStyle(t).display ||
                  (0 == e.width && 0 == e.height && 0 == e.x && 0 == e.y);
              for (; n(t) && t.parentElement; )
                (t = t.parentElement), (e = t.getBoundingClientRect());
              let i = a.Element != t;
              i != p &&
                (g(i),
                i &&
                  _d(
                    "Focused on hidden item: ",
                    a.Element,
                    ". Closest visible ancestor: ",
                    t,
                  ));
            }
            const r = {
              left: e.x - t.x,
              top: e.y - t.y,
              height: e.height,
              width: e.width,
            };
            return (
              (!d ||
                r.left != d.left ||
                r.top != d.top ||
                r.height != d.height ||
                r.width != d.width) &&
              (m(r), !0)
            );
          }, [a, o, m, d, p, g, l]);
        s.useImperativeHandle(t, () => ({ MeasureElementAndUpdate: f }), [f]);
        let v = i,
          y = d || {};
        a && o.current && (a.BWantsFocusRing() || (v = !1)),
          a != c && (u(a), (b.current = performance.now()), f(), _ && h(!1)),
          s.useEffect(() => {
            if (!v || performance.now() - b.current > 500) return;
            let e;
            const t = () => {
              e = requestAnimationFrame(() => {
                f() ? h(!0) : performance.now() - b.current <= 500 && t();
              });
            };
            return t(), () => cancelAnimationFrame(e);
          });
        const S = n || gd;
        return s.createElement(
          S,
          Object.assign({}, y, {
            visible: v && null !== d,
            key: b.current,
            className: xr(r, p && md().FocusRingOnHiddenItem),
            animationEnabled: !_,
            target: a,
          }),
        );
      });
      function gd(e) {
        const {
          className: t,
          visible: r,
          left: n,
          top: i,
          height: a,
          width: o,
          target: l,
          animationEnabled: c,
        } = e;
        if (!r) return null;
        const u = {
          left: n - 0 + "px",
          top: i - 0 + "px",
          height: a + "px",
          width: o + "px",
        };
        return s.createElement("div", {
          className: xr(md().FocusRing, c && md().Animated, t),
          style: u,
        });
      }
      var bd = r(8373),
        fd = r.n(bd);
      const vd = s.forwardRef(function (e, t) {
          var r;
          const {
              scrollDirection: n,
              scrollPaddingTop: a,
              scrollPaddingRight: o,
              scrollPaddingBottom: l,
              scrollPaddingLeft: c,
              className: u,
              children: d,
              style: m,
            } = e,
            _ = (0, i._T)(e, [
              "scrollDirection",
              "scrollPaddingTop",
              "scrollPaddingRight",
              "scrollPaddingBottom",
              "scrollPaddingLeft",
              "className",
              "children",
              "style",
            ]);
          let h;
          switch (n) {
            case "x":
              h = fd().ScrollX;
              break;
            case "both":
              h = fd().ScrollBoth;
              break;
            default:
              h = fd().ScrollY;
          }
          let p = Object.assign({}, m);
          (a || 0 === a) && (p.scrollPaddingTop = a),
            (o || 0 === o) && (p.scrollPaddingRight = o),
            (l || 0 === l) && (p.scrollPaddingBottom = l),
            (c || 0 === c) && (p.scrollPaddingLeft = c);
          const { ref: g, navRef: b } = (function () {
              const e = s.useRef();
              return {
                ref: cr(
                  s.useCallback(
                    (t) => {
                      window.requestAnimationFrame(() => {
                        var t, r, n;
                        (null === (t = e.current) || void 0 === t
                          ? void 0
                          : t.BFocusWithin()) &&
                          (null ===
                            (n =
                              null === (r = e.current.Node()) || void 0 === r
                                ? void 0
                                : r.GetLastFocusElement()) ||
                            void 0 === n ||
                            n.scrollIntoView({
                              behavior: "auto",
                              block: "nearest",
                            }));
                      });
                    },
                    [e],
                  ),
                ),
                navRef: e,
              };
            })(),
            f = Xt(b, _.navRef),
            v = Xt(g, t),
            y =
              null === (r = null == b ? void 0 : b.current) || void 0 === r
                ? void 0
                : r.Node().Tree.Controller;
          return s.createElement(
            Ol,
            Object.assign({}, _, {
              style: p,
              className: xr(u, fd().ScrollPanel, h),
              ref: v,
              navRef: f,
            }),
            s.createElement(hd, { NavigationManager: y }, d),
          );
        }),
        yd = s.forwardRef(function (e, t) {
          const { scrollStepPercent: r, scrollBehavior: n } = e,
            a = (0, i._T)(e, ["scrollStepPercent", "scrollBehavior"]),
            o = s.useRef(),
            l = ud(
              o,
              n,
              r,
              s.useCallback((e) => e.currentTarget != e.target, []),
            ),
            c = Xt(o, t);
          return s.createElement(
            vd,
            Object.assign({}, a, {
              onGamepadDirection: l,
              ref: c,
              scrollIntoViewType: oo.NoTransformSparseContent,
            }),
          );
        });
      s.forwardRef(function (e, t) {
        const { name: r, msScrollRestoreDelay: n, onScroll: a } = e,
          o = (0, i._T)(e, ["name", "msScrollRestoreDelay", "onScroll"]);
        return s.createElement(
          Sd,
          { name: r, msScrollRestoreDelay: n, parentOnScroll: a, refDiv: t },
          (e, t) =>
            s.createElement(vd, Object.assign({}, o, { onScroll: e, ref: t })),
        );
      }),
        s.forwardRef(function (e, t) {
          const { name: r, msScrollRestoreDelay: n, onScroll: a } = e,
            o = (0, i._T)(e, ["name", "msScrollRestoreDelay", "onScroll"]);
          return s.createElement(
            Sd,
            { name: r, msScrollRestoreDelay: n, parentOnScroll: a, refDiv: t },
            (e, t) =>
              s.createElement(
                yd,
                Object.assign({}, o, { onScroll: e, ref: t }),
              ),
          );
        });
      function Sd(e) {
        const {
            name: t,
            msScrollRestoreDelay: r,
            parentOnScroll: n,
            refDiv: i,
            children: a,
          } = e,
          [o, l] = cd(`${t}ScrollTop`, 250, 0),
          [u, d] = cd(`${t}ScrollLeft`, 250, 0),
          m = s.useRef(0),
          _ = s.useRef(0),
          h = s.useRef();
        let p = s.useCallback(
          (e) => {
            const { scrollTop: t, scrollLeft: r } = e.currentTarget;
            l(t), (m.current = t), d(r), (_.current = r), n && n(e);
          },
          [l, d, n],
        );
        s.useLayoutEffect(() => {
          const e = function () {
            c(
              h.current.scrollHeight >= o,
              `Element is ${h.current.scrollHeight} high but trying to restore scrollTop of ${o}, element may need more time to lay out.`,
              h.current,
            ),
              (m.current = o),
              (_.current = u),
              h.current.scrollTo({ top: o, left: u, behavior: "auto" }),
              h.current.dispatchEvent(new UIEvent("scroll"));
          };
          (o == m.current && u == _.current) ||
            (r ? window.setTimeout(e, r) : e());
        }, [o, u, r]);
        const g = Xt(h, i);
        return s.useMemo(() => a(p, g), [p, g, a]);
      }
      const wd = s.forwardRef(function (e, t) {
        const {
            onExplicitFocusLevelChanged: r,
            onOKButton: n,
            onCancelButton: a,
            navRef: o,
            focusable: l,
          } = e,
          c = (0, i._T)(e, [
            "onExplicitFocusLevelChanged",
            "onOKButton",
            "onCancelButton",
            "navRef",
            "focusable",
          ]),
          u = s.useRef(),
          { fnOnOKButton: d, fnOnCancelButton: m } = Cd({
            navRefPanel: u,
            onOKButton: n,
            onCancelButton: a,
            onExplicitFocusLevelChanged: r,
          }),
          _ = Xt(o, u);
        return s.createElement(
          Ol,
          Object.assign({}, c, {
            onOKButton: d,
            onCancelButton: m,
            navRef: _,
            ref: t,
            focusable: !1 !== l,
          }),
        );
      });
      s.forwardRef(function (e, t) {
        const { onOKButton: r, onCancelButton: n, navRef: a, focusable: o } = e,
          l = (0, i._T)(e, [
            "onOKButton",
            "onCancelButton",
            "navRef",
            "focusable",
          ]),
          c = s.useRef(),
          u = s.useRef(),
          d = s.useCallback((e, t) => e.FocusVisibleChild(), []),
          { fnOnOKButton: m, fnOnCancelButton: _ } = Cd({
            navRefPanel: c,
            onOKButton: r,
            onCancelButton: n,
            fnFocusChildren: d,
          }),
          h = Xt(u, t),
          p = Xt(a, c);
        return s.createElement(
          yd,
          Object.assign({}, l, {
            onOKButton: (e) => m(e),
            onCancelButton: _,
            navRef: p,
            ref: h,
            focusable: !1 !== o,
          }),
        );
      });
      function Cd(e) {
        let {
          navRefPanel: t,
          onOKButton: r,
          onCancelButton: n,
          onExplicitFocusLevelChanged: i,
          fnFocusChildren: a,
        } = e;
        a = null != a ? a : Bd;
        return {
          fnOnOKButton: s.useCallback(
            (e) => {
              const n = t.current;
              return n.BHasFocus() && a(n, e.detail.button)
                ? (i && i(!0), !0)
                : !!r && r(e);
            },
            [t, r, i, a],
          ),
          fnOnCancelButton: s.useCallback(
            (e) => {
              const r = t.current;
              return r.BFocusWithin() &&
                !r.BHasFocus() &&
                r.TakeFocus(e.detail.button)
                ? (i && i(!1), !0)
                : !!n && n(e);
            },
            [t, n, i],
          ),
        };
      }
      function Bd(e, t) {
        return e.ChildTakeFocus(t);
      }
      const Ed = 1;
      !(function (e) {
        if ("string" != typeof e) return NaN;
        const t = !e.includes("ms") && e.includes("s");
        let r = Number.parseFloat(e);
        t && (r *= 1e3);
      })(ld()["error-shake-duration"]);
      function Id(e, t) {
        return t < 0 ? 0 : t > 1 ? 1 : 0 == e ? t : Math.round(t / e) * e;
      }
      function Rd(e, t, r) {
        const n = e + r * (t - e);
        return Number.parseFloat(n.toFixed(10));
      }
      function Td(e, t, r) {
        return (r - e) / (t - e);
      }
      var Md;
      !(function (e) {
        (e[(e.None = 0)] = "None"),
          (e[(e.MouseDragging = 1)] = "MouseDragging"),
          (e[(e.TouchStart = 2)] = "TouchStart"),
          (e[(e.TouchDragging = 3)] = "TouchDragging");
      })(Md || (Md = {}));
      class Dd extends s.Component {
        get showHandle() {
          var e;
          return null === (e = this.props.showHandle) || void 0 === e || e;
        }
        get isKeyNavTarget() {
          var e;
          return null === (e = this.props.isKeyNavTarget) || void 0 === e || e;
        }
        get validRange() {
          return this.props.min < this.props.max;
        }
        get range() {
          return this.validRange ? this.props.max - this.props.min : 0;
        }
        get step() {
          var e;
          return Math.abs(
            null !== (e = this.props.step) && void 0 !== e ? e : Ed,
          );
        }
        get normalizedStep() {
          return this.step / this.range;
        }
        get normalizedDpadStep() {
          var e;
          const t =
              null !== (e = this.props.dpadStep) && void 0 !== e
                ? e
                : this.step,
            r = t > 0 ? t / this.range : 0.01;
          return Math.max(r, this.normalizedStep);
        }
        get normalizedClampedValue() {
          const e =
            null == this.props.value || isNaN(this.props.value)
              ? this.props.min
              : u(this.props.value, this.props.min, this.props.max);
          return Td(this.props.min, this.props.max, e);
        }
        get normalizedDefaultValue() {
          const e = this.props.resetValue;
          if (
            !(null == e || isNaN(e) || e < this.props.min || e > this.props.max)
          )
            return Td(this.props.min, this.props.max, e);
        }
        get normalizedSliderOrigin() {
          const e = u(0, this.props.min, this.props.max);
          return Td(this.props.min, this.props.max, e);
        }
        get CanResetToDefault() {
          return (
            null != this.props.resetValue &&
            this.props.value != this.props.resetValue
          );
        }
        get SliderChangeSource() {
          switch (this.m_eDragMode) {
            case Md.MouseDragging:
              return 1;
            case Md.TouchDragging:
            case Md.TouchStart:
              return 0;
            case Md.None:
              return;
          }
        }
        constructor(e) {
          super(e),
            (this.m_refSlider = s.createRef()),
            (this.m_refHandle = s.createRef()),
            (this.m_navRefSlider = s.createRef()),
            (this.m_sliderBounds = null),
            (this.m_handleBounds = null),
            (this.m_fZoom = 1),
            (this.m_eDragMode = Md.None),
            (this.m_vTouchStartPosition = { x: 0, y: 0 }),
            (this.m_fStartValue = null),
            (this.m_fLatestUserValue = null),
            (this.m_fLatestOnChangeValue = null),
            (this.m_bInnerSliderHasFocus = !1),
            (this.m_nRepeatCount = 0),
            (this.m_fStartValue = this.props.value),
            (this.m_fLatestUserValue = this.props.value),
            (this.m_fLatestOnChangeValue = this.props.value);
        }
        RecomputeSliderBounds() {
          var e, t;
          (this.m_sliderBounds =
            null === (e = this.m_refSlider.current) || void 0 === e
              ? void 0
              : e.getBoundingClientRect()),
            (this.m_handleBounds =
              null === (t = this.m_refHandle.current) || void 0 === t
                ? void 0
                : t.getBoundingClientRect());
        }
        SetDragMode(e) {
          var t, r, n, i, a, s, o, l;
          if (e != this.m_eDragMode) {
            switch (
              ((this.m_eDragMode = e),
              this.props.onChangeStart &&
                this.props.onChangeStart(this.SliderChangeSource),
              e)
            ) {
              case Md.MouseDragging:
              case Md.TouchDragging:
              case Md.TouchStart:
                this.RecomputeSliderBounds(),
                  (this.m_fStartValue = this.props.value),
                  (this.m_fLatestUserValue = this.props.value);
              case Md.None:
            }
            switch (e) {
              case Md.MouseDragging:
                null ===
                  (r =
                    null === (t = this.m_refSlider.current) || void 0 === t
                      ? void 0
                      : t.ownerDocument) ||
                  void 0 === r ||
                  r.addEventListener("mousemove", this.OnWindowMouseMove, {
                    passive: !1,
                  }),
                  null ===
                    (i =
                      null === (n = this.m_refSlider.current) || void 0 === n
                        ? void 0
                        : n.ownerDocument) ||
                    void 0 === i ||
                    i.addEventListener("mouseup", this.OnWindowMouseUp, {
                      passive: !1,
                    });
                break;
              case Md.TouchStart:
              case Md.TouchDragging:
                null ===
                  (s =
                    null === (a = this.m_refSlider.current) || void 0 === a
                      ? void 0
                      : a.ownerDocument) ||
                  void 0 === s ||
                  s.addEventListener("touchmove", this.OnWindowTouchMove, {
                    passive: !1,
                  }),
                  null ===
                    (l =
                      null === (o = this.m_refSlider.current) || void 0 === o
                        ? void 0
                        : o.ownerDocument) ||
                    void 0 === l ||
                    l.addEventListener("touchend", this.OnWindowTouchEnd, {
                      passive: !1,
                    });
                break;
              case Md.None:
                this.RemoveDocumentEventListeners();
            }
          }
        }
        OnGamepadDirection(e) {
          var t, r;
          if (this.props.disabled) return !1;
          let n = 0;
          if (e.detail.button == is.DIR_LEFT) n = -1;
          else {
            if (e.detail.button != is.DIR_RIGHT) return !1;
            n = 1;
          }
          e.detail.is_repeat
            ? this.m_nRepeatCount++
            : (this.m_nRepeatCount = 0);
          const i = 1 / this.normalizedDpadStep,
            a = Math.floor(
              u(
                (o = 10) + (((l = 30) - o) * (i - (s = 8))) / (25 - s),
                Math.min(o, l),
                Math.max(o, l),
              ),
            );
          var s, o, l;
          const c = Math.max(1, a / 2),
            d = u((this.m_nRepeatCount - c) / (a - c), 0, 1),
            m =
              d * d * (0.05 - this.normalizedDpadStep) +
              this.normalizedDpadStep,
            _ =
              0 == this.normalizedStep
                ? Math.round(m / this.normalizedDpadStep) *
                  this.normalizedDpadStep
                : Math.round(m / this.normalizedStep) * this.normalizedStep,
            h = Math.max(_, this.normalizedDpadStep) * n,
            p = Id(this.normalizedStep, this.normalizedClampedValue + h);
          let g = Rd(this.props.min, this.props.max, p);
          if (
            ((g = u(
              g,
              null !== (t = this.props.clampMin) && void 0 !== t
                ? t
                : this.props.min,
              null !== (r = this.props.clampMax) && void 0 !== r
                ? r
                : this.props.max,
            )),
            g != this.props.value)
          ) {
            const e = g > this.m_fLatestUserValue;
            Jo.PlayNavSound(e ? Zo.SliderUp : Zo.SliderDown),
              (this.m_fLatestUserValue = g),
              this.FireOnChange(g, 2);
          } else Jo.PlayNavSound(Zo.FailedNav);
          return !0;
        }
        FireOnChange(e, t) {
          this.m_fLatestOnChangeValue != e &&
            ((this.m_fLatestOnChangeValue = e),
            this.props.onChange && this.props.onChange(e, t));
        }
        ComputeNormalizedValueForMousePosition(e) {
          if (null == this.m_sliderBounds) return 0;
          const t = e / this.m_fZoom,
            r = this.m_sliderBounds.right - this.m_sliderBounds.left,
            n =
              null == this.m_handleBounds
                ? 0
                : this.m_handleBounds.right - this.m_handleBounds.left,
            i = r - n;
          return (t - this.m_sliderBounds.left - n / 2) / i;
        }
        BShouldTriggerHapticOnSnap() {
          const e = this.normalizedStep;
          return e > 0 && e >= 1 / 40;
        }
        PlayHaptic(e) {
          var t, r, n, i;
          null ===
            (i =
              null ===
                (n =
                  null ===
                    (r =
                      null === (t = this.m_refSlider.current) || void 0 === t
                        ? void 0
                        : t.ownerDocument.defaultView.SteamClient) ||
                  void 0 === r
                    ? void 0
                    : r.OpenVR) || void 0 === n
                ? void 0
                : n.TriggerOverlayHapticEffect) ||
            void 0 === i ||
            i.call(n, e, 0);
        }
        UpdateSliderValueForPosition(e) {
          var t, r;
          if (this.props.disabled || !this.m_refSlider.current) return;
          const n = this.ComputeNormalizedValueForMousePosition(e),
            i = Id(this.normalizedStep, n);
          let a = Rd(this.props.min, this.props.max, i);
          const s =
              null !== (t = this.props.clampMin) && void 0 !== t
                ? t
                : this.props.min,
            o =
              null !== (r = this.props.clampMax) && void 0 !== r
                ? r
                : this.props.max;
          if (((a = u(a, s, o)), a != this.props.value)) {
            const e = a > this.props.value,
              t = 0 == this.step;
            if (
              ((this.m_eDragMode == Md.None || !t) &&
                Jo.PlayNavSound(e ? Zo.SliderUp : Zo.SliderDown),
              this.m_eDragMode == Md.MouseDragging ||
                this.m_eDragMode == Md.TouchDragging)
            ) {
              let e = !1;
              if (
                (a == s || a == o) &&
                this.m_fLatestUserValue > s &&
                this.m_fLatestUserValue < o &&
                !e
              )
                this.PlayHaptic(il.SlidingEdge), (e = !0);
              else if (
                !this.BShouldTriggerHapticOnSnap() &&
                this.m_fLatestUserValue >= s &&
                this.m_fLatestUserValue <= o
              ) {
                const t = 40;
                Math.floor(((this.m_fLatestUserValue - s) / (o - s)) * t) ==
                  Math.floor(((a - s) / (o - s)) * t) ||
                  e ||
                  (this.PlayHaptic(il.Sliding), (e = !0));
              }
              t || e || (this.PlayHaptic(il.Snap), (e = !0));
            }
            (this.m_fLatestUserValue = a),
              this.FireOnChange(a, this.SliderChangeSource);
          }
        }
        OnWindowMouseMove(e) {
          this.UpdateSliderValueForPosition(e.clientX);
        }
        OnWindowMouseUp(e) {
          this.m_eDragMode != Md.None && this.Complete();
        }
        OnMouseDown(e) {
          0 == e.button &&
            (this.props.disabled ||
              (e.preventDefault(),
              this.SetDragMode(Md.MouseDragging),
              this.UpdateSliderValueForPosition(e.clientX)));
        }
        OnTouchStart(e) {
          if (this.props.disabled || 1 != e.touches.length) return;
          e.preventDefault();
          const t = this.ComputeNormalizedValueForMousePosition(
            e.touches[0].clientX,
          );
          t < 0 ||
            t > 1 ||
            (this.SetDragMode(Md.TouchStart),
            (this.m_vTouchStartPosition = {
              x: e.touches[0].clientX,
              y: e.touches[0].clientY,
            }));
        }
        OnWindowTouchMove(e) {
          var t;
          if (1 == e.touches.length) {
            switch (this.m_eDragMode) {
              case Md.TouchStart:
                const r = { x: e.touches[0].clientX, y: e.touches[0].clientY };
                if (
                  (function (e, t) {
                    const r = ks(e, t);
                    return Math.sqrt(Ls(r, r));
                  })(this.m_vTouchStartPosition, r) >= 10
                ) {
                  const e = ks(this.m_vTouchStartPosition, r);
                  Math.abs(e.x) > Math.abs(e.y)
                    ? (this.SetDragMode(Md.TouchDragging),
                      null === (t = this.m_refSlider.current) ||
                        void 0 === t ||
                        t.focus())
                    : this.SetDragMode(Md.None);
                }
                break;
              case Md.TouchDragging:
                this.UpdateSliderValueForPosition(e.touches[0].clientX);
            }
            e.preventDefault();
          }
        }
        OnWindowTouchEnd(e) {
          this.m_eDragMode != Md.None && this.Complete();
        }
        Complete() {
          const e = this.m_eDragMode != Md.None;
          this.FireOnChange(this.m_fLatestUserValue, this.SliderChangeSource),
            this.props.onChangeComplete &&
              this.props.onChangeComplete(
                this.m_fLatestUserValue,
                this.SliderChangeSource,
              ),
            this.SetDragMode(Md.None);
          const t = 0 == this.step;
          if (this.m_fLatestUserValue != this.m_fStartValue && t && e) {
            const e = this.m_fLatestUserValue > this.m_fStartValue;
            Jo.PlayNavSound(e ? Zo.SliderUp : Zo.SliderDown);
          }
        }
        RemoveDocumentEventListeners() {
          var e, t, r, n, i, a, s, o;
          null ===
            (t =
              null === (e = this.m_refSlider.current) || void 0 === e
                ? void 0
                : e.ownerDocument) ||
            void 0 === t ||
            t.removeEventListener("mousemove", this.OnWindowMouseMove),
            null ===
              (n =
                null === (r = this.m_refSlider.current) || void 0 === r
                  ? void 0
                  : r.ownerDocument) ||
              void 0 === n ||
              n.removeEventListener("touchmove", this.OnWindowTouchMove),
            null ===
              (a =
                null === (i = this.m_refSlider.current) || void 0 === i
                  ? void 0
                  : i.ownerDocument) ||
              void 0 === a ||
              a.removeEventListener("mouseup", this.OnWindowMouseUp),
            null ===
              (o =
                null === (s = this.m_refSlider.current) || void 0 === s
                  ? void 0
                  : s.ownerDocument) ||
              void 0 === o ||
              o.removeEventListener("touchend", this.OnWindowTouchEnd);
        }
        componentDidMount() {
          this.m_fZoom = rr(this.m_refSlider.current);
        }
        componentWillUnmount() {
          this.RemoveDocumentEventListeners();
        }
        BlurInnerSlider() {
          var e;
          null === (e = this.m_navRefSlider.current) ||
            void 0 === e ||
            e.ParentTakeFocus();
        }
        OnInnerSliderFocus() {
          (this.m_bInnerSliderHasFocus = !0),
            (this.m_fStartValue = this.props.value);
        }
        OnInnerSliderBlur() {
          (this.m_bInnerSliderHasFocus = !1),
            this.m_fStartValue != this.m_fLatestUserValue && this.Complete();
        }
        ResetToDefault() {
          if (!this.CanResetToDefault || this.m_eDragMode != Md.None) return;
          let e;
          (this.m_fLatestUserValue = this.props.resetValue),
            this.FireOnChange(this.props.resetValue, 4),
            this.m_bInnerSliderHasFocus
              ? (e = this.props.resetValue > this.m_fLatestUserValue)
              : ((e = this.props.resetValue > this.props.value),
                this.props.onChangeComplete &&
                  this.props.onChangeComplete(this.props.resetValue, 4)),
            Jo.PlayNavSound(e ? Zo.SliderUp : Zo.SliderDown);
        }
        OnContextMenu(e) {
          if (null != this.props.resetValue) {
            p_(
              s.createElement(
                t_,
                null,
                s.createElement(
                  r_,
                  {
                    disabled: !this.CanResetToDefault,
                    onSelected: this.ResetToDefault,
                  },
                  We("#ResetToDefault"),
                ),
              ),
              e,
            );
          }
        }
        render() {
          var e, t, r;
          const n =
              null !== (e = this.props.showBookendLabels) && void 0 !== e && e,
            i =
              null !== (t = this.props.notchTicksVisible) && void 0 !== t
                ? t
                : !n,
            a = n ? 2 : this.props.notchCount,
            o = [
              { notchIndex: 0, label: `${this.props.min}` },
              { notchIndex: 1, label: `${this.props.max}` },
            ],
            l = n ? o : this.props.notchLabels,
            c = null === (r = this.props.focusable) || void 0 === r || r,
            u = this.normalizedDefaultValue,
            d = this.normalizedSliderOrigin,
            m = null != u,
            _ = {};
          this.CanResetToDefault && (_[is.SECONDARY] = We("#ResetToDefault"));
          let h = ld().SliderHandle,
            p = ld().SliderHandleContainer;
          return (
            "verticalline" == this.props.handleType
              ? ((h = ld().VerticalLineSliderHandle),
                (p = ld().VerticalLineSliderHandleContainer))
              : ("leftparen" != this.props.handleType &&
                  "rightparen" != this.props.handleType) ||
                ((h = xr(
                  ld().ParenSliderHandle,
                  "leftparen" == this.props.handleType ? ld().Left : ld().Right,
                )),
                (p = xr(
                  ld().ParenSliderHandleContainer,
                  "leftparen" == this.props.handleType ? ld().Left : ld().Right,
                ))),
            s.createElement(
              wd,
              {
                noFocusRing: !0,
                className: xr(
                  ld().SliderControlPanelGroup,
                  "SliderControlPanelGroup",
                ),
                navRef: this.props.navRef,
                onMouseDown: (e) => this.OnMouseDown(e.nativeEvent),
                onTouchStart: (e) => this.OnTouchStart(e.nativeEvent),
                onOKActionDescription: this.props.disabled
                  ? null
                  : We("#Slider_AdjustSlider"),
                focusable: c,
                childFocusDisabled: this.props.disabled || !c,
                onContextMenu: this.OnContextMenu,
                onOKButton: this.props.disabled
                  ? () => Jo.PlayNavSound(Zo.FailedNav)
                  : null,
                onSecondaryButton: this.CanResetToDefault
                  ? this.ResetToDefault
                  : void 0,
                onSecondaryActionDescription: this.CanResetToDefault
                  ? We("#ResetToDefault")
                  : void 0,
                actionDescriptionMap: _,
              },
              s.createElement(
                Rl,
                {
                  className: xr(
                    ld().SliderControlAndNotches,
                    this.props.disabled && ld().Disabled,
                    m && ld().WithDefaultValue,
                  ),
                  focusable: this.isKeyNavTarget,
                  noFocusRing: !0,
                  onFocus: this.OnInnerSliderFocus,
                  onBlur: this.OnInnerSliderBlur,
                  style: {
                    "--normalized-slider-value": this.normalizedClampedValue,
                    "--normalized-slider-default-value": u,
                    "--normalized-slider-origin": d,
                  },
                  ref: Zt(this.m_refSlider, this.props.innerRef),
                  navRef: this.m_navRefSlider,
                  onGamepadDirection: this.OnGamepadDirection,
                  onOKButton: this.BlurInnerSlider,
                  onOKActionDescription: null,
                  onCancelButton: this.BlurInnerSlider,
                  onCancelActionDescription: We("#ActionButtonLabelDone"),
                },
                s.createElement(
                  "div",
                  { className: ld().SliderControl },
                  s.createElement("div", {
                    style: this.props.trackStyleOverride,
                    className: xr(
                      ld().SliderTrack,
                      null != this.props.notchCount &&
                        i &&
                        ld().SliderHasNotches,
                      {
                        [ld().SliderTrackDark]: "dark" === this.props.trackTone,
                      },
                    ),
                  }),
                  m &&
                    s.createElement(
                      "div",
                      { className: ld().DefaultValueTickContainer },
                      s.createElement(
                        "div",
                        { className: ld().DefaultValueTick },
                        s.createElement(Gu, { direction: "down" }),
                      ),
                    ),
                  this.validRange &&
                    null != this.props.value &&
                    !isNaN(this.props.value) &&
                    this.showHandle &&
                    s.createElement(
                      "div",
                      { className: p },
                      s.createElement(
                        "div",
                        { className: h, ref: this.m_refHandle },
                        "leftparen" == this.props.handleType &&
                          s.createElement(Wu, null),
                        "rightparen" == this.props.handleType &&
                          s.createElement(ju, null),
                      ),
                    ),
                ),
                s.createElement(Ad, {
                  notchCount: a,
                  notchLabels: l,
                  sliderValue: this.normalizedClampedValue,
                  notchTicksVisible: i,
                }),
              ),
            )
          );
        }
      }
      function Ad(e) {
        let {
            sliderValue: t,
            notchCount: r,
            notchLabels: n,
            notchTicksVisible: i,
          } = e,
          a = null != n ? n : [];
        if (!r) return null;
        let o = !1,
          l = [];
        for (let e = 0; e < r; ++e) {
          let n = a.find((t) => t.notchIndex == e);
          n && (o = !0),
            l.push(
              s.createElement(Od, {
                key: e,
                notchIndex: e,
                sliderValue: t,
                notchLabel: n,
                notchCount: r,
                notchTicksVisible: i,
              }),
            );
        }
        return s.createElement(
          Ol,
          {
            className: xr(ld().SliderNotchContainer, o && ld().HasNotchLabels),
          },
          l,
        );
      }
      function Od(e) {
        var t;
        const r = e.notchIndex <= (e.notchCount - 1) * e.sliderValue,
          n = e.notchCount <= 3 && !e.notchTicksVisible,
          i = n && 0 == e.notchIndex,
          a = n && e.notchIndex == e.notchCount - 1;
        return s.createElement(
          "div",
          { className: xr(ld().SliderNotch, n && ld().AlignToEnds) },
          e.notchTicksVisible &&
            s.createElement("div", {
              className: xr(ld().SliderNotchTick, r && ld().TickActive),
            }),
          e.notchLabel &&
            s.createElement(
              "div",
              {
                className: xr(
                  ld().SliderNotchLabel,
                  i && ld().AlignToLeft,
                  a && ld().AlignToRight,
                ),
              },
              null === (t = e.notchLabel) || void 0 === t ? void 0 : t.label,
            ),
        );
      }
      (0, i.gn)([ye], Dd.prototype, "RecomputeSliderBounds", null),
        (0, i.gn)([ye], Dd.prototype, "SetDragMode", null),
        (0, i.gn)([ye], Dd.prototype, "OnGamepadDirection", null),
        (0, i.gn)([ye], Dd.prototype, "UpdateSliderValueForPosition", null),
        (0, i.gn)([ye], Dd.prototype, "OnWindowMouseMove", null),
        (0, i.gn)([ye], Dd.prototype, "OnWindowMouseUp", null),
        (0, i.gn)([ye], Dd.prototype, "OnMouseDown", null),
        (0, i.gn)([ye], Dd.prototype, "OnTouchStart", null),
        (0, i.gn)([ye], Dd.prototype, "OnWindowTouchMove", null),
        (0, i.gn)([ye], Dd.prototype, "OnWindowTouchEnd", null),
        (0, i.gn)([ye], Dd.prototype, "Complete", null),
        (0, i.gn)([ye], Dd.prototype, "BlurInnerSlider", null),
        (0, i.gn)([ye], Dd.prototype, "OnInnerSliderFocus", null),
        (0, i.gn)([ye], Dd.prototype, "OnInnerSliderBlur", null),
        (0, i.gn)([ye], Dd.prototype, "ResetToDefault", null),
        (0, i.gn)([ye], Dd.prototype, "OnContextMenu", null);
      s.forwardRef(function (e, t) {
        const {
          label: r,
          labelIndex: n,
          xOffset: i,
          onResize: a,
          OnMouseDown: o,
          OnTouchStart: l,
        } = e;
        s.useEffect(() => {
          a(n);
        }, [a, n]);
        const c = Xt(
          cr(
            s.useCallback(
              (e) => {
                a(n);
              },
              [a, n],
            ),
          ),
          t,
        );
        return s.createElement(
          "div",
          {
            className: ld().CompoundSliderSubSliderLabel,
            ref: c,
            onMouseDown: o,
            onTouchStart: l,
            style: { transform: `translateX(${i}px)` },
          },
          s.createElement(
            "div",
            { className: ld().CompoundSliderSubSliderLabelInternal },
            r,
          ),
        );
      });
      const Fd = s.forwardRef(function (e, t) {
        const { value: r, onChange: n, disabled: i, navRef: a } = e;
        return s.createElement(
          Rl,
          {
            noFocusRing: !0,
            className: xr(td().Toggle, {
              [td().Disabled]: !!i,
              [td().On]: !!r,
            }),
            onClick: () => {
              if (!i && n) {
                const e = !r;
                n(e), Jo.PlayNavSound(e ? Zo.ToggleOn : Zo.ToggleOff);
              }
            },
            ref: t,
            navRef: a,
          },
          s.createElement("div", { className: td().ToggleRail }),
          s.createElement("div", { className: td().ToggleSwitch }),
        );
      });
      (0, i.gn)(
        [ye],
        class extends Lc {
          OnToggleChange(e) {
            this.props.disabled || e === this.checked || this.Toggle();
          }
          render() {
            const e = !!this.props.disabled,
              { actionDescriptions: t, gamepadEvents: r } = bl(this.props);
            return s.createElement(
              rd,
              Object.assign(
                {
                  className: this.props.className,
                  disabled: e,
                  label: this.props.label,
                  icon: this.props.icon,
                  description: this.props.description,
                  explainer: this.props.explainer,
                  explainerTitle: this.props.explainerTitle,
                  padding: this.props.padding,
                  bottomSeparator: this.props.bottomSeparator,
                  highlightOnFocus: this.props.highlightOnFocus,
                  inlineWrap: "keep-inline",
                  onContextMenu: this.props.onContextMenu,
                  actionDescriptionMap: t,
                },
                r,
              ),
              s.createElement(Fd, {
                onChange: this.OnToggleChange,
                value: this.checked,
                disabled: e,
                navRef: this.props.navRef,
              }),
            );
          }
        }.prototype,
        "OnToggleChange",
        null,
      );
      var Ld,
        kd = r(1809),
        Nd = r.n(kd),
        Pd = r(2472),
        Gd = r(1726);
      function xd(e) {
        const {
            childrenKey: t,
            childrenClasses: r,
            children: n,
            directionClass: i,
            animate: a = !0,
          } = e,
          o = xr(Nd().TransitionGroup, i);
        return s.createElement(
          Pd.Z,
          { className: o, appear: !1, enter: a, exit: a },
          s.createElement(Ud, { key: t, childrenClasses: r }, n),
        );
      }
      function Ud(e) {
        const { sizeClass: t, children: r, childrenClasses: n } = e,
          a = (0, i._T)(e, ["sizeClass", "children", "childrenClasses"]),
          [o, l, c, u] = (function () {
            let e = s.useRef(),
              t = s.useRef();
            s.useLayoutEffect(() => {
              let r = e.current;
              if (!r || t.current) return;
              t.current = {
                element: r,
                activeProps: new Set(),
                bExiting: !1,
                fnDone: null,
              };
              let n = t.current,
                i = (e) => {
                  e.target == r && n.activeProps.add(e.propertyName);
                };
              r.addEventListener("transitionrun", i, !1);
              let a = (e) => {
                e.target == r &&
                  (n.activeProps.delete(e.propertyName),
                  n.fnDone &&
                    0 == n.activeProps.size &&
                    n.bExiting &&
                    n.fnDone());
              };
              r.addEventListener("transitionend", a, !1),
                r.addEventListener("transitioncancel", a, !1);
            }, []);
            let r = s.useCallback(
                (e) => {
                  t.current ? (t.current.fnDone = e) : e();
                },
                [t],
              ),
              n = s.useCallback(() => {
                t.current && (t.current.bExiting = !1);
              }, [t]),
              i = s.useCallback(() => {
                t.current && (t.current.bExiting = !0);
              }, [t]);
            return [e, r, n, i];
          })(),
          d = s.useRef(!0),
          m = s.useCallback(() => d.current, [d]),
          _ = s.useCallback(() => {
            (d.current = !0), c();
          }, [c]),
          h = s.useCallback(() => {
            (d.current = !1), u();
          }, [u]),
          p = e.childrenClasses,
          g = {
            enter: p.enterStart,
            enterActive: p.enterEnd,
            exit: p.exitStart,
            exitActive: p.exitEnd,
          };
        return o.current && !o.current.ownerDocument.defaultView
          ? null
          : s.createElement(
              Gd.Z,
              Object.assign(
                {
                  nodeRef: o,
                  classNames: g,
                  in: !0,
                  timeout: 1e4,
                  addEndListener: l,
                  onEntering: _,
                  onExiting: h,
                },
                a,
              ),
              s.createElement(
                "div",
                { ref: o, className: xr(Nd().ContentWrapper, t, p.base) },
                s.createElement(
                  Ol,
                  { className: t, fnCanTakeFocus: m },
                  e.children,
                ),
              ),
            );
      }
      function zd(e, t) {
        return {
          base: t,
          enterStart: e.Enter,
          enterEnd: e.EnterActive,
          exitStart: e.Exit,
          exitEnd: e.ExitActive,
        };
      }
      !(function (e) {
        (e[(e.None = 0)] = "None"),
          (e[(e.Left = 1)] = "Left"),
          (e[(e.Right = 2)] = "Right"),
          (e[(e.Up = 3)] = "Up"),
          (e[(e.Down = 4)] = "Down");
      })(Ld || (Ld = {}));
      var Wd = r(6047),
        jd = r.n(Wd);
      const Vd = s.createContext(null);
      function Hd(e) {
        const t = s.useContext(Vd),
          r = T().IN_VR,
          { title: n, icon: a, active: o } = e,
          l = (0, i._T)(e, ["title", "icon", "active"]);
        return s.createElement(
          Ol,
          Object.assign(
            {
              preferredFocus: o,
              navRef: o ? t : null,
              noFocusRing: !0,
              onActivate: r ? void 0 : l.onClick,
              onFocus: r ? void 0 : l.onClick,
            },
            l,
          ),
          a && s.createElement("div", { className: jd().PageListItem_Icon }, a),
          s.createElement("div", { className: jd().PageListItem_Title }, n),
        );
      }
      function qd(e) {
        return s.createElement("div", { className: jd().Separator });
      }
      s.forwardRef(function (e, t) {
        const r = s.useRef(),
          [n, i] = s.useState(!0);
        s.useEffect(() => {
          var t;
          (n && e.bNoInitialLeftColumnFocus) ||
            null === (t = r.current) ||
            void 0 === t ||
            t.TakeFocus(),
            i(!1);
        }, [e.page, e.bNoInitialLeftColumnFocus, n]);
        const a = Boolean(e.showTitle);
        return s.createElement(
          Vd.Provider,
          { value: r },
          s.createElement(
            Qu,
            Object.assign({}, e, {
              stylesheet: jd(),
              showTitle: a,
              renderPageListItem: Hd,
              renderPageListSeparator: qd,
              renderPageAnimation: Kd,
            }),
          ),
        );
      });
      function Kd(e) {
        let t = Ld.None;
        "up" == e.direction
          ? (t = Ld.Up)
          : "down" == e.direction && (t = Ld.Down);
        let r =
          ((n = jd()),
          (i = t) == Ld.Left
            ? n.Left
            : i == Ld.Right
              ? n.Right
              : i == Ld.Up
                ? n.Up
                : i == Ld.Down
                  ? n.Down
                  : "");
        var n, i;
        return s.createElement(
          xd,
          {
            childrenKey: e.activePage.identifier,
            childrenClasses: zd(jd(), jd().ContentTransition),
            directionClass: r,
            animate: t != Ld.None,
          },
          e.children,
        );
      }
      const $d = s.createContext({ body_class: "" });
      function Yd() {
        return s.useContext($d);
      }
      function Qd(e, t, r) {
        const n = s.useRef(),
          [i, a] = s.useState(void 0),
          o = Yd();
        return (
          n.current ||
            (n.current = new Xd(
              e,
              (function (e, t) {
                return Object.assign(Object.assign({}, e), {
                  body_class: xr(e.body_class, t.body_class),
                });
              })(t, o),
              a,
            )),
          (n.current.m_callbacks = r),
          s.useEffect(() => {
            if (!n.current.params.bNoInitialShow) {
              let e = n.current.params.bNoFocusOnShow
                ? be.k_EWindowBringToFrontWithoutForcingOS
                : be.k_EWindowBringToFrontAndForceOS;
              n.current.Show(e);
            }
            return () => {
              var e, t;
              (n.current.m_callbacks = void 0),
                (null === (e = n.current.window) || void 0 === e
                  ? void 0
                  : e.SteamClient.Window.SetHideOnClose) &&
                  (null === (t = n.current.window) ||
                    void 0 === t ||
                    t.SteamClient.Window.SetHideOnClose(!1)),
                n.current.Close();
            };
          }, []),
          s.useEffect(() => {
            var e, r;
            (null === (e = n.current.window) || void 0 === e
              ? void 0
              : e.SteamClient.Window.SetHideOnClose) &&
              (null === (r = n.current.window) ||
                void 0 === r ||
                r.SteamClient.Window.SetHideOnClose(t.bHideOnClose));
          }, [t.bHideOnClose]),
          { popup: n.current.window, element: i, popupObj: n.current }
        );
      }
      class Xd extends Ko {
        constructor(e, t, r) {
          super(e, t), (this.m_fnReadyToRender = r);
        }
        DoCallback(e) {
          this.m_callbacks &&
            this.m_callbacks[e] &&
            this.m_callbacks[e](this.m_popup, this.m_element);
        }
        UpdateParamsBeforeShow(e) {
          var t;
          return (
            null === (t = this.m_callbacks) || void 0 === t
              ? void 0
              : t.updateParamsBeforeShow
          )
            ? this.m_callbacks.updateParamsBeforeShow(e)
            : e;
        }
        OnCreate() {
          var e;
          (null === (e = this.m_callbacks) || void 0 === e
            ? void 0
            : e.onCreate) &&
            this.m_callbacks.onCreate(this.m_popup, this.m_element);
        }
        OnBlur() {
          this.DoCallback("onBlur");
        }
        OnFocus() {
          this.DoCallback("onFocus");
        }
        OnLoad() {
          this.DoCallback("onLoad");
        }
        OnResize() {
          this.DoCallback("onResize");
        }
        OnClose() {
          this.DoCallback("onClose");
        }
        Render(e, t) {
          this.m_fnReadyToRender(t);
        }
      }
      class Zd {
        constructor() {
          this.key = "Modal_" + Zd.sm_lastKey++;
        }
      }
      Zd.sm_lastKey = 0;
      class Jd extends Zd {
        constructor(e) {
          super(), (this.ModalUpdatedCallback = new Se()), (this.element = e);
        }
        UpdateModal(e) {
          (this.element = e), this.ModalUpdatedCallback.Dispatch();
        }
      }
      class em extends Zd {
        constructor() {
          super(),
            (this.m_OnElementReadyCallbacks = new Se()),
            (this.m_OnActiveModalCallbacks = new Se());
        }
        get OnElementReadyCallbacks() {
          return this.m_OnElementReadyCallbacks;
        }
        get OnModalActiveCallbacks() {
          return this.m_OnActiveModalCallbacks;
        }
        RefModalElement(e) {
          this.m_OnElementReadyCallbacks.Dispatch(e);
        }
        SetActive(e) {
          this.m_OnActiveModalCallbacks.Dispatch(e);
        }
      }
      function tm(e) {
        const { popup: t, onMaximize: r, bOSX: n } = e,
          [i, a] = s.useState(),
          o = s.useCallback(() => {
            if (mo(t, "Window.IsWindowMaximized"))
              t.SteamClient.Window.IsWindowMaximized((e) => {
                e != i && a(e);
              });
            else if (t && t.screen) {
              let e = (function (e) {
                if (!e || !e.screen) return !1;
                let t = e.screen.availWidth - e.innerWidth,
                  r = e.screen.availHeight - e.innerHeight,
                  n = 0 === t && 0 === r;
                return n;
              })(t);
              e != i && a(e);
            }
          }, [t, i]);
        s.useEffect(
          () => (
            o(),
            t.addEventListener("resize", o),
            () => t.removeEventListener("resize", o)
          ),
          [t, o],
        );
        const l = s.useCallback(() => {
          r
            ? r()
            : mo(t, "Window.ToggleMaximize") &&
              t.SteamClient.Window.ToggleMaximize(),
            o();
        }, [t, r, o]);
        return s.createElement(
          im,
          {
            className: xr(
              i ? "restoreButton" : "maximizeButton",
              "windowControlButton",
            ),
            onClick: l,
          },
          !n && (i ? s.createElement(lc, null) : s.createElement(sc, null)),
        );
      }
      function rm(e) {
        const { popup: t, onMinimize: r, bOSX: n } = e,
          i = s.useCallback(() => {
            t.SteamClient.Window.Minimize();
          }, [t]);
        return s.createElement(
          im,
          {
            className: "minimizeButton windowControlButton",
            onClick: null != r ? r : i,
          },
          !n && s.createElement(oc, null),
        );
      }
      function nm(e) {
        const { popup: t, onClose: r, bOSX: n } = e,
          i = s.useCallback(() => {
            t &&
              (mo(t, "Window.Close")
                ? t.SteamClient.Window.Close()
                : t.close());
          }, [t]);
        return s.createElement(
          im,
          {
            className: "closeButton windowControlButton",
            onClick: null != r ? r : i,
          },
          !n && s.createElement(tc, null),
        );
      }
      function im(e) {
        const { className: t, onClick: r, children: n } = e,
          i = s.useCallback(
            (e) => {
              r && (e.stopPropagation(), r(e));
            },
            [r],
          );
        return s.createElement(
          "div",
          { className: xr("title-area-icon", t), onClick: i },
          s.createElement("div", { className: "title-area-icon-inner" }, n),
        );
      }
      function am(e) {
        const {
            className: t,
            style: r,
            hideActions: n,
            hideClose: i,
            hideMin: a,
            hideMax: o,
            bOSX: l = A(),
            bForceWindowFocused: c,
            onMinimize: u,
            onMaximize: d,
            onClose: m,
            extraActions: _,
            popup: h,
            children: p,
          } = e,
          g = (function (e, t = 100) {
            const [r, n] = s.useState(!1),
              i = s.useCallback(() => n(!0), [n]),
              a = s.useCallback(() => n(!1), [n]);
            return (
              s.useEffect(
                () =>
                  e
                    ? (e.addEventListener("focus", i),
                      e.addEventListener("blur", a),
                      () => {
                        e.removeEventListener("focus", i),
                          e.removeEventListener("blur", a);
                      })
                    : void 0,
                [e, i, a],
              ),
              sr(r, t)
            );
          })(h);
        return s.createElement(
          "div",
          {
            className: xr(
              "TitleBar",
              "title-area",
              l && "OSX",
              (g || c) && "WindowFocus",
              t,
            ),
            style: r,
          },
          s.createElement("div", { className: "title-area-highlight" }),
          s.createElement("div", { className: "title-area-children" }, p),
          !n &&
            s.createElement(
              s.Fragment,
              null,
              _ &&
                s.createElement(
                  "div",
                  { className: "title-bar-actions extra-actions" },
                  _,
                ),
              s.createElement(
                "div",
                { className: "title-bar-actions window-controls" },
                !i && s.createElement(nm, { popup: h, onClose: m, bOSX: l }),
                !o && s.createElement(tm, { popup: h, onMaximize: d, bOSX: l }),
                !a && s.createElement(rm, { popup: h, onMinimize: u, bOSX: l }),
              ),
            ),
        );
      }
      function sm(e) {
        const { Modal: t } = e,
          { name: r, modalProps: n, options: i } = t,
          a = Ho().ownerWindow,
          { popup: o, element: l } = Qd(
            r,
            {
              title: n.strTitle,
              html_class:
                "client_chat_frame fullheight ModalDialogPopup LegacyPopup " +
                (n.className || ""),
              body_class: "fullheight ModalDialogBody",
              popup_class: "fullheight popup_chat_frame",
              owner_window: void 0,
              replace_existing_popup: !0,
              target_browser: n.browserContext,
              availscreenwidth: a.screen.availWidth,
              availscreenheight: a.screen.availHeight,
              bModal: n.bHideMainWindowForPopouts,
            },
            {
              updateParamsBeforeShow: (e) =>
                (function (e, t, r, n) {
                  var i, a;
                  let s,
                    o,
                    l,
                    c = t.popupWidth || 500,
                    u = t.popupHeight || 400;
                  if (
                    w.IN_CLIENT &&
                    (null ===
                      (a =
                        null === (i = null == n ? void 0 : n.SteamClient) ||
                        void 0 === i
                          ? void 0
                          : i.Browser) || void 0 === a
                      ? void 0
                      : a.GetBrowserID)
                  )
                    l = n.SteamClient.Browser.GetBrowserID();
                  else {
                    let e = n.screen;
                    (s = (e.availWidth - c) / 2), (o = (e.availHeight - u) / 2);
                    let t = e;
                    void 0 !== t.availLeft &&
                      void 0 !== t.availTop &&
                      ((s += t.availLeft), (o += t.availTop));
                  }
                  return Object.assign(Object.assign({}, e), {
                    dimensions: { width: c, height: u, left: s, top: o },
                    center_on_window: r.bCenterOnWindow ? n : void 0,
                    window_opener_id: l,
                  });
                })(e, n, i, a),
              onClose: () => n.fnOnClose && n.fnOnClose(),
            },
          ),
          c = null == i ? void 0 : i.bHideActions,
          u =
            "number" == typeof (null == i ? void 0 : i.nDragAreaHeight)
              ? { height: i.nDragAreaHeight }
              : void 0;
        return l
          ? Gc.createPortal(
              s.createElement(
                qo,
                { ownerWindow: o },
                s.createElement(
                  "div",
                  { className: "PopupFullWindow", onContextMenu: o_ },
                  s.createElement(am, {
                    hideMin: !0,
                    hideMax: !0,
                    popup: o,
                    hideActions: c,
                    style: u,
                  }),
                  s.createElement(
                    Dm,
                    {
                      browserInfo: n.browserContext,
                      bCenterPopupsOnWindow: i.bCenterOnWindow,
                    },
                    t.element,
                  ),
                ),
              ),
              l,
            )
          : null;
      }
      (0, i.gn)([ye], em.prototype, "RefModalElement", null);
      class om extends Jd {
        constructor(e, t, r, n) {
          super(t),
            (this.m_strName = e),
            (this.m_modalProps = r),
            (this.m_options = n);
        }
        get name() {
          return this.m_strName;
        }
        get modalProps() {
          return this.m_modalProps;
        }
        get options() {
          return this.m_options;
        }
      }
      function lm(e) {
        const { ModalManager: t } = e,
          [r, n] = s.useState(void 0),
          [i, a] = s.useState(!0),
          o = s.useRef(0),
          l = s.useCallback(() => {
            a(!0);
          }, []);
        s.useEffect(() => t.RegisterMeasureModalCallback(l).Unregister, [t, l]),
          s.useLayoutEffect(() => {
            r || (n(t.TakeMeasureModalRequest()), a(!1));
          }, [t, r, i]);
        const c = s.useCallback((e) => {
          o.current++, n((t) => (t === e ? void 0 : t));
        }, []);
        return r
          ? s.createElement(cm, {
              key: o.current,
              onMeasureComplete: c,
              request: r,
            })
          : null;
      }
      function cm(e) {
        const [t, r] = s.useState(),
          n = Ho().ownerWindow;
        return (
          s.useLayoutEffect(() => {
            const e = n.document.body,
              t = n.document.createElement("div");
            return (
              (t.style.position = "absolute"),
              (t.style.visibility = "hidden"),
              e.appendChild(t),
              r(t),
              () => {
                e.removeChild(t);
              }
            );
          }, [n]),
          t
            ? Gc.createPortal(
                s.createElement(um, Object.assign({}, e, { elContainer: t })),
                t,
              )
            : null
        );
      }
      function um(e) {
        const { elContainer: t, onMeasureComplete: r, request: n } = e;
        return (
          s.useEffect(() => {
            let e = !1;
            const a = (t) => {
              e || (n.fnResults(t), r(n), (e = !0));
            };
            return (
              (function (e, t) {
                return (0, i.mG)(this, void 0, void 0, function* () {
                  t && (yield t);
                  let r = document;
                  w.IN_STEAMUI && r.fonts && (yield r.fonts.ready);
                  const n = e.getBoundingClientRect();
                  return {
                    height: Math.ceil(n.height),
                    width: Math.ceil(n.width),
                  };
                });
              })(t, n.promiseContentReady).then(a),
              () => a(void 0)
            );
          }, [t, r, n]),
          s.createElement(Du, null, n.rctToMeasure)
        );
      }
      class dm {
        constructor() {
          (this.m_bUsePopups = !0),
            (this.m_bOnlyPopups = !1),
            (this.m_bCenterPopupsOnWindow = !1),
            (this.m_rgModals = []),
            (this.m_OnModalCountChangedCallbacks = new Se()),
            (this.m_OnModalShownCallbacks = new Se()),
            (this.m_OnModalHiddenCallbacks = new Se()),
            (this.m_cMountedOverlays = 0),
            (this.m_rgMeasureModalRequests = []),
            (this.m_OnMeasureModal = new Se()),
            (this.m_rgLegacyPopupModals = []),
            (this.m_OnLegacyPopupModalCountChanged = new Se());
        }
        get ModalCountChangedCallbacks() {
          return this.m_OnModalCountChangedCallbacks;
        }
        get LegacyPopupModalCountChangedCallbacks() {
          return this.m_OnLegacyPopupModalCountChanged;
        }
        RegisterOnModalShownCallback(e) {
          return this.m_OnModalShownCallbacks.Register(e);
        }
        RegisterOnModalHiddenCallback(e) {
          return this.m_OnModalHiddenCallbacks.Register(e);
        }
        RegisterMeasureModalCallback(e) {
          return this.m_OnMeasureModal.Register(e);
        }
        TakeMeasureModalRequest() {
          return this.m_rgMeasureModalRequests.length
            ? this.m_rgMeasureModalRequests.shift()
            : void 0;
        }
        RegisterOverlay(e) {
          c(
            0 == this.m_cMountedOverlays,
            "Duplicate modal DialogOverlay; modals will appear in both",
          ),
            this.m_cMountedOverlays++;
          const t = this.m_OnModalCountChangedCallbacks.Register(e);
          return () => {
            this.m_cMountedOverlays--, t.Unregister();
          };
        }
        OnModalCountChanged(e) {
          "show" == e &&
            0 == this.m_cMountedOverlays &&
            window.setTimeout(() => {
              c(
                this.m_cMountedOverlays > 0,
                "Modal was shown but ModalManager has no associated DialogOverlay",
              );
            }, 50),
            this.m_OnModalCountChangedCallbacks.Dispatch(
              this.m_rgModals.length,
            ),
            "show" == e
              ? this.m_OnModalShownCallbacks.Dispatch(this.m_rgModals.length)
              : "hide" == e &&
                this.m_OnModalHiddenCallbacks.Dispatch(this.m_rgModals.length);
        }
        get modals() {
          return this.m_rgModals;
        }
        get active_modal() {
          return this.m_rgModals.length
            ? this.m_rgModals[this.m_rgModals.length - 1]
            : void 0;
        }
        ShowModal(e) {
          return this.ShowModalInternal(e);
        }
        RemoveModal(e) {
          let t = this.m_rgModals.indexOf(e);
          -1 != t && this.m_rgModals.splice(t, 1),
            this.OnModalCountChanged("hide");
        }
        ShowModalInternal(e) {
          c(
            !this.m_bOnlyPopups,
            "Attempting to show modal in popup-only modal manager; will not display.",
          );
          const t = new Jd(e);
          this.m_rgModals.push(t);
          const r = {
            Close: () => {
              this.RemoveModal(t);
            },
            Update: (e) => {
              t.UpdateModal(e);
            },
          };
          return this.OnModalCountChanged("show"), r;
        }
        ShowPortalModal() {
          c(
            !this.m_bOnlyPopups,
            "Attempting to show modal in popup-only modal manager; will not display.",
          );
          const e = new em();
          return (
            this.m_rgModals.push(e),
            this.OnModalCountChanged("show"),
            {
              key: e.key,
              Close: () => {
                this.RemoveModal(e);
              },
              OnElementReadyCallbacks: e.OnElementReadyCallbacks,
              OnModalActiveCallbacks: e.OnModalActiveCallbacks,
            }
          );
        }
        SetUsePopups(e) {
          this.m_bUsePopups = e;
        }
        BUsePopups() {
          return this.m_bUsePopups || this.m_bOnlyPopups;
        }
        SetOnlyPopups(e) {
          this.m_bOnlyPopups = e;
        }
        BOnlyPopups() {
          return this.m_bOnlyPopups;
        }
        SetCenterPopupsOnWindow(e) {
          this.m_bCenterPopupsOnWindow = e;
        }
        BCenterPopupsOnWindow() {
          return this.m_bCenterPopupsOnWindow;
        }
        RequestModalMeasure(e, t, r) {
          this.m_rgMeasureModalRequests.push({
            rctToMeasure: e,
            fnResults: t,
            promiseContentReady: r,
          }),
            this.m_OnMeasureModal.Dispatch();
        }
        get legacy_popup_modals() {
          return this.m_rgLegacyPopupModals;
        }
        ShowLegacyPopupModal(e, t, r, n) {
          const i = () => {
              let e = this.m_rgLegacyPopupModals.indexOf(a);
              -1 != e && this.m_rgLegacyPopupModals.splice(e, 1),
                this.m_OnLegacyPopupModalCountChanged.Dispatch(
                  this.m_rgLegacyPopupModals.length,
                ),
                r.fnOnClose && r.fnOnClose();
            },
            a = new om(
              e,
              t,
              Object.assign(Object.assign({}, r), { fnOnClose: i }),
              Object.assign(
                { bCenterOnWindow: this.m_bCenterPopupsOnWindow },
                n,
              ),
            );
          return (
            this.m_rgLegacyPopupModals.push(a),
            this.m_OnLegacyPopupModalCountChanged.Dispatch(
              this.m_rgLegacyPopupModals.length,
            ),
            {
              Close: i,
              Update: (e) => {
                a.UpdateModal(e);
              },
            }
          );
        }
      }
      class mm {
        constructor() {
          this.m_mapModalManager = new WeakMap();
        }
        GetModalManager(e) {
          let t = this.m_mapModalManager.get(e);
          return (
            t ||
              (console.assert(
                !1,
                `Early access to modal manager, creating one for ${e.document.title}`,
              ),
              (t = new dm()),
              this.m_mapModalManager.set(e, t)),
            t
          );
        }
        RegisterModalManager(e, t) {
          c(
            !this.m_mapModalManager.has(t) || t == window,
            `Stomping CModalManager for ${t.document.title}!`,
          );
          const r = this.m_mapModalManager.get(t);
          return (
            this.m_mapModalManager.set(t, e),
            () => {
              r
                ? this.m_mapModalManager.set(t, r)
                : this.m_mapModalManager.delete(t);
            }
          );
        }
        UnregisterModalManager(e) {
          this.m_mapModalManager.delete(e);
        }
      }
      const _m = xo(0, () => new mm());
      function hm(e) {
        return _m.GetModalManager(e);
      }
      var pm = r(950);
      function gm(e) {
        s.useEffect(() => {
          if (e)
            return (
              document.body.classList.add(pm.BodyNoScrollDialog),
              () => document.body.classList.remove(pm.BodyNoScrollDialog)
            );
        }, [e]);
      }
      function bm(e) {
        let {
            ModalManager: t,
            bRegisterModalManager: r = !0,
            DialogWrapper: n,
            style: a,
          } = e,
          o = (0, i._T)(e, [
            "ModalManager",
            "bRegisterModalManager",
            "DialogWrapper",
            "style",
          ]);
        const l = t.modals,
          c = l && !!l.length,
          u = t.active_modal;
        gm(c),
          (function (e) {
            const t = Ho().ownerWindow,
              r = tr(),
              n = s.useCallback(() => {
                var e;
                (null === (e = null == t ? void 0 : t.SteamClient) ||
                void 0 === e
                  ? void 0
                  : e.Window) && t.SteamClient.Window.BringToFront();
              }, [t]);
            s.useEffect(() => e.RegisterOverlay(r), [e, r]),
              s.useEffect(
                () => e.RegisterOnModalShownCallback(n).Unregister,
                [e, n],
              );
          })(t);
        const d = (function (e, t) {
          return Jt(
            (r) => {
              if (!r || !t) return;
              const n = r.ownerDocument.defaultView;
              return _m.RegisterModalManager(e, n);
            },
            [e],
          );
        })(t, r);
        let m = null;
        return (
          l && l.length
            ? (m = l.map((e) =>
                e instanceof Jd
                  ? s.createElement(vm, {
                      key: e.key,
                      modal: e,
                      active: e == u,
                      Component: null != n ? n : ym,
                    })
                  : e instanceof em
                    ? s.createElement(fm, {
                        key: e.key,
                        modal: e,
                        active: e == u,
                      })
                    : void 0,
              ))
            : (a = Object.assign(Object.assign({}, a), { display: "none" })),
          s.createElement(
            s.Fragment,
            null,
            s.createElement(
              "div",
              Object.assign({}, o, {
                style: a,
                ref: d,
                className: xr(o.className, "FullModalOverlay"),
              }),
              s.createElement("div", {
                className: "ModalOverlayContent ModalOverlayBackground",
              }),
              m,
            ),
            s.createElement(lm, { ModalManager: t }),
            s.createElement(Sm, { ModalManager: t }),
          )
        );
      }
      function fm(e) {
        const { modal: t, active: r } = e;
        return (
          s.useEffect(
            () => (r ? (t.SetActive(r), () => t.SetActive(!1)) : void 0),
            [t, r],
          ),
          s.createElement(
            Du,
            null,
            s.createElement("div", {
              className: xr("ModalOverlayContent", r ? "active" : "inactive"),
              ref: t.RefModalElement,
            }),
          )
        );
      }
      function vm(e) {
        const { modal: t, active: r, Component: n } = e,
          i = tr();
        return (
          ar(t.ModalUpdatedCallback, i),
          s.createElement(
            Du,
            null,
            s.createElement(
              n,
              {
                className: xr("ModalOverlayContent", r ? "active" : "inactive"),
                active: r,
                modalKey: t.key,
              },
              t.element,
            ),
          )
        );
      }
      const ym = s.forwardRef(function (e, t) {
        const { className: r, active: n, children: i } = e,
          a = s.useRef();
        s.useEffect(() => {
          const e = a.current;
          if (e && n) {
            const t = e.firstChild;
            t && t.focus && t.focus();
          }
        }, [n]);
        const o = Xt(a, t);
        return s.createElement(
          "div",
          { ref: o, className: r, tabIndex: -1 },
          i,
        );
      });
      function Sm(e) {
        const { ModalManager: t } = e,
          r = tr();
        return (
          ar(t.LegacyPopupModalCountChangedCallbacks, r),
          s.createElement(
            s.Fragment,
            null,
            t.legacy_popup_modals.map((e) =>
              s.createElement(sm, { key: e.key, Modal: e }),
            ),
          )
        );
      }
      class wm {
        constructor() {
          (this.m_callbacksMenusChanged = new Se()),
            (this.m_rgActiveSubmenus = []),
            (this.m_setHiddenMenus = new Set());
        }
        CreateContextMenuInstance(e, t, r, n, i) {
          const a = new d_(this, e, t, r, n, i);
          return (
            (null == i ? void 0 : i.bCreateHidden) &&
              (this.m_setHiddenMenus.add(a),
              this.m_callbacksMenusChanged.Dispatch()),
            a
          );
        }
        get OnMenusChanged() {
          return this.m_callbacksMenusChanged;
        }
        HideActiveMenu() {
          this.m_ActiveMenu.options.bRetainOnHide
            ? this.m_setHiddenMenus.add(this.m_ActiveMenu)
            : this.m_rgActiveSubmenus.length && (this.m_rgActiveSubmenus = []),
            (this.m_ActiveMenu = void 0);
        }
        get ActiveMenu() {
          return this.m_ActiveMenu;
        }
        GetVisibleMenus() {
          return this.m_ActiveMenu
            ? [this.m_ActiveMenu, ...this.m_rgActiveSubmenus]
            : [];
        }
        GetHiddenMenus() {
          return Array.from(this.m_setHiddenMenus);
        }
        GetAllMenus() {
          let e;
          return (
            (e = this.m_ActiveMenu
              ? [
                  this.m_ActiveMenu,
                  ...this.m_rgActiveSubmenus,
                  ...Array.from(this.m_setHiddenMenus),
                ]
              : [
                  ...this.m_rgActiveSubmenus,
                  ...Array.from(this.m_setHiddenMenus),
                ]),
            e.sort((e, t) => e.key - t.key)
          );
        }
        BShouldRenderMouseOverlay() {
          return (
            this.m_ActiveMenu && !this.m_ActiveMenu.options.bDisableMouseOverlay
          );
        }
        ShowMenu(e) {
          if (e.BIsSubMenu()) this.m_rgActiveSubmenus.push(e);
          else {
            if (e == this.m_ActiveMenu) return;
            this.m_ActiveMenu &&
              (this.m_ActiveMenu.options.bRetainOnHide &&
                this.m_setHiddenMenus.add(this.m_ActiveMenu),
              this.m_ActiveMenu.Hide()),
              (this.m_ActiveMenu = e),
              this.m_setHiddenMenus.delete(e);
          }
          this.m_callbacksMenusChanged.Dispatch();
        }
        HideMenu(e) {
          e.BIsSubMenu()
            ? fe(this.m_rgActiveSubmenus, e) &&
              this.m_callbacksMenusChanged.Dispatch()
            : (c(e == this.m_ActiveMenu, "Call to hide inactive menu"),
              e == this.m_ActiveMenu &&
                (this.HideActiveMenu(),
                this.m_callbacksMenusChanged.Dispatch()));
        }
        ReleaseHiddenMenu(e) {
          this.m_setHiddenMenus.delete(e);
        }
      }
      function Cm(e) {
        const {
            manager: t,
            ownerWindow: r,
            browserInfo: n,
            bSuppressMouseOverlay: i,
          } = e,
          a = tr(),
          o = r.document.body;
        ar(t.OnMenusChanged, a);
        const l = !i && t.BShouldRenderMouseOverlay(),
          c = t.GetAllMenus();
        return s.createElement(
          s.Fragment,
          null,
          l && Gc.createPortal(s.createElement(s_, null), o),
          c.map((e) =>
            s.createElement(
              Du,
              { key: e.key },
              s.createElement(Bm, { instance: e, elRoot: o, browserInfo: n }),
            ),
          ),
        );
      }
      function Bm(e) {
        var t;
        const { instance: r, elRoot: n, browserInfo: i, children: a } = e,
          o = Am(),
          l = s.useRef(void 0);
        if (void 0 === l.current)
          if (n) {
            const e = n.ownerDocument.defaultView;
            l.current =
              (r.options.bForcePopup ||
                e.innerWidth < 400 ||
                o.BOnlyPopups()) &&
              !!(null === (t = e.SteamClient) || void 0 === t
                ? void 0
                : t.Window);
          } else l.current = !0;
        const c = s.useMemo(
            () => ({ instance: r, styles: $l(), presentation: 0 }),
            [r],
          ),
          u = a || r.ReactElement;
        return s.createElement(
          e_.Provider,
          { value: c },
          l.current
            ? s.createElement(Im, { instance: r, browserInfo: i, children: u })
            : s.createElement(Em, { instance: r, elRoot: n, children: u }),
        );
      }
      function Em(e) {
        const { instance: t, elRoot: r, children: n } = e;
        return Gc.createPortal(
          s.createElement(a_, Object.assign({}, t.position), n),
          r,
        );
      }
      function Im(e) {
        const { instance: t, browserInfo: r, children: n } = e,
          i = s.useRef(),
          a = Ho().ownerWindow,
          o = a.SteamClient.Browser.GetBrowserID(),
          l = s.useCallback(
            (e) => {
              const { options: r, position: n } = t,
                i = n.element;
              if (r.bScreenCoordinates)
                e.dimensions = {
                  left: n.clientX,
                  top: n.clientY,
                  width: 2,
                  height: 1,
                };
              else {
                let t = Nt(a, i.getBoundingClientRect());
                (e.dimensions = {
                  left: t.right,
                  top: t.top,
                  width: 2,
                  height: 1,
                }),
                  (e.availscreenwidth = a.screen.availWidth),
                  (e.availscreenheight = a.screen.availHeight);
              }
              return e;
            },
            [a, t],
          );
        let c = t.options.bStandalone
          ? jo(zo.StandaloneContextMenu)
          : jo(zo.PopupContextMenu);
        t.options.bCreateHidden && (c |= Uo.Hidden),
          t.options.bAlwaysOnTop && (c |= Uo.AlwaysOnTop);
        const { popupObj: u, element: d } = Qd(
          "contextmenu_" + t.key,
          {
            title: t.options.title || "Menu",
            html_class: $l().ContextMenuPopup + " client_chat_frame",
            body_class: "ContextMenuPopupBody",
            replace_existing_popup: !1,
            target_browser: r,
            window_opener_id: o,
            bHideOnClose: !0,
            eCreationFlags: c,
          },
          { updateParamsBeforeShow: l },
        );
        return (
          (0, s.useEffect)(() => {
            if (u)
              if (t.visible) {
                i.current && i.current.PositionMenu(),
                  i.current && i.current.PositionPopupWindow();
                let e = t.options.bNoFocusWhenShown
                  ? be.k_EWindowBringToFrontWithoutForcingOS
                  : be.k_EWindowBringToFrontAndForceOS;
                t.TakeFocus(e);
              } else
                t.options.bRetainOnHide &&
                  window.setTimeout(() => {
                    u.window.SteamClient.Window.HideWindow();
                  }, 30);
          }, [u, t, t.visible]),
          (function (e) {
            const t = Am();
            s.useEffect(() => {
              if (e) return _m.RegisterModalManager(t, e);
            }, [e, t]);
          })(u.window),
          s.useLayoutEffect(() => {
            t.SetPopup(u);
          }, [t, u]),
          d
            ? Gc.createPortal(
                s.createElement(
                  a_,
                  Object.assign({ ref: i }, t.position, {
                    parentWin: a,
                    popup: u,
                  }),
                  n,
                ),
                d,
              )
            : null
        );
      }
      const Rm = s.createContext(null);
      function Tm(e) {
        const {
            ActiveMenuComponent: t,
            refContextMenuManager: r,
            browserInfo: n,
            bRegisterMenuManager: i = !0,
            children: a,
          } = e,
          o = Ho(),
          l = (null == o ? void 0 : o.ownerWindow) || window,
          c = s.useRef();
        c.current || (c.current = new wm()),
          s.useLayoutEffect(() => {
            if (i)
              return (
                h_.SetMenuManager(l, c.current),
                () => h_.SetMenuManager(l, void 0)
              );
          }, [l, i]),
          s.useLayoutEffect(() => (Qt(r, c.current), () => Qt(r, void 0)), [r]);
        const u = t || Cm;
        return s.createElement(
          Rm.Provider,
          { value: c.current },
          s.createElement(u, {
            manager: c.current,
            ownerWindow: l,
            browserInfo: n,
          }),
          a,
        );
      }
      const Mm = s.createContext({}),
        Dm = s.memo(function (e) {
          const {
              children: t,
              bRenderOverlayAtRoot: r,
              refModalManager: n,
              DialogWrapper: a,
              ContextMenuComponent: o,
              refContextMenuManager: l,
              browserInfo: c,
              bUsePopups: u,
              bOnlyPopups: d,
              bCenterPopupsOnWindow: m,
              bRegisterManagersWithWindow: _ = !0,
            } = e,
            h = (0, i._T)(e, [
              "children",
              "bRenderOverlayAtRoot",
              "refModalManager",
              "DialogWrapper",
              "ContextMenuComponent",
              "refContextMenuManager",
              "browserInfo",
              "bUsePopups",
              "bOnlyPopups",
              "bCenterPopupsOnWindow",
              "bRegisterManagersWithWindow",
            ]),
            p = s.useRef();
          p.current || (p.current = new dm());
          let g = s.createElement(
            bm,
            Object.assign({}, h, {
              DialogWrapper: a,
              ModalManager: p.current,
              bRegisterModalManager: _,
            }),
          );
          e.bRenderOverlayAtRoot && (g = Gc.createPortal(g, document.body)),
            (function (e, t) {
              const r = s.useRef(!1);
              s.useLayoutEffect(
                () => () => {
                  r.current && Qt(e, void 0);
                },
                [e],
              ),
                s.useLayoutEffect(() => {
                  (t || r.current) && (Qt(e, t), (r.current = !!t));
                }, [e, t]);
            })(n, p.current),
            s.useEffect(() => {
              void 0 !== u && p.current.SetUsePopups(u),
                void 0 !== m && p.current.SetCenterPopupsOnWindow(m),
                void 0 !== d && p.current.SetOnlyPopups(d);
            }, [u, m, d]);
          const b = s.useMemo(
            () => ({ ModalManager: p.current, DialogWrapper: a }),
            [a],
          );
          return s.createElement(
            Mm.Provider,
            { value: b },
            s.createElement(
              Tm,
              {
                ActiveMenuComponent: o,
                refContextMenuManager: l,
                browserInfo: c,
                bRegisterMenuManager: _,
              },
              s.createElement(Du, null, g),
              e.children,
            ),
          );
        });
      function Am() {
        return s.useContext(Mm).ModalManager;
      }
      const Om = xo(0, () => s.createContext({})),
        Fm = () => s.useContext(Om);
      function Lm(e) {
        const t = Fm();
        return s.createElement(
          dc,
          Object.assign({ component: t.ModalPosition, fallback: km }, e),
        );
      }
      function km(e) {
        let t,
          r = {};
        e.onEscKeypress &&
          ((r.tabIndex = 0),
          (r.onKeyDown = (t) => {
            27 == t.keyCode && e.onEscKeypress();
          }),
          (r.onMouseDown = (t) => {
            t.currentTarget !== t.target ||
              e.bDisableBackgroundDismiss ||
              e.onEscKeypress();
          }),
          (t = (e) => {
            e && (kt(e, e.ownerDocument.activeElement) || e.focus());
          }));
        let n = ["ModalPosition"];
        e.className && n.push(e.className),
          e.bDestructiveWarning && n.push("Destructive");
        const i =
            e.renderContent ||
            ((e) => s.createElement("div", Object.assign({}, e))),
          a = s.createElement(
            s.Fragment,
            null,
            !e.hideTopBar &&
              s.createElement("div", { className: "ModalPosition_TopBar" }),
            e.onEscKeypress &&
              !e.bHideCloseIcon &&
              s.createElement(
                "div",
                { className: "ModalPosition_Dismiss" },
                s.createElement(
                  "div",
                  {
                    className: "closeButton",
                    onClick: (t) => {
                      t.stopPropagation(), e.onEscKeypress();
                    },
                  },
                  s.createElement(tc, null),
                ),
              ),
            s.createElement(Du, null, e.children),
          );
        return s.createElement(
          "div",
          Object.assign({ className: n.join(" ") }, r, { ref: t }),
          i({ className: "ModalPosition_Content", children: a }),
        );
      }
      let Nm = [
        { index: 0, type: is.OK, category: "action" },
        { index: 1, type: is.CANCEL, category: "action" },
        { index: 2, type: is.SECONDARY, category: "action" },
        { index: 3, type: is.OPTIONS, category: "action" },
        { index: 4, type: is.BUMPER_LEFT, category: "action" },
        { index: 5, type: is.BUMPER_RIGHT, category: "action" },
        { index: 6, type: is.TRIGGER_LEFT, category: "action" },
        { index: 7, type: is.TRIGGER_RIGHT, category: "action" },
        { index: 8, type: is.SELECT, category: "action" },
        { index: 9, type: is.START, category: "action" },
        { index: 10, type: is.LSTICK_CLICK, category: "action" },
        { index: 11, type: is.RSTICK_CLICK, category: "action" },
        { index: 12, type: is.DIR_UP, category: "navigation" },
        { index: 13, type: is.DIR_DOWN, category: "navigation" },
        { index: 14, type: is.DIR_LEFT, category: "navigation" },
        { index: 15, type: is.DIR_RIGHT, category: "navigation" },
        { index: 16, type: is.STEAM_GUIDE, category: "action" },
        { index: 17, type: is.SELECT, category: "action" },
      ];
      class Pm extends us {
        constructor() {
          super(),
            (this.m_rgGamepadStatus = []),
            this.SetSourceType(as.GAMEPAD),
            window.addEventListener("gamepadconnected", (e) => {
              this.m_bGamepadDetected ||
                (this.OnGamepadDetected(), this.PollGamepads());
            });
        }
        PollGamepads() {
          let e = navigator.getGamepads(),
            t = !1;
          for (let r = 0; r < e.length; r++) {
            let n = e[r];
            if (!n) continue;
            this.m_rgGamepadStatus[r] ||
              (this.m_rgGamepadStatus[r] = { buttons: [] });
            let i = this.m_rgGamepadStatus[r];
            for (let e = 0; e < Nm.length; e++) {
              let r = Nm[e],
                a = r.index;
              n.buttons[a] &&
                (n.buttons[a].pressed
                  ? ((t = !0),
                    i.buttons[a] ||
                      ((i.buttons[a] = !0), this.OnButtonDown(r.type)))
                  : i.buttons[a] &&
                    (this.OnButtonUp(r.type), (i.buttons[a] = !1)));
            }
          }
          document.hasFocus() || t
            ? requestAnimationFrame(this.PollGamepads)
            : (console.log("Lost focus - suspending gamepad polling"),
              window.addEventListener("focusin", this.OnWindowRegainedFocus));
        }
        OnWindowRegainedFocus() {
          window.removeEventListener("focusin", this.OnWindowRegainedFocus),
            this.PollGamepads();
        }
      }
      var Gm, xm;
      (0, i.gn)([ye], Pm.prototype, "PollGamepads", null),
        (0, i.gn)([ye], Pm.prototype, "OnWindowRegainedFocus", null),
        (function (e) {
          (e[(e.k_EControllerBindingType_None = 0)] =
            "k_EControllerBindingType_None"),
            (e[(e.k_EControllerBindingType_Key = 1)] =
              "k_EControllerBindingType_Key"),
            (e[(e.k_EControllerBindingType_MouseButton = 2)] =
              "k_EControllerBindingType_MouseButton"),
            (e[(e.k_EControllerBindingType_Gamepad = 3)] =
              "k_EControllerBindingType_Gamepad"),
            (e[(e.k_EControllerBindingType_Mousewheel = 4)] =
              "k_EControllerBindingType_Mousewheel"),
            (e[(e.k_EControllerBindingType_Modeshift = 5)] =
              "k_EControllerBindingType_Modeshift"),
            (e[(e.k_EControllerBindingType_GameAction = 6)] =
              "k_EControllerBindingType_GameAction"),
            (e[(e.k_EControllerBindingType_ControllerAction = 7)] =
              "k_EControllerBindingType_ControllerAction");
        })(Gm || (Gm = {})),
        (function (e) {
          (e[(e.GAMEPAD_BUTTON_A = 0)] = "GAMEPAD_BUTTON_A"),
            (e[(e.GAMEPAD_BUTTON_B = 1)] = "GAMEPAD_BUTTON_B"),
            (e[(e.GAMEPAD_BUTTON_X = 2)] = "GAMEPAD_BUTTON_X"),
            (e[(e.GAMEPAD_BUTTON_Y = 3)] = "GAMEPAD_BUTTON_Y"),
            (e[(e.GAMEPAD_BUTTON_DPAD_UP = 4)] = "GAMEPAD_BUTTON_DPAD_UP"),
            (e[(e.GAMEPAD_BUTTON_DPAD_RIGHT = 5)] =
              "GAMEPAD_BUTTON_DPAD_RIGHT"),
            (e[(e.GAMEPAD_BUTTON_DPAD_DOWN = 6)] = "GAMEPAD_BUTTON_DPAD_DOWN"),
            (e[(e.GAMEPAD_BUTTON_DPAD_LEFT = 7)] = "GAMEPAD_BUTTON_DPAD_LEFT"),
            (e[(e.GAMEPAD_BUTTON_MENU = 8)] = "GAMEPAD_BUTTON_MENU"),
            (e[(e.GAMEPAD_BUTTON_VIEW = 9)] = "GAMEPAD_BUTTON_VIEW"),
            (e[(e.GAMEPAD_LEFTPAD_UP = 10)] = "GAMEPAD_LEFTPAD_UP"),
            (e[(e.GAMEPAD_LEFTPAD_DOWN = 11)] = "GAMEPAD_LEFTPAD_DOWN"),
            (e[(e.GAMEPAD_LEFTPAD_LEFT = 12)] = "GAMEPAD_LEFTPAD_LEFT"),
            (e[(e.GAMEPAD_LEFTPAD_RIGHT = 13)] = "GAMEPAD_LEFTPAD_RIGHT"),
            (e[(e.GAMEPAD_LEFTPAD_ANALOG = 14)] = "GAMEPAD_LEFTPAD_ANALOG"),
            (e[(e.GAMEPAD_RIGHTPAD_UP = 15)] = "GAMEPAD_RIGHTPAD_UP"),
            (e[(e.GAMEPAD_RIGHTPAD_DOWN = 16)] = "GAMEPAD_RIGHTPAD_DOWN"),
            (e[(e.GAMEPAD_RIGHTPAD_LEFT = 17)] = "GAMEPAD_RIGHTPAD_LEFT"),
            (e[(e.GAMEPAD_RIGHTPAD_RIGHT = 18)] = "GAMEPAD_RIGHTPAD_RIGHT"),
            (e[(e.GAMEPAD_RIGHTPAD_ANALOG = 19)] = "GAMEPAD_RIGHTPAD_ANALOG"),
            (e[(e.GAMEPAD_LEFTSTICK_UP = 20)] = "GAMEPAD_LEFTSTICK_UP"),
            (e[(e.GAMEPAD_LEFTSTICK_DOWN = 21)] = "GAMEPAD_LEFTSTICK_DOWN"),
            (e[(e.GAMEPAD_LEFTSTICK_LEFT = 22)] = "GAMEPAD_LEFTSTICK_LEFT"),
            (e[(e.GAMEPAD_LEFTSTICK_RIGHT = 23)] = "GAMEPAD_LEFTSTICK_RIGHT"),
            (e[(e.GAMEPAD_LEFTSTICK_ANALOG = 24)] = "GAMEPAD_LEFTSTICK_ANALOG"),
            (e[(e.GAMEPAD_LEFTSTICK_CLICK = 25)] = "GAMEPAD_LEFTSTICK_CLICK"),
            (e[(e.GAMEPAD_LTRIGGER_ANALOG = 26)] = "GAMEPAD_LTRIGGER_ANALOG"),
            (e[(e.GAMEPAD_RTRIGGER_ANALOG = 27)] = "GAMEPAD_RTRIGGER_ANALOG"),
            (e[(e.GAMEPAD_BUTTON_LTRIGGER = 28)] = "GAMEPAD_BUTTON_LTRIGGER"),
            (e[(e.GAMEPAD_BUTTON_RTRIGGER = 29)] = "GAMEPAD_BUTTON_RTRIGGER"),
            (e[(e.GAMEPAD_BUTTON_LSHOULDER = 30)] = "GAMEPAD_BUTTON_LSHOULDER"),
            (e[(e.GAMEPAD_BUTTON_RSHOULDER = 31)] = "GAMEPAD_BUTTON_RSHOULDER"),
            (e[(e.GAMEPAD_BUTTON_LBACK = 32)] = "GAMEPAD_BUTTON_LBACK"),
            (e[(e.GAMEPAD_BUTTON_RBACK = 33)] = "GAMEPAD_BUTTON_RBACK"),
            (e[(e.GAMEPAD_BUTTON_GUIDE = 34)] = "GAMEPAD_BUTTON_GUIDE"),
            (e[(e.GAMEPAD_BUTTON_SELECT = 35)] = "GAMEPAD_BUTTON_SELECT"),
            (e[(e.GAMEPAD_BUTTON_START = 36)] = "GAMEPAD_BUTTON_START"),
            (e[(e.GAMEPAD_BUTTON_LPAD_CLICKED = 37)] =
              "GAMEPAD_BUTTON_LPAD_CLICKED"),
            (e[(e.GAMEPAD_BUTTON_LPAD_TOUCH = 38)] =
              "GAMEPAD_BUTTON_LPAD_TOUCH"),
            (e[(e.GAMEPAD_BUTTON_RPAD_CLICKED = 39)] =
              "GAMEPAD_BUTTON_RPAD_CLICKED"),
            (e[(e.GAMEPAD_BUTTON_RPAD_TOUCH = 40)] =
              "GAMEPAD_BUTTON_RPAD_TOUCH"),
            (e[(e.GAMEPAD_RIGHTSTICK_CLICK = 41)] = "GAMEPAD_RIGHTSTICK_CLICK"),
            (e[(e.GAMEPAD_RIGHTSTICK_TOUCH = 42)] = "GAMEPAD_RIGHTSTICK_TOUCH"),
            (e[(e.GAMEPAD_LEFTSTICK_TOUCH = 43)] = "GAMEPAD_LEFTSTICK_TOUCH"),
            (e[(e.GAMEPAD_BUTTON_LBACK_UPPER = 44)] =
              "GAMEPAD_BUTTON_LBACK_UPPER"),
            (e[(e.GAMEPAD_BUTTON_RBACK_UPPER = 45)] =
              "GAMEPAD_BUTTON_RBACK_UPPER"),
            (e[(e.GAMEPAD_BUTTON_LAST = 46)] = "GAMEPAD_BUTTON_LAST"),
            (e[(e.GAMEPAD_ANALOG_SCROLL = 47)] = "GAMEPAD_ANALOG_SCROLL"),
            (e[(e.GAMEPAD_ANALOG_LEFT_KEYBOARD_CURSOR = 48)] =
              "GAMEPAD_ANALOG_LEFT_KEYBOARD_CURSOR"),
            (e[(e.GAMEPAD_ANALOG_RIGHT_KEYBOARD_CURSOR = 49)] =
              "GAMEPAD_ANALOG_RIGHT_KEYBOARD_CURSOR"),
            (e[(e.GAMEPAD_ANALOG_LAST = 50)] = "GAMEPAD_ANALOG_LAST");
        })(xm || (xm = {}));
      const Um = {
          [xm.GAMEPAD_BUTTON_A]: is.OK,
          [xm.GAMEPAD_BUTTON_B]: is.CANCEL,
          [xm.GAMEPAD_BUTTON_X]: is.SECONDARY,
          [xm.GAMEPAD_BUTTON_Y]: is.OPTIONS,
          [xm.GAMEPAD_BUTTON_SELECT]: is.SELECT,
          [xm.GAMEPAD_BUTTON_START]: is.START,
          [xm.GAMEPAD_BUTTON_LSHOULDER]: is.BUMPER_LEFT,
          [xm.GAMEPAD_BUTTON_RSHOULDER]: is.BUMPER_RIGHT,
          [xm.GAMEPAD_BUTTON_LTRIGGER]: is.TRIGGER_LEFT,
          [xm.GAMEPAD_BUTTON_RTRIGGER]: is.TRIGGER_RIGHT,
          [xm.GAMEPAD_LEFTSTICK_UP]: is.DIR_UP,
          [xm.GAMEPAD_LEFTSTICK_RIGHT]: is.DIR_RIGHT,
          [xm.GAMEPAD_LEFTSTICK_DOWN]: is.DIR_DOWN,
          [xm.GAMEPAD_LEFTSTICK_LEFT]: is.DIR_LEFT,
          [xm.GAMEPAD_LEFTSTICK_CLICK]: is.LSTICK_CLICK,
          [xm.GAMEPAD_RIGHTSTICK_CLICK]: is.RSTICK_CLICK,
          [xm.GAMEPAD_LEFTSTICK_TOUCH]: is.LSTICK_TOUCH,
          [xm.GAMEPAD_RIGHTSTICK_TOUCH]: is.RSTICK_TOUCH,
          [xm.GAMEPAD_BUTTON_LPAD_TOUCH]: is.LPAD_TOUCH,
          [xm.GAMEPAD_BUTTON_LPAD_CLICKED]: is.LPAD_CLICK,
          [xm.GAMEPAD_BUTTON_RPAD_TOUCH]: is.RPAD_TOUCH,
          [xm.GAMEPAD_BUTTON_RPAD_CLICKED]: is.RPAD_CLICK,
          [xm.GAMEPAD_BUTTON_LBACK_UPPER]: is.REAR_LEFT_UPPER,
          [xm.GAMEPAD_BUTTON_LBACK]: is.REAR_LEFT_LOWER,
          [xm.GAMEPAD_BUTTON_RBACK_UPPER]: is.REAR_RIGHT_UPPER,
          [xm.GAMEPAD_BUTTON_RBACK]: is.REAR_RIGHT_LOWER,
        },
        zm = {
          [Fo.SystemKey0]: is.STEAM_GUIDE,
          [Fo.SystemKey1]: is.STEAM_QUICK_MENU,
        };
      class Wm extends us {
        constructor() {
          super(),
            (this.m_rgControllers = new Map()),
            "undefined" != typeof SteamClient &&
              ((this.m_hUnregisterControllerDigitalInput =
                SteamClient.Input.RegisterForControllerInputMessages(
                  this.HandleControllerInputMessages,
                )),
              SteamClient.System.UI.RegisterForSystemKeyEvents(
                this.HandleSystemKeyEvents,
              ),
              SteamClient.Input.RegisterForControllerListChanges(
                this.OnControllerListChanged,
              )),
            this.SetSourceType(as.GAMEPAD);
        }
        OnControllerListChanged(e) {
          this.m_rgControllers.forEach((t, r) => {
            if (-1 == e.findIndex((e) => e.nControllerIndex == r)) {
              for (let e = 0; e in is; e++)
                t.activeButtons[e] && this.OnButtonUp(e, r);
              this.OnAnalogPad(is.LPAD_TOUCH, 0, 0, r),
                this.OnAnalogPad(is.RPAD_TOUCH, 0, 0, r),
                this.m_rgControllers.delete(r);
            }
          });
        }
        HandleSystemKeyEvents(e) {
          const t = zm[e.eKey];
          t && this.OnSystemButtonPress(t, e.nControllerIndex);
        }
        OnSystemButtonPress(e, t) {
          this.OnButtonDown(e, t), this.OnButtonUp(e, t);
        }
        GetController(e) {
          let t = this.m_rgControllers.get(e);
          return (
            t || ((t = { activeButtons: {} }), this.m_rgControllers.set(e, t)),
            t
          );
        }
        EnableAnalogInputMessages(e) {
          var t;
          e
            ? (this.m_hUnregisterControllerAnalogInput =
                SteamClient.Input.RegisterForControllerAnalogInputMessages(
                  this.HandleControllerInputMessages,
                ))
            : null === (t = this.m_hUnregisterControllerAnalogInput) ||
              void 0 === t ||
              t.unregister();
        }
        HandleControllerInputMessages(e) {
          for (const t of e) {
            const e = Um[t.nA],
              r = this.GetController(t.nC);
            null != e
              ? t.bS && !r.activeButtons[e]
                ? ((r.activeButtons[e] = !0), this.OnButtonDown(e, t.nC))
                : !t.bS &&
                  r.activeButtons[e] &&
                  ((r.activeButtons[e] = !1), this.OnButtonUp(e, t.nC))
              : t.nA == xm.GAMEPAD_ANALOG_SCROLL ||
                (t.nA == xm.GAMEPAD_ANALOG_LEFT_KEYBOARD_CURSOR
                  ? r.activeButtons[is.LPAD_TOUCH] &&
                    this.OnAnalogPad(is.LPAD_TOUCH, t.x, t.y, t.nC)
                  : t.nA == xm.GAMEPAD_ANALOG_RIGHT_KEYBOARD_CURSOR &&
                    r.activeButtons[is.RPAD_TOUCH] &&
                    this.OnAnalogPad(is.RPAD_TOUCH, t.x, t.y, t.nC));
          }
        }
      }
      (0, i.gn)([ye], Wm.prototype, "OnControllerListChanged", null),
        (0, i.gn)([ye], Wm.prototype, "HandleSystemKeyEvents", null),
        (0, i.gn)([ye], Wm.prototype, "EnableAnalogInputMessages", null),
        (0, i.gn)([ye], Wm.prototype, "HandleControllerInputMessages", null);
      class jm extends us {
        constructor(e) {
          super(),
            (this.m_lastButtonDown = is.INVALID),
            this.SetSourceType(as.KEYBOARD),
            e.addEventListener("keydown", this.OnKeyDown),
            e.addEventListener("keyup", this.OnKeyUp),
            e.addEventListener("blur", this.Reset);
        }
        OnKeyDown(e) {
          const t = this.TranslateKey(e);
          t != is.INVALID &&
            (e.preventDefault(),
            t != this.m_lastButtonDown &&
              (this.Reset(),
              this.OnButtonDown(t),
              (this.m_lastButtonDown = t)));
        }
        OnKeyUp(e) {
          const t = this.TranslateKey(e);
          t != is.INVALID &&
            (this.OnButtonUp(t),
            (this.m_lastButtonDown = is.INVALID),
            e.preventDefault());
        }
        Reset() {
          this.m_lastButtonDown != is.INVALID &&
            (this.OnButtonUp(this.m_lastButtonDown),
            (this.m_lastButtonDown = is.INVALID));
        }
        GetKeycodeFromEvent(e) {
          return "linux" === w.PLATFORM && e.key.length > 1
            ? e.key || e.code
            : e.code || e.key;
        }
        BShouldSwallowEventForTextInputWorkaround(e) {
          if (
            !(
              Lt(e.target) &&
              ("INPUT" === e.target.nodeName ||
                "TEXTAREA" === e.target.nodeName ||
                e.target.hasAttribute("contenteditable"))
            )
          )
            return !1;
          if (e.target.hasAttribute("contenteditable")) return !0;
          const t = this.GetKeycodeFromEvent(e);
          let r = e.target;
          const n = Array.from(
            r.ownerDocument.getElementsByClassName("gpfocus"),
          ).some((e) =>
            Array.from(e.classList).some((e) => e.includes("virtualkeyboard")),
          );
          switch (t) {
            case "ArrowUp": {
              if (n) return !0;
              let t = null == r ? void 0 : r.value.indexOf("\n");
              return (
                "TEXTAREA" === e.target.nodeName &&
                t >= 0 &&
                t < (null == r ? void 0 : r.selectionStart)
              );
            }
            case "ArrowDown": {
              if (n) return !0;
              let t = null == r ? void 0 : r.value.lastIndexOf("\n");
              return (
                "TEXTAREA" === e.target.nodeName &&
                t >= 0 &&
                t >= (null == r ? void 0 : r.selectionStart) &&
                (null == r ? void 0 : r.selectionEnd) <
                  (null == r ? void 0 : r.value.length)
              );
            }
            case "ArrowLeft":
              return (
                !!n ||
                ((null == r ? void 0 : r.selectionStart) > 0 &&
                  (null == r ? void 0 : r.selectionEnd) > 0)
              );
            case "ArrowRight":
              return (
                !!n ||
                ((null == r ? void 0 : r.selectionStart) <
                  (null == r ? void 0 : r.value.length) &&
                  (null == r ? void 0 : r.selectionEnd) <
                    (null == r ? void 0 : r.value.length))
              );
            case "Enter":
            case "Backspace":
              return !0;
            default:
              return !1;
          }
        }
        TranslateKey(e) {
          const t = this.GetKeycodeFromEvent(e),
            r = e.ctrlKey,
            n = e.shiftKey;
          if (this.BShouldSwallowEventForTextInputWorkaround(e))
            return is.INVALID;
          if (r && n)
            switch (t) {
              case "Digit4":
                return is.TRIGGER_LEFT;
              case "Digit5":
                return is.TRIGGER_RIGHT;
              default:
                return is.INVALID;
            }
          if (r)
            switch (t) {
              case "Digit1":
                return is.STEAM_GUIDE;
              case "Digit2":
                return is.STEAM_QUICK_MENU;
              case "Digit3":
              case "Digit9":
                return is.SELECT;
              case "Digit4":
                return is.BUMPER_LEFT;
              case "Digit5":
                return is.BUMPER_RIGHT;
              case "Digit6":
                return is.LSTICK_CLICK;
              case "Digit7":
                return is.RSTICK_CLICK;
              case "Digit8":
                return is.OPTIONS;
              case "Digit0":
                return is.START;
            }
          switch (t) {
            case "Escape":
              return is.CANCEL;
            case "Enter":
              return is.OK;
            case "Backspace":
              return is.SECONDARY;
            case "ArrowUp":
              return is.DIR_UP;
            case "ArrowDown":
              return is.DIR_DOWN;
            case "ArrowLeft":
              return is.DIR_LEFT;
            case "ArrowRight":
              return is.DIR_RIGHT;
          }
          return is.INVALID;
        }
      }
      (0, i.gn)([ye], jm.prototype, "OnKeyDown", null),
        (0, i.gn)([ye], jm.prototype, "OnKeyUp", null),
        (0, i.gn)([ye], jm.prototype, "Reset", null);
      class Vm extends us {
        constructor(e) {
          super(),
            (this.m_nAccumulatedMouseMovement = 0),
            (this.m_bFirstMouseUpdate = !0),
            (this.m_lastButtonDown = is.INVALID),
            this.SetSourceType(as.MOUSE),
            e.addEventListener("mousedown", this.OnMouseDown),
            e.addEventListener("mouseup", this.OnMouseUp),
            e.addEventListener("mousemove", this.OnMouseMove),
            e.addEventListener("blur", this.Reset);
        }
        TranslateKey(e) {
          return 3 === e.button ? is.CANCEL : is.INVALID;
        }
        OnMouseDown(e) {
          if (e.defaultPrevented) return;
          const t = this.TranslateKey(e);
          t != is.INVALID &&
            (e.preventDefault(),
            t != this.m_lastButtonDown &&
              (this.Reset(), this.OnButtonDown(t), (this.m_lastButtonDown = t)),
            this.OnNavigationTypeChanged(as.MOUSE));
        }
        OnMouseUp(e) {
          const t = this.TranslateKey(e);
          t != is.INVALID &&
            (this.OnButtonUp(t),
            (this.m_lastButtonDown = is.INVALID),
            e.preventDefault());
        }
        OnMouseMove(e) {
          if (!e.defaultPrevented) {
            if (this.m_bFirstMouseUpdate)
              return (
                (this.m_nLastScreenX = e.screenX),
                (this.m_nLastScreenY = e.screenY),
                void (this.m_bFirstMouseUpdate = !1)
              );
            (this.m_nAccumulatedMouseMovement +=
              Math.abs(e.screenX - this.m_nLastScreenX) +
              Math.abs(e.screenY - this.m_nLastScreenY)),
              this.m_nAccumulatedMouseMovement > 500 &&
                (this.Reset(), this.OnNavigationTypeChanged(as.MOUSE));
          }
        }
        Reset() {
          (this.m_nAccumulatedMouseMovement = 0),
            (this.m_bFirstMouseUpdate = !0),
            this.m_lastButtonDown != is.INVALID &&
              (this.OnButtonUp(this.m_lastButtonDown),
              (this.m_lastButtonDown = is.INVALID));
        }
      }
      (0, i.gn)([ye], Vm.prototype, "TranslateKey", null),
        (0, i.gn)([ye], Vm.prototype, "OnMouseDown", null),
        (0, i.gn)([ye], Vm.prototype, "OnMouseUp", null),
        (0, i.gn)([ye], Vm.prototype, "OnMouseMove", null),
        (0, i.gn)([ye], Vm.prototype, "Reset", null);
      const Hm = (0, W.Pi)((e) => {
        const { onCancel: t, closeModal: r, bOKDisabled: n, onOK: a } = e,
          o = M();
        c(
          r || t,
          `Either closeModal or onCancel should be passed to GenericDialog. Classes: ${e.className} ${e.modalClassName}`,
        );
        const l = s.useCallback(() => {
            (t && t()) || (r && r());
          }, [t, r]),
          u = s.useCallback(
            () =>
              (0, i.mG)(void 0, void 0, void 0, function* () {
                n || (a && (yield a()), r && r());
              }),
            [n, a, r],
          );
        return s.createElement(
          Lm,
          {
            onEscKeypress: l,
            className: e.modalClassName,
            bDestructiveWarning: e.bDestructiveWarning,
            bDisableBackgroundDismiss: e.bDisableBackgroundDismiss,
            bHideCloseIcon: e.bHideCloseIcon,
          },
          s.createElement(
            Tc,
            {
              classNameContent: xr(
                "GenericConfirmDialog",
                e.bAllowFullSize && "DialogContentFullSize",
                e.className,
              ),
              onSubmit: u,
              bCenterVertically: !o,
            },
            e.children,
          ),
        );
      });
      function qm(e, t, r) {
        return (0, i.mG)(this, void 0, void 0, function* () {
          const n = hm(t),
            a = (null == r ? void 0 : r.bForcePopOut) || Qm(n);
          c(
            !(a && (null == r ? void 0 : r.bNeverPopOut)),
            "Conflicting popout options; will ignore bNeverPopOut",
          );
          const o = !a && !0 === (null == r ? void 0 : r.bNeverPopOut),
            l = Qm(n) || (!o && Ym(n, t)),
            u =
              a &&
              (null == r ? void 0 : r.popupWidth) &&
              (null == r ? void 0 : r.popupHeight);
          let d;
          if (l && !u) {
            const t = s.cloneElement(e, { closeModal: () => {} });
            d = yield (function (e, t, r) {
              return (0, i.mG)(this, void 0, void 0, function* () {
                return new Promise((n, i) => {
                  e.RequestModalMeasure(t, n, r);
                });
              });
            })(n, t, null == r ? void 0 : r.promiseRenderComplete);
          }
          const m =
            d && d.height / t.innerHeight < 0.9 && d.width / t.innerWidth < 0.8;
          if (o || (!a && m)) return $m(e, t);
          {
            const i = {
                strTitle:
                  (null == r ? void 0 : r.strTitle) ||
                  We("#Dialog_DefaultWindowTitle"),
                fnOnClose: null == r ? void 0 : r.fnOnClose,
                popupWidth:
                  (null == r ? void 0 : r.popupWidth) ||
                  (null == d ? void 0 : d.width),
                popupHeight:
                  (null == r ? void 0 : r.popupHeight) ||
                  (null == d ? void 0 : d.height),
                bHideMainWindowForPopouts:
                  null == r ? void 0 : r.bHideMainWindowForPopouts,
                className: null == r ? void 0 : r.className,
              },
              a = { bHideActions: null == r ? void 0 : r.bHideActionIcons },
              s = (null == r ? void 0 : r.browserContext) || t.browserInfo;
            return $m(e, t, i.strTitle, i, s, a, n);
          }
        });
      }
      function Km(e, t, r) {
        return (0, i.mG)(this, void 0, void 0, function* () {
          return qm(e, t, Object.assign({ bHideMainWindowForPopouts: !0 }, r));
        });
      }
      function $m(e, t, r, n, i, a, o) {
        let l, c;
        const u = e.props.closeModal,
          d = () => {
            c && c.Close(),
              u && u(),
              (null == n ? void 0 : n.fnOnClose) && n.fnOnClose();
          },
          m = () => {
            l && l.Close(), d();
          },
          _ = s.cloneElement(e, { closeModal: m });
        if (Ym((o = o || hm(t)), t) && n && r) {
          if (n.bHideMainWindowForPopouts) {
            const e = s.createElement(
              Lm,
              {
                className: "Hidden",
                onEscKeypress: !_.props.bDisableBackgroundDismiss && m,
              },
              s.createElement("div", null),
            );
            c = o.ShowModal(e);
          }
          const e = Object.assign(Object.assign({}, n), {
            fnOnClose: d,
            browserContext: i,
          });
          l = o.ShowLegacyPopupModal(r, _, e, a);
        } else l = o.ShowModal(_);
        return l;
      }
      function Ym(e, t) {
        return (e = e || hm(t || window)), w.USE_POPUPS && e.BUsePopups();
      }
      function Qm(e) {
        return e.BOnlyPopups && e.BOnlyPopups();
      }
      let Xm = class extends s.Component {
        Cancel() {
          this.props.onCancel && this.props.onCancel(),
            this.props.closeModal && this.props.closeModal();
        }
        render() {
          const e = this.props,
            {
              strTitle: t,
              strDescription: r,
              strOKButtonText: n,
              strCancelButtonText: a,
              strMiddleButtonText: o,
              onMiddleButton: l,
              bAlertDialog: c,
              children: u,
            } = e,
            d = (0, i._T)(e, [
              "strTitle",
              "strDescription",
              "strOKButtonText",
              "strCancelButtonText",
              "strMiddleButtonText",
              "onMiddleButton",
              "bAlertDialog",
              "children",
            ]),
            m = n || We("#Button_Close");
          let _ = s.createElement(Oc, {
            bOKDisabled: this.props.bOKDisabled,
            bCancelDisabled: this.props.bCancelDisabled,
            strOKText: n,
            onCancel: this.Cancel,
            strCancelText: a,
          });
          return (
            c
              ? (_ = s.createElement(Dc, null, m))
              : l &&
                (_ = s.createElement(Fc, {
                  bOKDisabled: this.props.bOKDisabled,
                  bCancelDisabled: this.props.bCancelDisabled,
                  strOKText: n,
                  onCancel: this.Cancel,
                  strCancelText: a,
                  onUpdate: () => {
                    l(), this.props.closeModal && this.props.closeModal();
                  },
                  strUpdateText: o,
                  bUpdateDisabled: this.props.bMiddleDisabled,
                })),
            s.createElement(
              Hm,
              Object.assign({}, d),
              s.createElement(
                vc,
                null,
                " ",
                t || s.createElement(s.Fragment, null, " "),
                " ",
              ),
              s.createElement(
                wc,
                { onCancelButton: this.Cancel },
                s.createElement(Sc, null, r, u),
                s.createElement(yc, null, _),
              ),
            )
          );
        }
      };
      (0, i.gn)([ye], Xm.prototype, "Cancel", null),
        (Xm = (0, i.gn)([W.Pi], Xm));
      let Zm = class extends s.Component {
        render() {
          const e = Object.assign(
            {
              strTitle: We("#Error_FailureNotice"),
              strDescription: We("#Error_GenericFailureDescription"),
              bAlertDialog: !0,
              bDestructiveWarning: !0,
              onOK: () => {},
              onCancel: () => {},
            },
            this.props,
          );
          return s.createElement(Xm, Object.assign({}, e));
        }
      };
      Zm = (0, i.gn)([W.Pi], Zm);
      let Jm = class extends s.Component {
        render() {
          let e = Object.assign(
            { onOK: () => {}, onCancel: () => {}, bAlertDialog: !0 },
            this.props,
          );
          return (
            (e.strDescription = s.createElement(
              "span",
              { style: { whiteSpace: "pre-line" } },
              " ",
              e.strDescription,
              " ",
            )),
            s.createElement(Xm, Object.assign({}, e))
          );
        }
      };
      Jm = (0, i.gn)([W.Pi], Jm);
      const e_ = xo(0, () => s.createContext(null));
      let t_ = class extends s.Component {
        constructor() {
          super(...arguments),
            (this.m_navRef = s.createRef()),
            (this.m_divRef = s.createRef());
        }
        get instance() {
          return this.context.instance;
        }
        componentDidMount() {
          var e;
          this.instance.SetLabel(this.props.label),
            null === (e = this.m_navRef.current) ||
              void 0 === e ||
              e.TakeFocus(),
            Qt(this.props.refInstance, this.instance);
        }
        componentDidUpdate(e) {
          e.label !== this.props.label &&
            this.context &&
            this.instance.SetLabel(this.props.label);
        }
        HideIfSubmenu() {
          return !!this.instance.BIsSubMenu() && (this.instance.HideSelf(), !0);
        }
        HideMenu() {
          return (
            this.instance.BIsSubMenu()
              ? this.instance.HideSelf()
              : this.instance.Hide(),
            !0
          );
        }
        render() {
          var e;
          let t = this.props,
            {
              children: r,
              className: n,
              label: a,
              onCancel: o,
              cancelText: l,
              refInstance: c,
              bForceDesktopPresentation: u,
            } = t,
            d = (0, i._T)(t, [
              "children",
              "className",
              "label",
              "onCancel",
              "cancelText",
              "refInstance",
              "bForceDesktopPresentation",
            ]);
          const m =
            null !== (e = this.context.styles) && void 0 !== e ? e : $l();
          let _ = null != l ? l : "#Button_Cancel";
          if (1 != this.context.presentation || u)
            return s.createElement(
              "div",
              Object.assign({}, d, {
                ref: this.m_divRef,
                className: xr(
                  {
                    [m.contextMenuContents]: !0,
                    [m.hasSubMenu]: this.instance.BIsSubMenuVisible(),
                    [m.ForceDesktop]: u,
                  },
                  n,
                ),
              }),
              r,
            );
          {
            const e = () => {
              o && o(), this.instance.Hide();
            };
            return s.createElement(
              Ol,
              Object.assign(
                {},
                d,
                {
                  className: xr(
                    m.contextMenuContents,
                    { [m.hasSubMenu]: this.instance.BIsSubMenuVisible() },
                    n,
                  ),
                  "flow-children": "column",
                  onMoveLeft: this.HideIfSubmenu,
                  onCancel: this.instance.BIsSubMenu() ? this.HideMenu : e,
                  style: {
                    overflowY: this.instance.BIsSubMenuVisible()
                      ? "hidden"
                      : void 0,
                  },
                  navEntryPreferPosition: so.PREFERRED_CHILD,
                  navRef: this.m_navRef,
                  ref: this.m_divRef,
                },
                Hl,
              ),
              r,
              !this.instance.BIsSubMenu() &&
                s.createElement(
                  s.Fragment,
                  null,
                  s.createElement(n_, null),
                  s.createElement(
                    r_,
                    { className: m.Cancel, onSelected: e },
                    We(_),
                  ),
                ),
              this.instance.BIsSubMenuVisible() &&
                s.createElement("div", {
                  className: m.contextMenuFade,
                  onClick: () => this.instance.HideSubMenu(),
                }),
            );
          }
        }
      };
      (t_.contextType = e_),
        (0, i.gn)([ye], t_.prototype, "HideIfSubmenu", null),
        (0, i.gn)([ye], t_.prototype, "HideMenu", null),
        (t_ = (0, i.gn)([W.Pi], t_));
      class r_ extends s.PureComponent {
        constructor() {
          super(...arguments),
            (this.m_ref = s.createRef()),
            (this.m_refDiv = s.createRef());
        }
        get element() {
          return this.m_refDiv.current;
        }
        get instance() {
          return this.context.instance;
        }
        OnClick(e) {
          var t;
          this.props.disabled
            ? (null === (t = this.context.callbacks) || void 0 === t
                ? void 0
                : t.onDisabledItemSelected) &&
              this.context.callbacks.onDisabledItemSelected()
            : (this.props.onClick && this.props.onClick(e),
              this.props.bInteractableItem ||
                (this.props.onSelected && this.props.onSelected(e),
                this.context && this.instance.ForceHide()));
        }
        OnOKButton(e) {
          this.m_refDiv.current.click();
        }
        OnMouseEnter(e) {
          0 == this.context.presentation && this.instance.HideSubMenu();
        }
        Focus() {
          this.m_ref.current
            ? this.m_ref.current.TakeFocus()
            : this.m_refDiv.current && this.m_refDiv.current.focus();
        }
        render() {
          var e, t;
          const r = this.props,
            { onSelected: n, bInteractableItem: a, onMoveRight: o } = r,
            l = (0, i._T)(r, [
              "onSelected",
              "bInteractableItem",
              "onMoveRight",
            ]),
            c =
              null !==
                (t =
                  null === (e = this.context) || void 0 === e
                    ? void 0
                    : e.styles) && void 0 !== t
                ? t
                : $l();
          return 1 == this.context.presentation
            ? s.createElement(
                Ol,
                Object.assign(
                  {
                    noFocusRing: !0,
                    preferredFocus: this.props.selected,
                    ref: this.m_refDiv,
                    navRef: this.m_ref,
                    onMouseEnter: this.OnMouseEnter,
                  },
                  l,
                  {
                    className: xr(
                      this.props.className,
                      c.contextMenuItem,
                      "contextMenuItem",
                      this.props.disabled && "disabled",
                      this.props.selected && c.Selected,
                      "positive" == this.props.tone && c.Positive,
                      "emphasis" == this.props.tone && c.Emphasis,
                      "destructive" == this.props.tone && c.Destructive,
                    ),
                    focusClassName: c.Focused,
                    onClick: this.props.disabled ? void 0 : this.OnClick,
                    focusable: !this.props.disabled,
                    onOKButton: this.OnOKButton,
                    onMoveRight: o,
                    unselectable: this.props.unselectable,
                  },
                ),
                this.props.children,
              )
            : s.createElement(
                Yl,
                Object.assign(
                  { ref: this.m_refDiv, onMouseEnter: this.OnMouseEnter },
                  l,
                  {
                    onClick: this.OnClick,
                    unselectable: this.props.unselectable,
                    className: this.props.className,
                  },
                ),
                this.props.children,
              );
        }
      }
      (r_.contextType = e_),
        (0, i.gn)([ye], r_.prototype, "OnClick", null),
        (0, i.gn)([ye], r_.prototype, "OnOKButton", null),
        (0, i.gn)([ye], r_.prototype, "OnMouseEnter", null),
        (0, i.gn)([ye], r_.prototype, "Focus", null);
      s.PureComponent;
      s.PureComponent;
      function n_(e) {
        var t;
        const r =
          null !== (t = s.useContext(e_).styles) && void 0 !== t ? t : $l();
        return s.createElement("div", { className: r.ContextMenuSeparator });
      }
      class i_ extends s.PureComponent {
        constructor(e) {
          super(e),
            (this.m_refItem = s.createRef()),
            (this.state = { bActive: !1 });
        }
        get instance() {
          return this.context.instance;
        }
        OnSubMenuMouseEnter() {
          this.instance.CancelHideSubMenuTimer();
        }
        OnSubMenuHidden() {
          this.setState({ bActive: !1 }),
            this.props.bInGamepadUI &&
              1 == this.context.presentation &&
              this.m_refItem.current &&
              this.m_refItem.current.Focus();
        }
        ShowSubMenu(e) {
          const t = e || this.m_refItem.current.element;
          let r = this.instance.ShowSubMenu(t, this.RenderSubMenu);
          return (
            !!r &&
            (this.setState({ bActive: !0 }),
            r.SetOnHideCallback(this.OnSubMenuHidden),
            !0)
          );
        }
        RenderSubMenu() {
          return s.createElement(
            t_,
            { onMouseEnter: this.OnSubMenuMouseEnter, label: this.props.label },
            this.props.children,
          );
        }
        OnMouseEnter(e) {
          0 == this.context.presentation && this.ShowSubMenu(e.currentTarget);
        }
        OnClick(e) {
          this.OnMouseEnter(e),
            this.props.onClick && this.props.onClick(e),
            this.props.bInGamepadUI &&
              1 == this.context.presentation &&
              this.ShowSubMenu(e.currentTarget);
        }
        render() {
          var e;
          let t = this.props,
            {
              label: r,
              selectedWithin: n,
              children: a,
              className: o,
              bInGamepadUI: l,
            } = t,
            c = (0, i._T)(t, [
              "label",
              "selectedWithin",
              "children",
              "className",
              "bInGamepadUI",
            ]);
          const u =
            null !== (e = this.context.styles) && void 0 !== e ? e : $l();
          return s.createElement(
            r_,
            Object.assign({}, c, {
              ref: this.m_refItem,
              onClick: this.OnClick,
              selected: n && !this.state.bActive,
              className: xr(o, u.SubMenu, this.state.bActive && u.active),
              onMouseEnter: this.OnMouseEnter,
              onSelected: null,
              bInteractableItem: !0,
              onMoveRight: () => this.ShowSubMenu(),
            }),
            s.createElement("div", { className: u.Label }, r),
            s.createElement(
              "div",
              { className: u.Arrow },
              s.createElement(Jl, null),
            ),
          );
        }
      }
      (i_.contextType = e_),
        (0, i.gn)([ye], i_.prototype, "OnSubMenuMouseEnter", null),
        (0, i.gn)([ye], i_.prototype, "OnSubMenuHidden", null),
        (0, i.gn)([ye], i_.prototype, "ShowSubMenu", null),
        (0, i.gn)([ye], i_.prototype, "RenderSubMenu", null),
        (0, i.gn)([ye], i_.prototype, "OnMouseEnter", null),
        (0, i.gn)([ye], i_.prototype, "OnClick", null);
      let a_ = class extends s.Component {
        constructor(e) {
          super(e),
            (this.m_elMenu = void 0),
            (this.m_cReenteranceGuard = 1),
            (this.state = {
              ready: !1,
              menuLeft: void 0,
              menuTop: void 0,
              menuRight: void 0,
              menuBottom: void 0,
              menuWidth: void 0,
              menuHeight: void 0,
              menuMinWidth: void 0,
            }),
            (this.m_mutationObserver = new MutationObserver(
              this.OnMenuMutation,
            ));
        }
        get parentWin() {
          var e;
          return (
            (null === (e = this.props.element) || void 0 === e
              ? void 0
              : e.ownerDocument.defaultView) || this.props.parentWin
          );
        }
        BindMenuElement(e) {
          this.props.instance.SetElement(e),
            this.m_elMenu &&
              (this.m_mutationObserver.disconnect(),
              (this.props.popup && !this.props.options.bScreenCoordinates) ||
                this.m_elMenu.ownerDocument.defaultView.removeEventListener(
                  "resize",
                  this.OnWindowResize,
                )),
            e &&
              (this.m_mutationObserver.observe(e, {
                childList: !0,
                subtree: !0,
              }),
              (this.props.popup && !this.props.options.bScreenCoordinates) ||
                e.ownerDocument.defaultView.addEventListener(
                  "resize",
                  this.OnWindowResize,
                )),
            (this.m_elMenu = e || void 0),
            w.IN_CLIENT && this.props.popup && this.m_elMenu
              ? this.m_elMenu.ownerDocument.fonts.ready.then(() => {
                  this.PositionMenu();
                })
              : this.PositionMenu(),
            this.state.ready ||
              (this.props.instance.SetTakeFocus(this.TakeFocus.bind(this)),
              this.setState({ ready: !0 }, () => {
                this.TakeFocus();
              }));
        }
        OnMenuMutation(e, t) {
          this.PositionMenu();
        }
        OnWindowResize() {
          this.PositionMenu();
        }
        OnBlur(e) {
          if (
            (!e.relatedTarget || !kt(e.currentTarget, e.relatedTarget)) &&
            (!e.relatedTarget ||
              !this.props.instance.BIsElementInMenuHierarchy(
                e.relatedTarget,
              )) &&
            !this.props.instance.BIsSubMenuVisible() &&
            this.state.ready &&
            this.props.instance.visible
          ) {
            const e = c_() ? 150 : 0;
            this.props.instance.Hide(e);
          }
        }
        OnKeyDown(e) {
          27 == e.keyCode &&
            this.state.ready &&
            (this.props.instance.Hide(),
            e.preventDefault(),
            e.stopPropagation());
        }
        componentDidUpdate() {
          this.m_cReenteranceGuard-- > 0
            ? this.PositionMenu()
            : (this.m_cReenteranceGuard = 2);
        }
        TakeFocus() {
          if (
            this.m_elMenu &&
            this.state.ready &&
            this.props.instance.visible &&
            (this.props.popup ||
              !kt(this.m_elMenu, this.m_elMenu.ownerDocument.activeElement))
          ) {
            let e = this.m_elMenu.querySelector(".ContextMenuAutoFocus");
            e && e.focus ? e.focus() : this.m_elMenu.focus();
          }
        }
        PositionMenu(e = !1) {
          const t = this.props.options;
          let r = this.m_elMenu,
            n = this.props.element;
          if (!r) return;
          let i = null != this.props.popup,
            a = this.parentWin;
          if (!a || (n && "none" === a.getComputedStyle(n).display)) return;
          let s = this.props.clientX,
            o = this.props.clientY,
            l = 0,
            c = 0,
            u = a.innerWidth,
            d = a.innerHeight,
            m = 1,
            _ = null == n ? void 0 : n.getBoundingClientRect();
          if (i)
            if (
              (t.bScreenCoordinates ||
                ((s += a.screenLeft), (o += a.screenTop)),
              _ && (_ = Nt(a, _)),
              t.targetMonitor)
            )
              (m = t.targetMonitor.flMonitorScale),
                (l = t.targetMonitor.nScreenLeft),
                (c = t.targetMonitor.nScreenTop),
                (u = t.targetMonitor.nScreenWidth),
                (d = t.targetMonitor.nScreenHeight);
            else {
              let e = a.screen,
                t = 0,
                r = 0;
              e.availLeft && (t = e.availLeft),
                e.availTop && (r = e.availTop),
                (l = t),
                (c = r),
                (u = e.availWidth),
                (d = e.availHeight);
            }
          (t.bOverlapHorizontal || t.bOverlapVertical) && (s = o = void 0);
          let h = r.getBoundingClientRect();
          if (t.flGamepadScale > 0) {
            const e = t.flGamepadScale;
            h = new DOMRect(h.x * e, h.y * e, h.width * e, h.height * e);
          }
          let p = {
              menuLeft: void 0,
              menuRight: void 0,
              menuTop: void 0,
              menuBottom: void 0,
              menuWidth: void 0,
              menuHeight: void 0,
              menuMinWidth: void 0,
            },
            g = null != s ? s : _.left,
            b = null != s ? s : _.right,
            f = h.width;
          t.bMatchWidth && ((f = b - g), (p.menuWidth = f)),
            t.bGrowToElementWidth && (p.menuMinWidth = Math.max(f, b - g));
          let v = (t.bOverlapHorizontal ? b : g) - l - f,
            y = v > 0,
            S = l + u - (t.bOverlapHorizontal ? g : b) - f,
            w = S > 0,
            C = (t.bPreferPopLeft || !w) && y;
          y ||
            w ||
            ((C = y > w),
            t.bFitToWindow && ((f += (C ? v : S) - 8), (p.menuWidth = f))),
            C
              ? (p.menuRight = u - (t.bOverlapHorizontal ? b : g))
              : (p.menuLeft = t.bOverlapHorizontal ? g : b);
          let B = null != o ? o : _.top,
            E = null != o ? o : _.bottom,
            I = r.scrollHeight;
          t.bMatchHeight && ((I = E - B), (p.menuHeight = I));
          let R = (t.bOverlapVertical ? E : B) - c - I,
            T = R > 0,
            M = c + d - (t.bOverlapVertical ? B : E) - I,
            D = M > 0,
            A = (t.bPreferPopTop || !D) && T && !t.bDisablePopTop;
          if (!T && !D) {
            const e =
              void 0 !== t.bShiftToFitWindow
                ? t.bShiftToFitWindow
                : t.bFitToWindow && !t.bOverlapHorizontal;
            (A = R > M && !t.bDisablePopTop),
              e && (A ? (p.menuTop = 4) : (p.menuBottom = 4)),
              t.bFitToWindow &&
                (e ? (I = Math.min(I, d - 8)) : (I += A ? R : M),
                (p.menuHeight = I - 8));
          }
          void 0 === p.menuBottom &&
            void 0 === p.menuTop &&
            (A
              ? (p.menuBottom = d - (t.bOverlapVertical ? E : B))
              : (p.menuTop = t.bOverlapVertical ? B : E)),
            i
              ? (p.menuHeight || (p.menuHeight = h.height),
                p.menuWidth || (p.menuWidth = h.width),
                p.menuBottom &&
                  !p.menuTop &&
                  ((p.menuTop = d - p.menuBottom - p.menuHeight),
                  (p.menuBottom = void 0)),
                p.menuRight &&
                  !p.menuLeft &&
                  ((p.menuLeft = u - p.menuRight - p.menuWidth),
                  (p.menuRight = void 0)))
              : (p.menuLeft && (p.menuLeft += a.scrollX),
                p.menuTop && (p.menuTop += a.scrollY),
                p.menuBottom &&
                  (p.menuBottom +=
                    a.document.body.clientHeight - a.scrollY - a.innerHeight),
                p.menuRight &&
                  (p.menuRight +=
                    a.document.body.clientWidth - a.scrollX - a.innerWidth)),
            (e ||
              p.menuLeft !== this.state.menuLeft ||
              p.menuRight !== this.state.menuRight ||
              p.menuTop !== this.state.menuTop ||
              p.menuBottom !== this.state.menuBottom ||
              p.menuWidth !== this.state.menuWidth ||
              p.menuHeight !== this.state.menuHeight) &&
              this.setState(p);
        }
        PositionPopupWindow() {
          if (
            !(
              void 0 !== this.state.menuLeft &&
              void 0 !== this.state.menuTop &&
              void 0 !== this.state.menuWidth &&
              void 0 !== this.state.menuHeight
            )
          )
            return;
          const e = this.props.popup.window,
            t = this.props.options;
          if (t.bScreenCoordinates) {
            let r = this.parentWin.devicePixelRatio;
            if (t.targetMonitor) {
              let e = t.flGamepadScale || 1;
              r = t.targetMonitor.flMonitorScale / e;
            }
            return (
              e.SteamClient.Window.MoveTo(
                this.state.menuLeft,
                this.state.menuTop,
                r,
              ),
              void e.SteamClient.Window.ResizeTo(
                this.state.menuWidth,
                this.state.menuHeight,
                r,
              )
            );
          }
          this.parentWin.SteamClient.Window.GetWindowRestoreDetails((t) => {
            const r = this.state.menuLeft - this.parentWin.screenX,
              n = this.state.menuTop - this.parentWin.screenY;
            try {
              e.SteamClient.Window.PositionWindowRelative(
                t,
                r,
                n,
                this.state.menuWidth,
                this.state.menuHeight,
              );
            } catch (e) {
              console.error(e);
            }
          });
        }
        render() {
          var e, t;
          let r = { visibility: this.state.ready ? "visible" : "hidden" };
          if (this.props.options.flGamepadScale > 0)
            r.zoom = this.props.options.flGamepadScale;
          else if (
            this.props.options.bScreenCoordinates &&
            this.props.options.targetMonitor &&
            (null ===
              (t =
                null === (e = this.m_elMenu) || void 0 === e
                  ? void 0
                  : e.ownerDocument) || void 0 === t
              ? void 0
              : t.defaultView)
          ) {
            const e = this.m_elMenu.ownerDocument.defaultView.devicePixelRatio;
            1 != e &&
              (r.zoom = this.props.options.targetMonitor.flMonitorScale / e);
          }
          this.props.popup
            ? (this.PositionPopupWindow(),
              void 0 !== this.state.menuMinWidth &&
                (r.minWidth = this.state.menuMinWidth))
            : (void 0 !== this.state.menuTop
                ? (r.top = this.state.menuTop)
                : void 0 !== this.state.menuBottom &&
                  (r.bottom = this.state.menuBottom),
              void 0 !== this.state.menuLeft
                ? (r.left = this.state.menuLeft)
                : void 0 !== this.state.menuRight &&
                  (r.right = this.state.menuRight),
              void 0 !== this.state.menuHeight &&
                (r.height = this.state.menuHeight),
              void 0 !== this.state.menuWidth &&
                (r.width = this.state.menuWidth),
              void 0 !== this.state.menuMinWidth &&
                (r.minWidth = this.state.menuMinWidth));
          let n = this.props.options.strClassName || $l().contextMenu;
          return (
            (this.props.options.bCreateHidden ||
              (this.props.instance.visible && this.state.ready)) &&
              (n += " visible"),
            (n += " " + $l().ContextMenuFocusContainer),
            s.createElement(
              "div",
              {
                className: n,
                ref: this.BindMenuElement,
                style: r,
                onBlur: this.OnBlur,
                onKeyDown: this.OnKeyDown,
                tabIndex: 0,
              },
              this.props.children,
            )
          );
        }
      };
      function s_(e) {
        return s.createElement("div", {
          className: $l().ContextMenuMouseOverlay,
        });
      }
      function o_(e) {
        let t = [],
          r = (function (e) {
            let t;
            return (
              e &&
                Lt(e.currentTarget) &&
                (t = e.currentTarget.ownerDocument.defaultView),
              t
            );
          })(e),
          n = r.getSelection(),
          i = n && n.rangeCount > 0 && n.toString().length > 0,
          a = e.target,
          o = !1;
        const l = e.clientY,
          c = e.clientX;
        if (
          (a &&
            "tagName" in a &&
            (("INPUT" != a.tagName && "TEXTAREA" != a.tagName) || (o = !0)),
          w.IN_CLIENT &&
            o &&
            r.SteamClient._internal &&
            r.SteamClient._internal.GetSpellingSuggestions &&
            r.SteamClient._internal.AddWordToDictionary)
        ) {
          let [e, ...n] = r.SteamClient._internal.GetSpellingSuggestions(),
            i = a;
          if (
            (i &&
              n.forEach((e, n) => {
                t.push(
                  s.createElement(
                    r_,
                    {
                      key: `spelling_${n}_${e}`,
                      onSelected: () => {
                        i.setRangeText(e),
                          (function (e, t) {
                            let r = t.createEvent("HTMLEvents");
                            r.initEvent("change", !0, !1), e.dispatchEvent(r);
                          })(i, r.document),
                          i.setSelectionRange(i.selectionEnd, i.selectionEnd),
                          a.focus();
                      },
                      className: $l().NoSeparation,
                    },
                    e,
                  ),
                );
              }),
            e)
          ) {
            const n = 30;
            (e = e.trim()),
              t.push(
                s.createElement(
                  r_,
                  {
                    key: `addtodictionary_${e}`,
                    onSelected: () =>
                      r.SteamClient._internal.AddWordToDictionary(e),
                  },
                  We(
                    "#ContextMenu_AddToDictionary",
                    e.length < n ? e : e.substring(0, n) + "...",
                  ),
                ),
              );
          }
        }
        if (
          ((r.document.queryCommandEnabled("cut") || (i && o)) &&
            t.push(
              s.createElement(
                r_,
                {
                  key: "cut",
                  onSelected: () => {
                    r.document.execCommand("cut");
                  },
                },
                We("#ContextMenu_Cut"),
              ),
            ),
          (r.document.queryCommandEnabled("copy") || i) &&
            t.push(
              s.createElement(
                r_,
                {
                  key: "copy",
                  onSelected: () => {
                    r.document.execCommand("copy");
                  },
                  className: $l().NoSeparation,
                },
                We("#ContextMenu_Copy"),
              ),
            ),
          w.IN_CLIENT &&
            o &&
            r.SteamClient._internal &&
            r.SteamClient._internal.Paste &&
            t.push(
              s.createElement(
                r_,
                {
                  key: "paste",
                  onSelected: () => {
                    a.focus(), r.SteamClient._internal.Paste();
                  },
                  className: $l().NoSeparation,
                },
                We("#ContextMenu_Paste"),
              ),
            ),
          w.IN_CLIENT &&
            w.DEV_MODE &&
            (t.length > 0 &&
              (_o("Browser.OpenDevTools") || _o("Browser.InspectElement")) &&
              t.push(s.createElement(n_, { key: "devtools-separator" })),
            _o("Browser.OpenDevTools") &&
              t.push(
                s.createElement(
                  r_,
                  {
                    key: "opendevtools",
                    onSelected: () => {
                      a.focus(), r.SteamClient.Browser.OpenDevTools();
                    },
                    className: $l().AddSeparator,
                  },
                  "Open Dev Tools",
                ),
              ),
            _o("Browser.InspectElement") &&
              t.push(
                s.createElement(
                  r_,
                  {
                    key: "inspectelement",
                    onSelected: () => {
                      a.focus(), r.SteamClient.Browser.InspectElement(l, c);
                    },
                    className: $l().NoSeparation,
                  },
                  "Inspect Element",
                ),
              )),
          t.length)
        )
          p_(s.createElement(t_, null, t), e, { bRootContextMenu: !0 });
        else {
          if (e.shiftKey) return;
          e.preventDefault(), e.stopPropagation();
        }
      }
      (0, i.gn)([ye], a_.prototype, "BindMenuElement", null),
        (0, i.gn)([ye, Po(100)], a_.prototype, "OnMenuMutation", null),
        (0, i.gn)([ye], a_.prototype, "OnWindowResize", null),
        (0, i.gn)([ye], a_.prototype, "OnBlur", null),
        (0, i.gn)([ye], a_.prototype, "OnKeyDown", null),
        (a_ = (0, i.gn)([W.Pi], a_));
      const l_ = "EnableContextMenuBlurDelay3";
      function c_() {
        return (
          "true" === (window.localStorage && window.localStorage.getItem(l_))
        );
      }
      class u_ {
        constructor(e, t) {
          (this.m_nKey = null),
            (this.m_bVisible = !1),
            (this.m_rctLabel = void 0),
            (this.m_timerHideMenu = 0),
            (this.m_elSubmenuItem = null),
            (this.m_timerHideSubMenu = 0),
            (0, Je.rC)(this),
            (this.m_ContextMenuManager = e),
            (this.m_rctElement = t);
        }
        get Manager() {
          return this.m_ContextMenuManager;
        }
        get key() {
          return (
            null == this.m_nKey &&
              ((this.m_nKey = u_.s_nNextKeyValue), u_.s_nNextKeyValue++),
            this.m_nKey
          );
        }
        SetElement(e) {
          this.m_element = e;
        }
        SetPopup(e) {
          this.m_popupContextMenu = e;
        }
        get ReactElement() {
          return this.m_rctElement;
        }
        get label() {
          return this.m_rctLabel;
        }
        get submenu() {
          return this.m_submenu;
        }
        get visible() {
          return this.m_bVisible;
        }
        get options() {
          return this.m_options;
        }
        get position() {
          return this.m_position;
        }
        SetOnHideCallback(e) {
          this.m_fnOnHideCallback = e;
        }
        Show() {
          this.CancelHideMenuTimer(),
            (this.m_bVisible = !0),
            this.m_ContextMenuManager.ShowMenu(this);
        }
        OnCancel() {
          this.options.onCancel && this.options.onCancel(), this.Hide();
        }
        Hide(e = 0) {
          e > 0
            ? (this.m_timerHideMenu = window.setTimeout(() => {
                (this.m_timerHideMenu = 0), this.InternalHide();
              }, e))
            : this.InternalHide();
        }
        CancelHideMenuTimer() {
          this.m_timerHideMenu > 0 &&
            (clearTimeout(this.m_timerHideMenu), (this.m_timerHideMenu = 0));
        }
        SetPosition(e, t, r) {
          (this.m_options = Object.assign(
            Object.assign({}, this.m_options),
            r,
          )),
            (this.m_position.clientX = e),
            (this.m_position.clientY = t),
            (this.m_position.options = this.m_options);
        }
        ForceHide() {
          this.InternalHide();
        }
        HideIfNotInFocus() {
          this.BHasFocus() || this.BIsFocusInChildHierarchy() || this.Hide();
        }
        InternalHide() {
          this.CancelHideMenuTimer(),
            this.m_bVisible &&
              ((this.m_bVisible = !1),
              this.InternalHideSubMenu(),
              this.m_fnOnHideCallback && this.m_fnOnHideCallback(),
              this.m_ContextMenuManager.HideMenu(this));
        }
        SetTakeFocus(e) {
          this.m_fnTakeFocus = e;
        }
        ShowSubMenu(e, t) {
          return this.m_elSubmenuItem == e
            ? (this.CancelHideSubMenuTimer(), this.m_submenu.TakeFocus(), null)
            : (this.InternalHideSubMenu(),
              (this.m_elSubmenuItem = e),
              (this.m_submenu = new m_(
                this,
                t(),
                e,
                this.m_options.bForcePopup,
              )),
              this.m_submenu.Show(),
              this.m_submenu);
        }
        CancelHideSubMenuTimer() {
          this.m_timerHideSubMenu > 0 &&
            (clearTimeout(this.m_timerHideSubMenu),
            (this.m_timerHideSubMenu = 0));
        }
        HideSubMenu() {
          if (!this.m_submenu) return void this.CancelHideSubMenuTimer();
          if (this.m_timerHideSubMenu > 0) return;
          this.m_timerHideSubMenu = window.setTimeout(() => {
            this.InternalHideSubMenu(), (this.m_timerHideSubMenu = 0);
          }, 150);
        }
        OnSubMenuDismissed(e) {
          this.m_submenu == e && this.InternalHideSubMenu();
        }
        HideSelf() {
          this.m_parentInstance
            ? this.m_parentInstance.OnSubMenuDismissed(this)
            : this.InternalHide();
        }
        InternalHideSubMenu() {
          this.CancelHideSubMenuTimer(),
            this.m_submenu &&
              (this.m_submenu.m_element &&
                this.BIsFocusInChildHierarchy() &&
                this.TakeFocus(be.k_EWindowBringToFrontAndForceOS),
              (this.m_elSubmenuItem = null),
              this.m_submenu.InternalHide(),
              (this.m_submenu = null));
        }
        TakeFocus(e = be.k_EWindowBringToFrontAndForceOS) {
          this.m_popupContextMenu && this.m_popupContextMenu.Focus(e),
            this.m_fnTakeFocus && this.m_fnTakeFocus();
        }
        BInternalElementInParentHierarchy(e) {
          return (
            this.m_parentInstance &&
            (this.m_parentInstance.BIsChildElement(e) ||
              this.m_parentInstance.BInternalElementInParentHierarchy(e))
          );
        }
        BInternalElementInChildHierarchy(e) {
          return (
            this.m_submenu &&
            (this.m_submenu.BIsChildElement(e) ||
              this.m_submenu.BInternalElementInChildHierarchy(e))
          );
        }
        BIsChildElement(e) {
          return this.m_element
            ? kt(this.m_element, e)
            : kt(this.m_popupContextMenu.root_element, e);
        }
        BHasFocus() {
          return this.m_popupContextMenu
            ? this.m_popupContextMenu.focused
            : kt(this.m_element, this.m_element.ownerDocument.activeElement);
        }
        BIsFocusInChildHierarchy() {
          return (
            this.m_submenu &&
            (this.m_submenu.BHasFocus() ||
              this.m_submenu.BIsFocusInChildHierarchy())
          );
        }
        BIsElementInMenuHierarchy(e) {
          return (
            this.BInternalElementInParentHierarchy(e) ||
            this.BInternalElementInChildHierarchy(e)
          );
        }
        BIsSubMenuVisible() {
          return !!this.m_submenu;
        }
        SetLabel(e) {
          this.m_rctLabel = e;
        }
      }
      (u_.s_nNextKeyValue = 1),
        (0, i.gn)([Je.LO], u_.prototype, "m_bVisible", void 0),
        (0, i.gn)([Je.LO.ref], u_.prototype, "m_rctLabel", void 0);
      class d_ extends u_ {
        constructor(e, t, r, n, i, a) {
          super(e, t),
            (this.m_options = a || {}),
            (this.m_position = {
              element: r,
              clientX: n,
              clientY: i,
              instance: this,
              options: this.m_options,
              fnOnMenuItemSelected: () => {
                this.Hide();
              },
            });
        }
        Show() {
          super.Show();
        }
        Hide(e = 0) {
          super.Hide(e);
        }
        ForceHide() {
          super.ForceHide();
        }
        BIsSubMenu() {
          return !1;
        }
      }
      class m_ extends u_ {
        constructor(e, t, r, n) {
          super(e.Manager, t),
            (this.m_parentInstance = e),
            (this.m_options = {
              bOverlapVertical: !0,
              strClassName: e.options.strClassName,
              bFitToWindow: e.options.bFitToWindow,
              bShiftToFitWindow: e.options.bShiftToFitWindow,
              bForcePopup: n,
            }),
            (this.m_position = {
              element: r,
              clientX: null,
              clientY: null,
              instance: this,
              options: this.m_options,
              fnOnMenuItemSelected: () => {
                this.Hide();
              },
              bSubmenu: !0,
            });
        }
        Hide() {
          this.m_popupContextMenu
            ? window.setTimeout(() => {
                this.m_parentInstance.HideIfNotInFocus();
              }, 10)
            : this.m_parentInstance.Hide();
        }
        ForceHide() {
          this.m_parentInstance.ForceHide();
        }
        BIsSubMenu() {
          return !0;
        }
      }
      class __ {
        constructor() {
          this.m_mapManagers = new WeakMap();
        }
        GetContextMenuManagerFromWindow(e) {
          var t;
          let r =
            (null === (t = null == e ? void 0 : e.ownerDocument) || void 0 === t
              ? void 0
              : t.defaultView) || window;
          return this.GetContextMenuManager(r);
        }
        GetContextMenuManager(e) {
          let t = this.m_mapManagers.get(e);
          if (!t) {
            let r = e;
            for (; !t && r.opener; )
              (r = r.opener), (t = this.m_mapManagers.get(r));
          }
          return t || ((t = new wm()), this.m_mapManagers.set(e, t)), t;
        }
        SetMenuManager(e, t) {
          c(
            void 0 === this.m_mapManagers.get(e) || !t || e == window,
            `Stomping CContextMenuManager for ${e.document.title}!`,
          ),
            this.m_mapManagers.set(e, t);
        }
        RegisterChildWindow(e, t) {
          return (
            this.m_mapManagers.set(t, this.GetContextMenuManager(e)),
            () => this.m_mapManagers.delete(t)
          );
        }
      }
      const h_ = xo(0, () => new __());
      function p_(e, t, r) {
        let n,
          i,
          a,
          s = t;
        if (
          (null == s ? void 0 : s.preventDefault) &&
          (null == s ? void 0 : s.stopPropagation)
        ) {
          if (
            s.shiftKey ||
            (s.altKey && !(null == r ? void 0 : r.bRootContextMenu))
          )
            return null;
          s.preventDefault(),
            s.stopPropagation(),
            (a = s.currentTarget),
            (n = s.clientX),
            (i = s.clientY);
        } else a = t;
        let o = h_
          .GetContextMenuManagerFromWindow(a)
          .CreateContextMenuInstance(e, a, n, i, r);
        return o.Show(), (null == r ? void 0 : r.bCreateHidden) && o.Hide(), o;
      }
      var g_;
      !(function (e) {
        (e[(e.k_eLibrary = 1)] = "k_eLibrary"),
          (e[(e.k_eWishlist = 2)] = "k_eWishlist"),
          (e[(e.k_eFollowing = 4)] = "k_eFollowing"),
          (e[(e.k_eRecommended = 8)] = "k_eRecommended"),
          (e[(e.k_eSteam = 16)] = "k_eSteam"),
          (e[(e.k_eRequired = 32)] = "k_eRequired"),
          (e[(e.k_eFeatured = 64)] = "k_eFeatured"),
          (e[(e.k_eCurator = 128)] = "k_eCurator"),
          (e[(e.k_eReposted = 256)] = "k_eReposted");
      })(g_ || (g_ = {}));
      class b_ {
        GetSource() {
          return this.appInfo ? this.appInfo.source : this.clanInfo.source;
        }
        static GetEntityNameForID(e, t) {
          var r;
          if (e)
            return null === (r = Wi.Get().GetApp(e)) || void 0 === r
              ? void 0
              : r.GetName();
          if (t) {
            const e = an.GetClanInfoByClanAccountID(t);
            if (e) return e.group_name;
          }
          return We("#EventCalendar_MuteApp_Unknown");
        }
        static BHasEntityNameForID(e, t) {
          var r, n;
          return e
            ? Boolean(
                null === (r = Wi.Get().GetApp(e)) || void 0 === r
                  ? void 0
                  : r.GetName(),
              )
            : !!t &&
                !!(null === (n = an.GetClanInfoByClanAccountID(t)) ||
                void 0 === n
                  ? void 0
                  : n.group_name);
        }
        GetEntityName() {
          return b_.GetEntityNameForID(this.appid, this.clanid);
        }
        GetGameCapsule() {
          var e, t;
          if (this.appInfo)
            return null ===
              (t =
                null === (e = Wi.Get().GetApp(this.appInfo.appid)) ||
                void 0 === e
                  ? void 0
                  : e.GetAssets()) || void 0 === t
              ? void 0
              : t.GetMainCapsuleURL();
          if (this.clanInfo) {
            let e = an.GetClanInfoByClanAccountID(this.clanInfo.clanid);
            if (e) return e.avatar_full_url;
          }
          return We("#EventCalendar_MuteApp_Unknown");
        }
        GetGameIcon() {
          var e, t;
          if (this.appInfo)
            return null ===
              (t =
                null === (e = Wi.Get().GetApp(this.appInfo.appid)) ||
                void 0 === e
                  ? void 0
                  : e.GetAssets()) || void 0 === t
              ? void 0
              : t.GetCommunityIconURL();
          if (this.clanInfo) {
            let e = an.GetClanInfoByClanAccountID(this.clanInfo.clanid);
            if (e) return e.avatar_full_url;
          }
          return We("#EventCalendar_MuteApp_Unknown");
        }
      }
      var f_;
      !(function (e) {
        (e.k_ERecent = "recent"),
          (e.k_ELibrary = "library"),
          (e.k_EWishlist = "wishlist"),
          (e.k_EFollowing = "following"),
          (e.k_ERecommended = "recommended"),
          (e.k_ESteam = "steam"),
          (e.k_EFeatured = "featured"),
          (e.k_ECurator = "curator");
      })(f_ || (f_ = {}));
      const v_ = [
          f_.k_ELibrary,
          f_.k_EWishlist,
          f_.k_EFollowing,
          f_.k_ERecommended,
          f_.k_ESteam,
          f_.k_ECurator,
        ],
        y_ = [...v_, f_.k_EFeatured],
        S_ = [f_.k_EFeatured];
      var w_;
      !(function (e) {
        (e.k_ENews = "news"),
          (e.k_EEvents = "events"),
          (e.k_EStreaming = "streaming"),
          (e.k_EUpdates = "updates"),
          (e.k_EReleases = "releases"),
          (e.k_ESales = "sales");
      })(w_ || (w_ = {}));
      const C_ = [
          w_.k_ENews,
          w_.k_EEvents,
          w_.k_EStreaming,
          w_.k_EUpdates,
          w_.k_EReleases,
          w_.k_ESales,
        ],
        B_ = new Map([
          [w_.k_ENews, [28]],
          [w_.k_EEvents, [9, 27, 22, 23, 24, 35, 25, 26]],
          [w_.k_EStreaming, [11]],
          [w_.k_EUpdates, [12, 13, 14]],
          [w_.k_EReleases, [10, 29, 16, 15, 32]],
          [w_.k_ESales, [20, 21, 31, 34]],
        ]);
      function E_(e) {
        return new Map(e.map((e) => [e, !0]));
      }
      class I_ {
        constructor(e) {
          (this.m_mapEventTypeGroupsAllowed = new Map()),
            (this.m_mapGameSources = new Map()),
            (this.m_bCuratorUnhideOnFollowDialogDismissed = !1),
            (this.m_mapHiddenApps = new Map()),
            (this.m_mapHiddenClans = new Map()),
            (this.m_eStorageType = "session"),
            (0, Je.rC)(this),
            (0, Je.z)(() => {
              (null == e ? void 0 : e.rgHiddenApps) &&
                e.rgHiddenApps.forEach((e) => this.m_mapHiddenApps.set(e, !0)),
                (null == e ? void 0 : e.rgHiddenClans) &&
                  e.rgHiddenClans.forEach((e) =>
                    this.m_mapHiddenClans.set(e, !0),
                  );
            });
        }
        GetGameSources() {
          return Array.from(this.m_mapGameSources.keys());
        }
        GetStorageObject() {
          return this.m_strStorageKey
            ? "session" === this.m_eStorageType
              ? window.sessionStorage
              : window.localStorage
            : null;
        }
        GetPreferencesStorageKey() {
          return `${this.m_strStorageKey}-event-calendar-prefs`;
        }
        get enabledEventTypeSet() {
          const e = new Set();
          for (const t of Array.from(this.m_mapEventTypeGroupsAllowed.keys()))
            B_.get(t).forEach((t) => e.add(t));
          return e;
        }
        MapClanEventTypeToGroup(e) {
          let t = null;
          return (
            B_.forEach((r, n) => {
              -1 !== r.indexOf(e) && (t = n);
            }),
            t || w_.k_EEvents
          );
        }
        InitDefaultCheckboxes(e, t, r) {
          (this.m_bInitializedForUpdatesOnly = t),
            (this.m_mapEventTypeGroupsAllowed = E_(t ? [w_.k_EUpdates] : C_));
          const n = D() ? y_ : v_;
          (this.m_mapGameSources = E_(e ? n : S_)),
            r && this.m_mapGameSources.set(f_.k_EFeatured, !0);
        }
        Init(e, t, r, n, i) {
          (this.m_eStorageType = i), (this.m_strStorageKey = n);
          const a = this.GetStorageObject(),
            s = a ? a.getItem(this.GetPreferencesStorageKey()) : null;
          if (s) {
            const e = JSON.parse(s);
            if (e.rgEventTypeGroupsAllowed && e.rgGameSources) {
              const { rgEventTypeGroupsAllowed: t, rgGameSources: r } = e;
              return (
                (this.m_mapEventTypeGroupsAllowed = E_(t)),
                (this.m_mapGameSources = E_(r)),
                void (
                  void 0 !== e.bCuratorUnhideOnFollowDismissed &&
                  (this.m_bCuratorUnhideOnFollowDialogDismissed =
                    e.bCuratorUnhideOnFollowDismissed)
                )
              );
            }
          }
          this.InitDefaultCheckboxes(e, t, r);
        }
        SaveFilterPreferences() {
          const e = this.GetStorageObject();
          if (!e) return;
          const t = {
            rgEventTypeGroupsAllowed: Array.from(
              this.m_mapEventTypeGroupsAllowed.keys(),
            ),
            rgGameSources: Array.from(this.m_mapGameSources.keys()),
            bCuratorUnhideOnFollowDismissed:
              this.m_bCuratorUnhideOnFollowDialogDismissed,
          };
          e.setItem(this.GetPreferencesStorageKey(), JSON.stringify(t));
        }
        BCuratorUnhideOnFollowDialogDismissed() {
          return this.m_bCuratorUnhideOnFollowDialogDismissed;
        }
        SetCuratorUnhideOnFollowDialogDismissed(e) {
          (this.m_bCuratorUnhideOnFollowDialogDismissed = e),
            this.SaveFilterPreferences();
        }
        BIsEventTypeGroupAllowed(e) {
          return this.m_mapEventTypeGroupsAllowed.has(e);
        }
        BIsGameSourceAllowed(e) {
          return (
            !(e === f_.k_EFollowing && !cn.bIsFollowingEnabled) &&
            !(e === f_.k_ECurator && !cn.bIsCuratorsEnabled) &&
            this.m_mapGameSources.has(e)
          );
        }
        SetEventTypeGroupAllowed(e, t) {
          t
            ? this.m_mapEventTypeGroupsAllowed.set(e, !0)
            : this.m_mapEventTypeGroupsAllowed.delete(e),
            this.SaveFilterPreferences(),
            T_.RecordFilterChangeEvent(this);
        }
        SetGameSourceAllowed(e, t) {
          t
            ? (this.m_mapGameSources.set(e, !0),
              e == f_.k_ERecent
                ? this.m_mapGameSources.delete(f_.k_ELibrary)
                : e == f_.k_ELibrary &&
                  (c(
                    !this.m_mapGameSources.has(f_.k_ERecent),
                    "Setting Library although Recent already set - illusion was broken",
                  ),
                  this.m_mapGameSources.delete(f_.k_ERecent)))
            : (this.m_mapGameSources.delete(e),
              e == f_.k_ERecent
                ? this.m_mapGameSources.set(f_.k_ELibrary, !0)
                : e == f_.k_ELibrary &&
                  this.m_mapGameSources.delete(f_.k_ERecent)),
            this.SaveFilterPreferences(),
            T_.RecordFilterChangeEvent(this);
        }
        BShouldDisplayEvent(e) {
          const t = e.GetSource(),
            r = Boolean(
              e.appInfo &&
                e.appInfo.last_played &&
                e.appInfo.last_played + 15552e3 >= cn.GetTimeNowWithOverride(),
            );
          return (
            !!(
              this.enabledEventTypeSet.has(e.event_type) ||
              (this.m_bInitializedForUpdatesOnly &&
                this.BIsEventTypeGroupAllowed(w_.k_EUpdates) &&
                28 == e.event_type &&
                e.start_time < 1599202800)
            ) &&
            !this.m_mapHiddenApps.has(e.appid) &&
              !this.m_mapHiddenClans.has(e.clanid) &&
            (!!(t & g_.k_eRequired || t & g_.k_eReposted) ||
              Boolean(
                (this.BIsGameSourceAllowed(f_.k_ERecent) && r) ||
                  (this.BIsGameSourceAllowed(f_.k_ELibrary) &&
                    t & g_.k_eLibrary) ||
                  (this.BIsGameSourceAllowed(f_.k_EWishlist) &&
                    t & g_.k_eWishlist) ||
                  (this.BIsGameSourceAllowed(f_.k_EFollowing) &&
                    t & g_.k_eFollowing) ||
                  (this.BIsGameSourceAllowed(f_.k_ERecommended) &&
                    t & g_.k_eRecommended) ||
                  (this.BIsGameSourceAllowed(f_.k_ESteam) && t & g_.k_eSteam) ||
                  (this.BIsGameSourceAllowed(f_.k_EFeatured) &&
                    t & g_.k_eFeatured) ||
                  (this.BIsGameSourceAllowed(f_.k_ECurator) &&
                    t & g_.k_eCurator),
              ))
          );
        }
        BAreAllEventsHidden() {
          return (
            0 == this.m_mapEventTypeGroupsAllowed.size ||
            0 == this.m_mapGameSources.size
          );
        }
        BAreAnyEventsFiltered(e) {
          const t = D() ? y_ : v_;
          return (
            (e ? t : S_).some((e) => !this.BIsGameSourceAllowed(e)) ||
            C_.some((e) => !this.BIsEventTypeGroupAllowed(e))
          );
        }
        BIsClanVisible(e) {
          return !this.m_mapHiddenClans.has(e);
        }
        SetClanVisibility(e, t) {
          t
            ? this.m_mapHiddenClans.has(e) && this.m_mapHiddenClans.delete(e)
            : this.m_mapHiddenClans.has(e) || this.m_mapHiddenClans.set(e, !0);
        }
        BIsAppVisible(e) {
          return !this.m_mapHiddenApps.has(e);
        }
        SetAppVisibility(e, t) {
          t
            ? this.m_mapHiddenApps.has(e) && this.m_mapHiddenApps.delete(e)
            : this.m_mapHiddenApps.has(e) || this.m_mapHiddenApps.set(e, !0);
        }
      }
      var R_;
      (0, i.gn)([Je.LO], I_.prototype, "m_mapEventTypeGroupsAllowed", void 0),
        (0, i.gn)([Je.LO], I_.prototype, "m_mapGameSources", void 0),
        (0, i.gn)(
          [Je.LO],
          I_.prototype,
          "m_bCuratorUnhideOnFollowDialogDismissed",
          void 0,
        ),
        (0, i.gn)([Je.LO], I_.prototype, "m_mapHiddenApps", void 0),
        (0, i.gn)([Je.LO], I_.prototype, "m_mapHiddenClans", void 0),
        (0, i.gn)(
          [(0, Je.Fl)({ keepAlive: !0, equals: Je.p6.structural })],
          I_.prototype,
          "enabledEventTypeSet",
          null,
        ),
        (0, i.gn)([Je.aD], I_.prototype, "SetEventTypeGroupAllowed", null),
        (0, i.gn)([Je.aD], I_.prototype, "SetGameSourceAllowed", null),
        (function (e) {
          (e[(e.k_eDiscussions = 0)] = "k_eDiscussions"),
            (e[(e.k_eThumbsUp = 1)] = "k_eThumbsUp"),
            (e[(e.k_eClickThrough = 2)] = "k_eClickThrough"),
            (e[(e.k_eMuted = 3)] = "k_eMuted"),
            (e[(e.k_ePlayedVideo = 4)] = "k_ePlayedVideo"),
            (e[(e.k_eReminder_Opened = 5)] = "k_eReminder_Opened"),
            (e[(e.k_eReminder_MobilePush = 6)] = "k_eReminder_MobilePush"),
            (e[(e.k_eReminder_Email = 7)] = "k_eReminder_Email"),
            (e[(e.k_eReminder_CalendarApple = 8)] =
              "k_eReminder_CalendarApple"),
            (e[(e.k_eReminder_CalendarGoogle = 9)] =
              "k_eReminder_CalendarGoogle"),
            (e[(e.k_eReminder_CalendarOutlook = 10)] =
              "k_eReminder_CalendarOutlook"),
            (e[(e.k_eReminder_EmailUnverified = 11)] =
              "k_eReminder_EmailUnverified"),
            (e[(e.k_eReminder_MobilePushMissing = 12)] =
              "k_eReminder_MobilePushMissing");
        })(R_ || (R_ = {}));
      const T_ = new (class {
        constructor() {
          (this.m_nPastViewedIndex = 0),
            (this.m_nPastViewedDays = 0),
            (this.m_nFutureViewedIndex = 0),
            (this.m_nFutureViewableEvents = 0),
            (this.m_nLastRecordedFilter = 0),
            (this.m_sBrowserID = void 0),
            (this.m_scheduledFilterChange = new Ee()),
            (this.m_scheduledFutureStats = new Ee()),
            (this.m_scheduledPastStats = new Ee());
        }
        RecordViewedEvent(e, t) {
          const r = e.GetStoreInitializationTimestamp().getTime() / 1e3;
          this.m_nFutureViewableEvents = 0;
          let n,
            i = 0,
            a = null;
          const s = e.GetCurrentlyLoadedItemsForStats();
          for (const e of s) {
            const s = e.start_time > r;
            if ((e.unique_id == t && ((n = i), (a = e)), s))
              this.m_nFutureViewableEvents++;
            else if (void 0 !== n) break;
            i++;
          }
          if (void 0 !== n)
            if (n < this.m_nFutureViewableEvents) {
              const t = this.m_nFutureViewableEvents - n;
              if (this.m_nFutureViewedIndex < t) {
                this.m_nFutureViewedIndex = t;
                const r = () => {
                    const t =
                      Math.min(this.m_nFutureViewedIndex, 4095) |
                      (Math.min(this.m_nFutureViewableEvents, 255) << 12) |
                      (Math.min(this.GetTimeSpentOnPageS(e), 2047) << 20);
                    T_.SendExperimentEventToSteam(18, t);
                  },
                  n = 500;
                this.m_scheduledFutureStats.Schedule(n, r);
              }
            } else {
              const t = n - this.m_nFutureViewableEvents;
              if (this.m_nPastViewedIndex < t) {
                (this.m_nPastViewedIndex = t),
                  (this.m_nPastViewedDays = Math.floor(
                    (r - a.start_time) / 86400,
                  ));
                const n = () => {
                    const t =
                      Math.min(this.m_nPastViewedIndex, 4095) |
                      (Math.min(this.m_nPastViewedDays, 255) << 12) |
                      (Math.min(this.GetTimeSpentOnPageS(e), 2047) << 20);
                    T_.SendExperimentEventToSteam(17, t);
                  },
                  i = 500;
                this.m_scheduledPastStats.Schedule(i, n);
              }
            }
        }
        RecordFilterChangeEvent(e) {
          this.m_scheduledFilterChange.Schedule(1e3, () => {
            let t = 0;
            e.BIsGameSourceAllowed(f_.k_ELibrary) && (t |= 1),
              e.BIsGameSourceAllowed(f_.k_EWishlist) && (t |= 2),
              e.BIsGameSourceAllowed(f_.k_EFollowing) && (t |= 4),
              e.BIsGameSourceAllowed(f_.k_ERecommended) && (t |= 8),
              e.BIsGameSourceAllowed(f_.k_ESteam) && (t |= 16),
              e.BIsGameSourceAllowed(f_.k_EFeatured) && (t |= 32),
              e.BIsGameSourceAllowed(f_.k_ERecent) && (t |= 64),
              e.BIsEventTypeGroupAllowed(w_.k_ENews) && (t |= 1024),
              e.BIsEventTypeGroupAllowed(w_.k_EEvents) && (t |= 2048),
              e.BIsEventTypeGroupAllowed(w_.k_EStreaming) && (t |= 4096),
              e.BIsEventTypeGroupAllowed(w_.k_EUpdates) && (t |= 8192),
              e.BIsEventTypeGroupAllowed(w_.k_EReleases) && (t |= 16384),
              e.BIsEventTypeGroupAllowed(w_.k_ESales) && (t |= 32768),
              t != this.m_nLastRecordedFilter &&
                ((this.m_nLastRecordedFilter = t),
                this.SendExperimentEventToSteam(16, t));
          });
        }
        GetTimeSpentOnPageS(e) {
          const t = e.GetStoreInitializationTimestamp(),
            r = new Date();
          return Math.max(0, Math.floor((r.getTime() - t.getTime()) / 1e3));
        }
        RecordAppInteractionEvent(e, t) {
          this.SendExperimentEventToSteam(19, t);
        }
        SendExperimentEventToSteam(e, t) {
          this.InitBrowserID();
          const r = w.STORE_BASE_URL + "events/ajaxreportnewshubstats/",
            n = new URLSearchParams();
          n.append("page_action", "" + e),
            n.append("snr", w.SNR),
            n.append("uint_data", "" + t),
            n.append("str_data", this.m_sBrowserID),
            Ze().post(r, n);
        }
        InitBrowserID() {
          if (void 0 === this.m_sBrowserID)
            if (w.IN_CLIENT) this.m_sBrowserID = "steam";
            else {
              const e = navigator.userAgent;
              /iPhone|iPad|iPod/i.test(e) ||
              (/Macintosh/i.test(e) && /Safari/i.test(e))
                ? (this.m_sBrowserID = "ios")
                : /Android/i.test(e)
                  ? (this.m_sBrowserID = "android")
                  : (this.m_sBrowserID = "");
            }
        }
      })();
      window.g_EventCalendarTrackingStore = T_;
      const M_ = lt.Message;
      class D_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            D_.prototype.appids || gt(D_.M()),
            M_.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            D_.sm_m ||
              (D_.sm_m = {
                proto: D_,
                fields: {
                  appids: {
                    n: 1,
                    r: !0,
                    q: !0,
                    br: ct.readInt32,
                    pbr: ct.readPackedInt32,
                    bw: ut.writeRepeatedInt32,
                  },
                  language: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            D_.sm_m
          );
        }
        static MBF() {
          return D_.sm_mbf || (D_.sm_mbf = dt(D_.M())), D_.sm_mbf;
        }
        toObject(e = !1) {
          return D_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(D_.M(), e, t);
        }
        static fromObject(e) {
          return mt(D_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new D_();
          return D_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(D_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return D_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(D_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return D_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetApps_Request";
        }
      }
      class A_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            A_.prototype.apps || gt(A_.M()),
            M_.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            A_.sm_m ||
              (A_.sm_m = {
                proto: A_,
                fields: { apps: { n: 1, c: Et, r: !0, q: !0 } },
              }),
            A_.sm_m
          );
        }
        static MBF() {
          return A_.sm_mbf || (A_.sm_mbf = dt(A_.M())), A_.sm_mbf;
        }
        toObject(e = !1) {
          return A_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(A_.M(), e, t);
        }
        static fromObject(e) {
          return mt(A_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new A_();
          return A_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(A_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return A_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(A_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return A_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetApps_Response";
        }
      }
      class O_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            O_.prototype.appid || gt(O_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            O_.sm_m ||
              (O_.sm_m = {
                proto: O_,
                fields: {
                  appid: { n: 1, br: ct.readInt32, bw: ut.writeInt32 },
                  language: { n: 2, br: ct.readString, bw: ut.writeString },
                },
              }),
            O_.sm_m
          );
        }
        static MBF() {
          return O_.sm_mbf || (O_.sm_mbf = dt(O_.M())), O_.sm_mbf;
        }
        toObject(e = !1) {
          return O_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(O_.M(), e, t);
        }
        static fromObject(e) {
          return mt(O_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new O_();
          return O_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(O_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return O_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(O_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return O_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetAppRichPresenceLocalization_Request";
        }
      }
      class F_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            F_.prototype.appid || gt(F_.M()),
            M_.initialize(this, e, 0, -1, [2], null);
        }
        static M() {
          return (
            F_.sm_m ||
              (F_.sm_m = {
                proto: F_,
                fields: {
                  appid: { n: 1, br: ct.readInt32, bw: ut.writeInt32 },
                  token_lists: { n: 2, c: k_, r: !0, q: !0 },
                },
              }),
            F_.sm_m
          );
        }
        static MBF() {
          return F_.sm_mbf || (F_.sm_mbf = dt(F_.M())), F_.sm_mbf;
        }
        toObject(e = !1) {
          return F_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(F_.M(), e, t);
        }
        static fromObject(e) {
          return mt(F_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new F_();
          return F_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(F_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return F_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(F_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return F_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetAppRichPresenceLocalization_Response";
        }
      }
      class L_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            L_.prototype.name || gt(L_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            L_.sm_m ||
              (L_.sm_m = {
                proto: L_,
                fields: {
                  name: { n: 1, br: ct.readString, bw: ut.writeString },
                  value: { n: 2, br: ct.readString, bw: ut.writeString },
                },
              }),
            L_.sm_m
          );
        }
        static MBF() {
          return L_.sm_mbf || (L_.sm_mbf = dt(L_.M())), L_.sm_mbf;
        }
        toObject(e = !1) {
          return L_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(L_.M(), e, t);
        }
        static fromObject(e) {
          return mt(L_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new L_();
          return L_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(L_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return L_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(L_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return L_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetAppRichPresenceLocalization_Response_Token";
        }
      }
      class k_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            k_.prototype.language || gt(k_.M()),
            M_.initialize(this, e, 0, -1, [2], null);
        }
        static M() {
          return (
            k_.sm_m ||
              (k_.sm_m = {
                proto: k_,
                fields: {
                  language: { n: 1, br: ct.readString, bw: ut.writeString },
                  tokens: { n: 2, c: L_, r: !0, q: !0 },
                },
              }),
            k_.sm_m
          );
        }
        static MBF() {
          return k_.sm_mbf || (k_.sm_mbf = dt(k_.M())), k_.sm_mbf;
        }
        toObject(e = !1) {
          return k_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(k_.M(), e, t);
        }
        static fromObject(e) {
          return mt(k_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new k_();
          return k_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(k_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return k_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(k_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return k_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetAppRichPresenceLocalization_Response_TokenList";
        }
      }
      class N_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            N_.prototype.steamid || gt(N_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            N_.sm_m ||
              (N_.sm_m = {
                proto: N_,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  comment_thread_type: {
                    n: 2,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                  gidfeature: {
                    n: 3,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  gidfeature2: {
                    n: 4,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  commentthreadid: {
                    n: 5,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  start: { n: 6, br: ct.readInt32, bw: ut.writeInt32 },
                  count: { n: 7, br: ct.readInt32, bw: ut.writeInt32 },
                  upvoters: { n: 8, br: ct.readInt32, bw: ut.writeInt32 },
                  include_deleted: { n: 9, br: ct.readBool, bw: ut.writeBool },
                  gidcomment: {
                    n: 10,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  time_oldest: { n: 11, br: ct.readUint32, bw: ut.writeUint32 },
                  oldest_first: { n: 12, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            N_.sm_m
          );
        }
        static MBF() {
          return N_.sm_mbf || (N_.sm_mbf = dt(N_.M())), N_.sm_mbf;
        }
        toObject(e = !1) {
          return N_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(N_.M(), e, t);
        }
        static fromObject(e) {
          return mt(N_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new N_();
          return N_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(N_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return N_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(N_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return N_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetCommentThread_Request";
        }
      }
      class P_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            P_.prototype.gidcomment || gt(P_.M()),
            M_.initialize(this, e, 0, -1, [12], null);
        }
        static M() {
          return (
            P_.sm_m ||
              (P_.sm_m = {
                proto: P_,
                fields: {
                  gidcomment: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  steamid: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  timestamp: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  text: { n: 4, br: ct.readString, bw: ut.writeString },
                  upvotes: { n: 5, br: ct.readInt32, bw: ut.writeInt32 },
                  hidden: { n: 6, br: ct.readBool, bw: ut.writeBool },
                  hidden_by_user: { n: 7, br: ct.readBool, bw: ut.writeBool },
                  deleted: { n: 8, br: ct.readBool, bw: ut.writeBool },
                  ipaddress: { n: 9, c: wt },
                  total_hidden: { n: 10, br: ct.readInt32, bw: ut.writeInt32 },
                  upvoted_by_user: { n: 11, br: ct.readBool, bw: ut.writeBool },
                  reactions: { n: 12, c: G_, r: !0, q: !0 },
                  gidparentcomment: {
                    n: 13,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                },
              }),
            P_.sm_m
          );
        }
        static MBF() {
          return P_.sm_mbf || (P_.sm_mbf = dt(P_.M())), P_.sm_mbf;
        }
        toObject(e = !1) {
          return P_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(P_.M(), e, t);
        }
        static fromObject(e) {
          return mt(P_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new P_();
          return P_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(P_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return P_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(P_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return P_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_Comment";
        }
      }
      class G_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            G_.prototype.reactionid || gt(G_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            G_.sm_m ||
              (G_.sm_m = {
                proto: G_,
                fields: {
                  reactionid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  count: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            G_.sm_m
          );
        }
        static MBF() {
          return G_.sm_mbf || (G_.sm_mbf = dt(G_.M())), G_.sm_mbf;
        }
        toObject(e = !1) {
          return G_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(G_.M(), e, t);
        }
        static fromObject(e) {
          return mt(G_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new G_();
          return G_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(G_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return G_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(G_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return G_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_Comment_Reaction";
        }
      }
      class x_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            x_.prototype.comments || gt(x_.M()),
            M_.initialize(this, e, 0, -1, [1, 2, 9], null);
        }
        static M() {
          return (
            x_.sm_m ||
              (x_.sm_m = {
                proto: x_,
                fields: {
                  comments: { n: 1, c: P_, r: !0, q: !0 },
                  deleted_comments: { n: 2, c: P_, r: !0, q: !0 },
                  steamid: {
                    n: 3,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  commentthreadid: {
                    n: 4,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  start: { n: 5, br: ct.readInt32, bw: ut.writeInt32 },
                  count: { n: 6, br: ct.readInt32, bw: ut.writeInt32 },
                  total_count: { n: 7, br: ct.readInt32, bw: ut.writeInt32 },
                  upvotes: { n: 8, br: ct.readInt32, bw: ut.writeInt32 },
                  upvoters: {
                    n: 9,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                  user_subscribed: { n: 10, br: ct.readBool, bw: ut.writeBool },
                  user_upvoted: { n: 11, br: ct.readBool, bw: ut.writeBool },
                  answer_commentid: {
                    n: 12,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  answer_actor: {
                    n: 13,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  answer_actor_rank: {
                    n: 14,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                  can_post: { n: 15, br: ct.readBool, bw: ut.writeBool },
                  comment_thread_type: {
                    n: 16,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  gidfeature: {
                    n: 17,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  gidfeature2: {
                    n: 18,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                },
              }),
            x_.sm_m
          );
        }
        static MBF() {
          return x_.sm_mbf || (x_.sm_mbf = dt(x_.M())), x_.sm_mbf;
        }
        toObject(e = !1) {
          return x_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(x_.M(), e, t);
        }
        static fromObject(e) {
          return mt(x_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new x_();
          return x_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(x_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return x_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(x_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return x_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetCommentThread_Response";
        }
      }
      class U_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            U_.prototype.steamid || gt(U_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            U_.sm_m ||
              (U_.sm_m = {
                proto: U_,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  comment_thread_type: {
                    n: 2,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                  gidfeature: {
                    n: 3,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  gidfeature2: {
                    n: 4,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  text: { n: 6, br: ct.readString, bw: ut.writeString },
                  gidparentcomment: {
                    n: 7,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  suppress_notifications: {
                    n: 8,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  is_report: { n: 9, br: ct.readBool, bw: ut.writeBool },
                  start_hidden: { n: 10, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            U_.sm_m
          );
        }
        static MBF() {
          return U_.sm_mbf || (U_.sm_mbf = dt(U_.M())), U_.sm_mbf;
        }
        toObject(e = !1) {
          return U_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(U_.M(), e, t);
        }
        static fromObject(e) {
          return mt(U_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new U_();
          return U_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(U_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return U_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(U_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return U_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_PostCommentToThread_Request";
        }
      }
      class z_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            z_.prototype.gidcomment || gt(z_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            z_.sm_m ||
              (z_.sm_m = {
                proto: z_,
                fields: {
                  gidcomment: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  commentthreadid: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  count: { n: 3, br: ct.readInt32, bw: ut.writeInt32 },
                  upvotes: { n: 4, br: ct.readInt32, bw: ut.writeInt32 },
                },
              }),
            z_.sm_m
          );
        }
        static MBF() {
          return z_.sm_mbf || (z_.sm_mbf = dt(z_.M())), z_.sm_mbf;
        }
        toObject(e = !1) {
          return z_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(z_.M(), e, t);
        }
        static fromObject(e) {
          return mt(z_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new z_();
          return z_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(z_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return z_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(z_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return z_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_PostCommentToThread_Response";
        }
      }
      class W_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            W_.prototype.steamid || gt(W_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            W_.sm_m ||
              (W_.sm_m = {
                proto: W_,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  comment_thread_type: {
                    n: 2,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                  gidfeature: {
                    n: 3,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  gidfeature2: {
                    n: 4,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  gidcomment: {
                    n: 5,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  undelete: { n: 6, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            W_.sm_m
          );
        }
        static MBF() {
          return W_.sm_mbf || (W_.sm_mbf = dt(W_.M())), W_.sm_mbf;
        }
        toObject(e = !1) {
          return W_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(W_.M(), e, t);
        }
        static fromObject(e) {
          return mt(W_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new W_();
          return W_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(W_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return W_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(W_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return W_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_DeleteCommentFromThread_Request";
        }
      }
      class j_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), M_.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return j_.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new j_();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new j_();
          return j_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return j_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return j_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_DeleteCommentFromThread_Response";
        }
      }
      class V_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            V_.prototype.commentthreadtype || gt(V_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            V_.sm_m ||
              (V_.sm_m = {
                proto: V_,
                fields: {
                  commentthreadtype: {
                    n: 1,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  steamid: {
                    n: 2,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  gidfeature: {
                    n: 3,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  gidfeature2: {
                    n: 4,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  gidcomment: {
                    n: 5,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  rate_up: { n: 6, br: ct.readBool, bw: ut.writeBool },
                  suppress_notifications: {
                    n: 7,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            V_.sm_m
          );
        }
        static MBF() {
          return V_.sm_mbf || (V_.sm_mbf = dt(V_.M())), V_.sm_mbf;
        }
        toObject(e = !1) {
          return V_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(V_.M(), e, t);
        }
        static fromObject(e) {
          return mt(V_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new V_();
          return V_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(V_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return V_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(V_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return V_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_RateCommentThread_Request";
        }
      }
      class H_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            H_.prototype.gidcomment || gt(H_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            H_.sm_m ||
              (H_.sm_m = {
                proto: H_,
                fields: {
                  gidcomment: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  commentthreadid: {
                    n: 2,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  count: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  upvotes: { n: 4, br: ct.readUint32, bw: ut.writeUint32 },
                  has_upvoted: { n: 5, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            H_.sm_m
          );
        }
        static MBF() {
          return H_.sm_mbf || (H_.sm_mbf = dt(H_.M())), H_.sm_mbf;
        }
        toObject(e = !1) {
          return H_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(H_.M(), e, t);
        }
        static fromObject(e) {
          return mt(H_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new H_();
          return H_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(H_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return H_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(H_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return H_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_RateCommentThread_Response";
        }
      }
      class q_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            q_.prototype.commentthreadtype || gt(q_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            q_.sm_m ||
              (q_.sm_m = {
                proto: q_,
                fields: {
                  commentthreadtype: {
                    n: 1,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  steamid: {
                    n: 2,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  gidfeature: {
                    n: 3,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  gidfeature2: {
                    n: 4,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  gidcomment: {
                    n: 5,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  max_results: { n: 6, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            q_.sm_m
          );
        }
        static MBF() {
          return q_.sm_mbf || (q_.sm_mbf = dt(q_.M())), q_.sm_mbf;
        }
        toObject(e = !1) {
          return q_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(q_.M(), e, t);
        }
        static fromObject(e) {
          return mt(q_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new q_();
          return q_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(q_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return q_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(q_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return q_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetCommentThreadRatings_Request";
        }
      }
      class K_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            K_.prototype.commentthreadid || gt(K_.M()),
            M_.initialize(this, e, 0, -1, [5], null);
        }
        static M() {
          return (
            K_.sm_m ||
              (K_.sm_m = {
                proto: K_,
                fields: {
                  commentthreadid: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  gidcomment: {
                    n: 2,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  upvotes: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  has_upvoted: { n: 4, br: ct.readBool, bw: ut.writeBool },
                  upvoter_accountids: {
                    n: 5,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                },
              }),
            K_.sm_m
          );
        }
        static MBF() {
          return K_.sm_mbf || (K_.sm_mbf = dt(K_.M())), K_.sm_mbf;
        }
        toObject(e = !1) {
          return K_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(K_.M(), e, t);
        }
        static fromObject(e) {
          return mt(K_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new K_();
          return K_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(K_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return K_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(K_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return K_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetCommentThreadRatings_Response";
        }
      }
      class $_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            $_.prototype.announcementid || gt($_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            $_.sm_m ||
              ($_.sm_m = {
                proto: $_,
                fields: {
                  announcementid: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  vote_up: { n: 2, br: ct.readBool, bw: ut.writeBool },
                  clan_accountid: {
                    n: 3,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            $_.sm_m
          );
        }
        static MBF() {
          return $_.sm_mbf || ($_.sm_mbf = dt($_.M())), $_.sm_mbf;
        }
        toObject(e = !1) {
          return $_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t($_.M(), e, t);
        }
        static fromObject(e) {
          return mt($_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new $_();
          return $_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht($_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return $_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt($_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return $_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_RateClanAnnouncement_Request";
        }
      }
      class Y_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), M_.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return Y_.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new Y_();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Y_();
          return Y_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Y_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Y_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_RateClanAnnouncement_Response";
        }
      }
      class Q_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Q_.prototype.announcementid || gt(Q_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Q_.sm_m ||
              (Q_.sm_m = {
                proto: Q_,
                fields: {
                  announcementid: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                },
              }),
            Q_.sm_m
          );
        }
        static MBF() {
          return Q_.sm_mbf || (Q_.sm_mbf = dt(Q_.M())), Q_.sm_mbf;
        }
        toObject(e = !1) {
          return Q_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Q_.M(), e, t);
        }
        static fromObject(e) {
          return mt(Q_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Q_();
          return Q_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Q_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Q_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Q_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Q_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetClanAnnouncementVoteForUser_Request";
        }
      }
      class X_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            X_.prototype.voted_up || gt(X_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            X_.sm_m ||
              (X_.sm_m = {
                proto: X_,
                fields: {
                  voted_up: { n: 1, br: ct.readBool, bw: ut.writeBool },
                  voted_down: { n: 2, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            X_.sm_m
          );
        }
        static MBF() {
          return X_.sm_mbf || (X_.sm_mbf = dt(X_.M())), X_.sm_mbf;
        }
        toObject(e = !1) {
          return X_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(X_.M(), e, t);
        }
        static fromObject(e) {
          return mt(X_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new X_();
          return X_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(X_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return X_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(X_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return X_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetClanAnnouncementVoteForUser_Response";
        }
      }
      class Z_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Z_.prototype.steamid || gt(Z_.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Z_.sm_m ||
              (Z_.sm_m = {
                proto: Z_,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  filter_user_uploaded_only: {
                    n: 2,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            Z_.sm_m
          );
        }
        static MBF() {
          return Z_.sm_mbf || (Z_.sm_mbf = dt(Z_.M())), Z_.sm_mbf;
        }
        toObject(e = !1) {
          return Z_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Z_.M(), e, t);
        }
        static fromObject(e) {
          return mt(Z_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Z_();
          return Z_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Z_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Z_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Z_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Z_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetAvatarHistory_Request";
        }
      }
      class J_ extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            J_.prototype.avatars || gt(J_.M()),
            M_.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            J_.sm_m ||
              (J_.sm_m = {
                proto: J_,
                fields: { avatars: { n: 1, c: eh, r: !0, q: !0 } },
              }),
            J_.sm_m
          );
        }
        static MBF() {
          return J_.sm_mbf || (J_.sm_mbf = dt(J_.M())), J_.sm_mbf;
        }
        toObject(e = !1) {
          return J_.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(J_.M(), e, t);
        }
        static fromObject(e) {
          return mt(J_.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new J_();
          return J_.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(J_.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return J_.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(J_.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return J_.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetAvatarHistory_Response";
        }
      }
      class eh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            eh.prototype.avatar_sha1 || gt(eh.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            eh.sm_m ||
              (eh.sm_m = {
                proto: eh,
                fields: {
                  avatar_sha1: { n: 1, br: ct.readString, bw: ut.writeString },
                  user_uploaded: { n: 2, br: ct.readBool, bw: ut.writeBool },
                  timestamp: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            eh.sm_m
          );
        }
        static MBF() {
          return eh.sm_mbf || (eh.sm_mbf = dt(eh.M())), eh.sm_mbf;
        }
        toObject(e = !1) {
          return eh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(eh.M(), e, t);
        }
        static fromObject(e) {
          return mt(eh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new eh();
          return eh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(eh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return eh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(eh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return eh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetAvatarHistory_Response_AvatarData";
        }
      }
      class th extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            th.prototype.priority || gt(th.M()),
            M_.initialize(this, e, 0, -1, [2], null);
        }
        static M() {
          return (
            th.sm_m ||
              (th.sm_m = {
                proto: th,
                fields: {
                  priority: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  appid: {
                    n: 2,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                },
              }),
            th.sm_m
          );
        }
        static MBF() {
          return th.sm_mbf || (th.sm_mbf = dt(th.M())), th.sm_mbf;
        }
        toObject(e = !1) {
          return th.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(th.M(), e, t);
        }
        static fromObject(e) {
          return mt(th.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new th();
          return th.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(th.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return th.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(th.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return th.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAppPriority";
        }
      }
      class rh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            rh.prototype.count || gt(rh.M()),
            M_.initialize(this, e, 0, -1, [5, 6, 8], null);
        }
        static M() {
          return (
            rh.sm_m ||
              (rh.sm_m = {
                proto: rh,
                fields: {
                  count: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  offset: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  rtime32_start_time: {
                    n: 3,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  rtime32_end_time: {
                    n: 4,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  language_preference: {
                    n: 5,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                  filter_event_type: {
                    n: 6,
                    r: !0,
                    q: !0,
                    br: ct.readEnum,
                    pbr: ct.readPackedEnum,
                    bw: ut.writeRepeatedEnum,
                  },
                  filter_to_appid: { n: 7, br: ct.readBool, bw: ut.writeBool },
                  app_list: { n: 8, c: th, r: !0, q: !0 },
                  count_after: {
                    n: 9,
                    d: 0,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  count_before: {
                    n: 10,
                    d: 0,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            rh.sm_m
          );
        }
        static MBF() {
          return rh.sm_mbf || (rh.sm_mbf = dt(rh.M())), rh.sm_mbf;
        }
        toObject(e = !1) {
          return rh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(rh.M(), e, t);
        }
        static fromObject(e) {
          return mt(rh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new rh();
          return rh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(rh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return rh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(rh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return rh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetUserPartnerEventNews_Request";
        }
      }
      class nh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            nh.prototype.results || gt(nh.M()),
            M_.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            nh.sm_m ||
              (nh.sm_m = {
                proto: nh,
                fields: { results: { n: 1, c: Rt, r: !0, q: !0 } },
              }),
            nh.sm_m
          );
        }
        static MBF() {
          return nh.sm_mbf || (nh.sm_mbf = dt(nh.M())), nh.sm_mbf;
        }
        toObject(e = !1) {
          return nh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(nh.M(), e, t);
        }
        static fromObject(e) {
          return mt(nh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new nh();
          return nh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(nh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return nh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(nh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return nh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetUserPartnerEventNews_Response";
        }
      }
      class ih extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ih.prototype.include_steam_blog || gt(ih.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ih.sm_m ||
              (ih.sm_m = {
                proto: ih,
                fields: {
                  include_steam_blog: {
                    n: 1,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  filter_to_played_within_days: {
                    n: 2,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  include_only_game_updates: {
                    n: 3,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            ih.sm_m
          );
        }
        static MBF() {
          return ih.sm_mbf || (ih.sm_mbf = dt(ih.M())), ih.sm_mbf;
        }
        toObject(e = !1) {
          return ih.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ih.M(), e, t);
        }
        static fromObject(e) {
          return mt(ih.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ih();
          return ih.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ih.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ih.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ih.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ih.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetBestEventsForUser_Request";
        }
      }
      class ah extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ah.prototype.clanid || gt(ah.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ah.sm_m ||
              (ah.sm_m = {
                proto: ah,
                fields: {
                  clanid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  event_gid: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  announcement_gid: {
                    n: 3,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  appid: { n: 4, br: ct.readUint32, bw: ut.writeUint32 },
                  possible_takeover: {
                    n: 5,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  rtime32_last_modified: {
                    n: 6,
                    d: 0,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  user_app_priority: {
                    n: 7,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                },
              }),
            ah.sm_m
          );
        }
        static MBF() {
          return ah.sm_mbf || (ah.sm_mbf = dt(ah.M())), ah.sm_mbf;
        }
        toObject(e = !1) {
          return ah.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ah.M(), e, t);
        }
        static fromObject(e) {
          return mt(ah.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ah();
          return ah.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ah.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ah.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ah.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ah.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_PartnerEventResult";
        }
      }
      class sh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            sh.prototype.results || gt(sh.M()),
            M_.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            sh.sm_m ||
              (sh.sm_m = {
                proto: sh,
                fields: { results: { n: 1, c: ah, r: !0, q: !0 } },
              }),
            sh.sm_m
          );
        }
        static MBF() {
          return sh.sm_mbf || (sh.sm_mbf = dt(sh.M())), sh.sm_mbf;
        }
        toObject(e = !1) {
          return sh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(sh.M(), e, t);
        }
        static fromObject(e) {
          return mt(sh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new sh();
          return sh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(sh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return sh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(sh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return sh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetBestEventsForUser_Response";
        }
      }
      class oh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), M_.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return oh.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new oh();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new oh();
          return oh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return oh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return oh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_ClearUserPartnerEventsAppPriorities_Request";
        }
      }
      class lh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), M_.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return lh.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new lh();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new lh();
          return lh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return lh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return lh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_ClearUserPartnerEventsAppPriorities_Response";
        }
      }
      class ch extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ch.prototype.appid || gt(ch.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ch.sm_m ||
              (ch.sm_m = {
                proto: ch,
                fields: {
                  appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  user_app_priority: {
                    n: 2,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                },
              }),
            ch.sm_m
          );
        }
        static MBF() {
          return ch.sm_mbf || (ch.sm_mbf = dt(ch.M())), ch.sm_mbf;
        }
        toObject(e = !1) {
          return ch.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ch.M(), e, t);
        }
        static fromObject(e) {
          return mt(ch.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ch();
          return ch.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ch.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ch.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ch.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ch.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_PartnerEventsAppPriority";
        }
      }
      class uh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), M_.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return uh.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new uh();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new uh();
          return uh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return uh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return uh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetUserPartnerEventsAppPriorities_Request";
        }
      }
      class dh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            dh.prototype.priorities || gt(dh.M()),
            M_.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            dh.sm_m ||
              (dh.sm_m = {
                proto: dh,
                fields: { priorities: { n: 1, c: ch, r: !0, q: !0 } },
              }),
            dh.sm_m
          );
        }
        static MBF() {
          return dh.sm_mbf || (dh.sm_mbf = dt(dh.M())), dh.sm_mbf;
        }
        toObject(e = !1) {
          return dh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(dh.M(), e, t);
        }
        static fromObject(e) {
          return mt(dh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new dh();
          return dh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(dh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return dh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(dh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return dh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetUserPartnerEventsAppPriorities_Response";
        }
      }
      class mh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            mh.prototype.appid || gt(mh.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            mh.sm_m ||
              (mh.sm_m = {
                proto: mh,
                fields: {
                  appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            mh.sm_m
          );
        }
        static MBF() {
          return mh.sm_mbf || (mh.sm_mbf = dt(mh.M())), mh.sm_mbf;
        }
        toObject(e = !1) {
          return mh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(mh.M(), e, t);
        }
        static fromObject(e) {
          return mt(mh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new mh();
          return mh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(mh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return mh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(mh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return mh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_ClearSinglePartnerEventsAppPriority_Request";
        }
      }
      class _h extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), M_.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return _h.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new _h();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new _h();
          return _h.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return _h.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return _h.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_ClearSinglePartnerEventsAppPriority_Response";
        }
      }
      class hh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            hh.prototype.appid || gt(hh.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            hh.sm_m ||
              (hh.sm_m = {
                proto: hh,
                fields: {
                  appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            hh.sm_m
          );
        }
        static MBF() {
          return hh.sm_mbf || (hh.sm_mbf = dt(hh.M())), hh.sm_mbf;
        }
        toObject(e = !1) {
          return hh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(hh.M(), e, t);
        }
        static fromObject(e) {
          return mt(hh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new hh();
          return hh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(hh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return hh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(hh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return hh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_PartnerEventsShowMoreForApp_Request";
        }
      }
      class ph extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), M_.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return ph.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new ph();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ph();
          return ph.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ph.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ph.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_PartnerEventsShowMoreForApp_Response";
        }
      }
      class gh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            gh.prototype.appid || gt(gh.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            gh.sm_m ||
              (gh.sm_m = {
                proto: gh,
                fields: {
                  appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            gh.sm_m
          );
        }
        static MBF() {
          return gh.sm_mbf || (gh.sm_mbf = dt(gh.M())), gh.sm_mbf;
        }
        toObject(e = !1) {
          return gh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(gh.M(), e, t);
        }
        static fromObject(e) {
          return mt(gh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new gh();
          return gh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(gh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return gh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(gh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return gh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_PartnerEventsShowLessForApp_Request";
        }
      }
      class bh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), M_.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return bh.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new bh();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new bh();
          return bh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return bh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return bh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_PartnerEventsShowLessForApp_Response";
        }
      }
      class fh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            fh.prototype.markings || gt(fh.M()),
            M_.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            fh.sm_m ||
              (fh.sm_m = {
                proto: fh,
                fields: { markings: { n: 1, c: vh, r: !0, q: !0 } },
              }),
            fh.sm_m
          );
        }
        static MBF() {
          return fh.sm_mbf || (fh.sm_mbf = dt(fh.M())), fh.sm_mbf;
        }
        toObject(e = !1) {
          return fh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(fh.M(), e, t);
        }
        static fromObject(e) {
          return mt(fh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new fh();
          return fh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(fh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return fh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(fh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return fh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_MarkPartnerEventsForUser_Request";
        }
      }
      class vh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            vh.prototype.clanid || gt(vh.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            vh.sm_m ||
              (vh.sm_m = {
                proto: vh,
                fields: {
                  clanid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  event_gid: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  display_location: { n: 3, br: ct.readEnum, bw: ut.writeEnum },
                  mark_shown: { n: 4, br: ct.readBool, bw: ut.writeBool },
                  mark_read: { n: 5, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            vh.sm_m
          );
        }
        static MBF() {
          return vh.sm_mbf || (vh.sm_mbf = dt(vh.M())), vh.sm_mbf;
        }
        toObject(e = !1) {
          return vh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(vh.M(), e, t);
        }
        static fromObject(e) {
          return mt(vh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new vh();
          return vh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(vh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return vh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(vh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return vh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_MarkPartnerEventsForUser_Request_PartnerEventMarking";
        }
      }
      class yh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), M_.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return yh.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new yh();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new yh();
          return yh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return yh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return yh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_MarkPartnerEventsForUser_Response";
        }
      }
      class Sh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Sh.prototype.event_gids || gt(Sh.M()),
            M_.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            Sh.sm_m ||
              (Sh.sm_m = {
                proto: Sh,
                fields: {
                  event_gids: {
                    n: 1,
                    r: !0,
                    q: !0,
                    br: ct.readFixed64String,
                    pbr: ct.readPackedFixed64String,
                    bw: ut.writeRepeatedFixed64String,
                  },
                  include_read_events_only: {
                    n: 2,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            Sh.sm_m
          );
        }
        static MBF() {
          return Sh.sm_mbf || (Sh.sm_mbf = dt(Sh.M())), Sh.sm_mbf;
        }
        toObject(e = !1) {
          return Sh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Sh.M(), e, t);
        }
        static fromObject(e) {
          return mt(Sh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Sh();
          return Sh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Sh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Sh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Sh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Sh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetUserPartnerEventViewStatus_Request";
        }
      }
      class wh extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            wh.prototype.events || gt(wh.M()),
            M_.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            wh.sm_m ||
              (wh.sm_m = {
                proto: wh,
                fields: { events: { n: 1, c: Ch, r: !0, q: !0 } },
              }),
            wh.sm_m
          );
        }
        static MBF() {
          return wh.sm_mbf || (wh.sm_mbf = dt(wh.M())), wh.sm_mbf;
        }
        toObject(e = !1) {
          return wh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(wh.M(), e, t);
        }
        static fromObject(e) {
          return mt(wh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new wh();
          return wh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(wh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return wh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(wh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return wh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetUserPartnerEventViewStatus_Response";
        }
      }
      class Ch extends M_ {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Ch.prototype.event_gid || gt(Ch.M()),
            M_.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Ch.sm_m ||
              (Ch.sm_m = {
                proto: Ch,
                fields: {
                  event_gid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  last_shown_time: {
                    n: 2,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  last_read_time: {
                    n: 3,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  clan_account_id: {
                    n: 4,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            Ch.sm_m
          );
        }
        static MBF() {
          return Ch.sm_mbf || (Ch.sm_mbf = dt(Ch.M())), Ch.sm_mbf;
        }
        toObject(e = !1) {
          return Ch.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Ch.M(), e, t);
        }
        static fromObject(e) {
          return mt(Ch.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Ch();
          return Ch.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Ch.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Ch.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Ch.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Ch.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCommunity_GetUserPartnerEventViewStatus_Response_PartnerEvent";
        }
      }
      var Bh;
      !(function (e) {
        (e.GetApps = function (e, t) {
          return e.SendMsg("Community.GetApps#1", Ot(D_, t), A_, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
          (e.GetAppRichPresenceLocalization = function (e, t) {
            return e.SendMsg(
              "Community.GetAppRichPresenceLocalization#1",
              Ot(O_, t),
              F_,
              { ePrivilege: 1 },
            );
          }),
          (e.GetCommentThread = function (e, t) {
            return e.SendMsg("Community.GetCommentThread#1", Ot(N_, t), x_, {
              ePrivilege: 2,
            });
          }),
          (e.PostCommentToThread = function (e, t) {
            return e.SendMsg("Community.PostCommentToThread#1", Ot(U_, t), z_, {
              ePrivilege: 3,
            });
          }),
          (e.DeleteCommentFromThread = function (e, t) {
            return e.SendMsg(
              "Community.DeleteCommentFromThread#1",
              Ot(W_, t),
              j_,
              { ePrivilege: 1 },
            );
          }),
          (e.RateCommentThread = function (e, t) {
            return e.SendMsg("Community.RateCommentThread#1", Ot(V_, t), H_, {
              ePrivilege: 3,
            });
          }),
          (e.GetCommentThreadRatings = function (e, t) {
            return e.SendMsg(
              "Community.GetCommentThreadRatings#1",
              Ot(q_, t),
              K_,
              { ePrivilege: 2 },
            );
          }),
          (e.RateClanAnnouncement = function (e, t) {
            return e.SendMsg(
              "Community.RateClanAnnouncement#1",
              Ot($_, t),
              Y_,
              { ePrivilege: 3 },
            );
          }),
          (e.GetClanAnnouncementVoteForUser = function (e, t) {
            return e.SendMsg(
              "Community.GetClanAnnouncementVoteForUser#1",
              Ot(Q_, t),
              X_,
              { ePrivilege: 1 },
            );
          }),
          (e.GetAvatarHistory = function (e, t) {
            return e.SendMsg("Community.GetAvatarHistory#1", Ot(Z_, t), J_, {
              ePrivilege: 1,
            });
          }),
          (e.GetUserPartnerEventNews = function (e, t) {
            return e.SendMsg(
              "Community.GetUserPartnerEventNews#1",
              Ot(rh, t),
              nh,
              { bConstMethod: !0, ePrivilege: 1, eWebAPIKeyRequirement: 2 },
            );
          }),
          (e.GetBestEventsForUser = function (e, t) {
            return e.SendMsg(
              "Community.GetBestEventsForUser#1",
              Ot(ih, t),
              sh,
              { bConstMethod: !0, ePrivilege: 1, eWebAPIKeyRequirement: 2 },
            );
          }),
          (e.MarkPartnerEventsForUser = function (e, t) {
            return e.SendMsg(
              "Community.MarkPartnerEventsForUser#1",
              Ot(fh, t),
              yh,
              { ePrivilege: 1 },
            );
          }),
          (e.GetUserPartnerEventViewStatus = function (e, t) {
            return e.SendMsg(
              "Community.GetUserPartnerEventViewStatus#1",
              Ot(Sh, t),
              wh,
              { bConstMethod: !0, ePrivilege: 1 },
            );
          }),
          (e.PartnerEventsShowMoreForApp = function (e, t) {
            return e.SendMsg(
              "Community.PartnerEventsShowMoreForApp#1",
              Ot(hh, t),
              ph,
              { ePrivilege: 1 },
            );
          }),
          (e.PartnerEventsShowLessForApp = function (e, t) {
            return e.SendMsg(
              "Community.PartnerEventsShowLessForApp#1",
              Ot(gh, t),
              bh,
              { ePrivilege: 1 },
            );
          }),
          (e.ClearUserPartnerEventsAppPriorities = function (e, t) {
            return e.SendMsg(
              "Community.ClearUserPartnerEventsAppPriorities#1",
              Ot(oh, t),
              lh,
              { ePrivilege: 1 },
            );
          }),
          (e.GetUserPartnerEventsAppPriorities = function (e, t) {
            return e.SendMsg(
              "Community.GetUserPartnerEventsAppPriorities#1",
              Ot(uh, t),
              dh,
              { ePrivilege: 1 },
            );
          }),
          (e.ClearSinglePartnerEventsAppPriority = function (e, t) {
            return e.SendMsg(
              "Community.ClearSinglePartnerEventsAppPriority#1",
              Ot(mh, t),
              _h,
              { ePrivilege: 1 },
            );
          });
      })(Bh || (Bh = {}));
      class Eh {
        constructor(e) {
          (this.m_setShownEvents = new Set()),
            (this.m_setReadEvents = new Set()),
            (this.m_rgPendingUpload = []),
            (this.m_schUpload = new Ee()),
            (this.m_bUploading = !1),
            (this.m_CMInterface = e);
        }
        MarkEventShown(e, t, r) {
          let n = this.MakeKey(e, r);
          if (this.m_setShownEvents.has(n)) return !1;
          this.m_setShownEvents.add(n);
          let i = new vh();
          return (
            i.set_event_gid(e),
            i.set_clanid(t),
            i.set_display_location(r),
            i.set_mark_shown(!0),
            this.QueueForUpload(i),
            !0
          );
        }
        MarkEventRead(e, t, r) {
          let n = this.MakeKey(e, r);
          if (this.m_setReadEvents.has(n)) return !1;
          this.m_setReadEvents.add(n);
          let i = new vh();
          return (
            i.set_event_gid(e),
            i.set_clanid(t),
            i.set_display_location(r),
            i.set_mark_read(!0),
            this.QueueForUpload(i),
            !0
          );
        }
        MakeKey(e, t) {
          return `${e}_${t}`;
        }
        QueueForUpload(e) {
          this.m_rgPendingUpload.push(e), this.ScheduleUpload();
        }
        ScheduleUpload() {
          this.m_bUploading ||
            (this.m_rgPendingUpload.length >= 30
              ? this.UploadPendingData()
              : this.m_schUpload.IsScheduled() ||
                this.m_schUpload.Schedule(6e4, this.UploadPendingData));
        }
        Flush() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!this.m_bUploading) return this.UploadPendingData();
          });
        }
        UploadPendingData() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (this.m_bUploading) return;
            this.m_schUpload.Cancel();
            let e = this.m_rgPendingUpload.splice(0, 30);
            if (0 == e.length) return;
            let t = !1;
            if (this.m_CMInterface) {
              let r = At.Init(fh);
              for (let t of e) r.Body().add_markings(t);
              this.m_bUploading = !0;
              let n = yield Bh.MarkPartnerEventsForUser(
                this.m_CMInterface.GetServiceTransport(),
                r,
              );
              (this.m_bUploading = !1), (t = 1 == n.GetEResult());
            } else {
              if (!C.logged_in) return;
              let r = e.map((e) => e.toObject()),
                n = F() + "actions/ajaxmarkpartnerevents";
              const i = new FormData();
              i.append("sessionid", w.SESSIONID),
                i.append("request", JSON.stringify(r));
              try {
                t =
                  1 ==
                  (yield Ze().post(n, i, { withCredentials: !0 })).data.success;
              } catch (e) {
                let t = Ft(e);
                console.error(
                  "CPartnerEventUserTracking.UploadPendingData error " +
                    t.strErrorMsg,
                  t,
                );
              }
            }
            t
              ? this.m_rgPendingUpload.length > 0 && this.ScheduleUpload()
              : (console.log(
                  "Saving news event state failed. Will try again soon!",
                ),
                (this.m_rgPendingUpload = this.m_rgPendingUpload.concat(e)),
                this.m_schUpload.Schedule(6e4, this.UploadPendingData));
          });
        }
      }
      (0, i.gn)([ye], Eh.prototype, "UploadPendingData", null);
      class Ih {
        constructor(e) {
          (this.clanid = void 0),
            (this.appid = 0),
            (this.can_edit = !1),
            (this.owns_app = !1),
            (this.follows_app = !1),
            (this.support_user = !1),
            (this.valve_admin = !1),
            (this.limited_user = !1),
            (this.event_ignored = new Array()),
            (this.event_followed = new Array()),
            (this.event_followed_flags = new Array()),
            (0, Je.rC)(this),
            (this.clanid = e);
        }
      }
      var Rh;
      (0, i.gn)([Je.LO], Ih.prototype, "clanid", void 0),
        (0, i.gn)([Je.LO], Ih.prototype, "appid", void 0),
        (0, i.gn)([Je.LO], Ih.prototype, "can_edit", void 0),
        (0, i.gn)([Je.LO], Ih.prototype, "owns_app", void 0),
        (0, i.gn)([Je.LO], Ih.prototype, "follows_app", void 0),
        (0, i.gn)([Je.LO], Ih.prototype, "support_user", void 0),
        (0, i.gn)([Je.LO], Ih.prototype, "valve_admin", void 0),
        (0, i.gn)([Je.LO], Ih.prototype, "limited_user", void 0),
        (0, i.gn)([Je.LO], Ih.prototype, "event_ignored", void 0),
        (0, i.gn)([Je.LO], Ih.prototype, "event_followed", void 0),
        (0, i.gn)([Je.LO], Ih.prototype, "event_followed_flags", void 0),
        (function (e) {
          (e[(e.k_ENotifyFlagNone = 0)] = "k_ENotifyFlagNone"),
            (e[(e.k_ENotifyFlagByEmail = 1)] = "k_ENotifyFlagByEmail"),
            (e[(e.k_ENotifyFlagByPush = 2)] = "k_ENotifyFlagByPush");
        })(Rh || (Rh = {}));
      class Th {
        constructor() {
          (this.m_mapClanToUserPermissions = new Map()),
            (this.m_mapAnnounceGIDToVote = new Map()),
            (this.m_setReadEventGIDs = new Set()),
            (this.m_cm = void 0),
            (this.m_bIsPresentationMode = S()),
            (0, Je.rC)(this);
        }
        static Get() {
          return (
            c(
              !!Th.s_EventUserStore,
              "Have not yet initialized global EventUserStore",
            ),
            Th.s_EventUserStore
          );
        }
        static IsInitialized() {
          return !!Th.s_EventUserStore;
        }
        static InitGlobal(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!Th.s_EventUserStore) {
              const t = new Th();
              yield t.Init(e),
                (Th.s_EventUserStore = t),
                "dev" == w.WEB_UNIVERSE && (window.g_EventUserStore = t);
            }
          });
        }
        Init(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            (this.m_cm = e), (this.m_tracker = new Eh(e));
            const t = f("partnereventpermissions", "application_config");
            this.ValidateStoreDefault(t) &&
              ((0, Je.z)(() => {
                t.forEach((e) => {
                  let t = new Ih(e.clanid),
                    r = { result: t, promise: Th.RemapToPromise(t) };
                  this.CopyFromResponseToTrack(r, e),
                    this.m_mapClanToUserPermissions.set(e.clanid, r);
                });
              }),
              ("dev" != w.WEB_UNIVERSE && "beta" != w.WEB_UNIVERSE) ||
                console.log(
                  "CEventUserStore has loaded",
                  this.m_mapClanToUserPermissions.size,
                  this.m_mapClanToUserPermissions,
                ));
            let r = f("uservotes", "application_config");
            r &&
              (0, Je.z)(() => {
                r.forEach((e) => {
                  let t = !!e.voted_up || (!e.voted_down && void 0);
                  this.m_mapAnnounceGIDToVote.set(e.clanAnnouncementGID, t);
                });
              });
          });
        }
        GetTracker() {
          return this.m_tracker;
        }
        ValidateStoreDefault(e) {
          const t = e;
          return (
            !!(
              t &&
              Array.isArray(t) &&
              t.length > 0 &&
              "object" == typeof t[0]
            ) &&
            "number" == typeof t[0].clanid &&
            "number" == typeof t[0].appid
          );
        }
        RecordEventShown(e, t) {
          e &&
            !e.bOldAnnouncement &&
            this.m_tracker.MarkEventShown(
              e.GID,
              e.clanSteamID.GetAccountID(),
              t,
            );
        }
        RecordEventRead(e, t) {
          e &&
            !e.bOldAnnouncement &&
            (this.HasEventBeenRead(e.GID) ||
              (this.SetEventAsRead(e.GID),
              this.m_tracker.MarkEventRead(
                e.GID,
                e.clanSteamID.GetAccountID(),
                t,
              )));
        }
        SetEventAsRead(e) {
          this.m_setReadEventGIDs.add(e);
        }
        HasEventBeenRead(e) {
          return this.m_setReadEventGIDs.has(e);
        }
        static RemapToPromise(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return e;
          });
        }
        BIsUserLoggedIn() {
          return C.logged_in;
        }
        BIsPartnerEventPermissionsLoaded(e) {
          return this.m_mapClanToUserPermissions.has(e);
        }
        GetPartnerEventPermissions(e) {
          if (!e || !e.BIsValid()) return new Ih(0);
          const t = e.GetAccountID();
          this.m_mapClanToUserPermissions.has(t) ||
            this.LoadSingleAppEventPermissions(e);
          return this.m_mapClanToUserPermissions.get(t).result;
        }
        BFollowsEvent(e, t) {
          return (
            -1 != this.GetPartnerEventPermissions(e).event_followed.indexOf(t)
          );
        }
        BFollowsEventAndNotifiedBy(e, t, r) {
          let n = this.GetPartnerEventPermissions(e),
            i = n.event_followed.indexOf(t);
          return -1 !== i && (n.event_followed_flags[i] & r) == r;
        }
        BIgnoresEvent(e, t) {
          return (
            -1 != this.GetPartnerEventPermissions(e).event_ignored.indexOf(t)
          );
        }
        LoadSingleAppEventPermissions(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let t = e.GetAccountID(),
              r = this.m_mapClanToUserPermissions.get(t);
            return (
              r ||
                ((r = {
                  promise: this.InternalLoadSingleAppEventPermissions(e),
                  result: new Ih(t),
                }),
                this.m_mapClanToUserPermissions.set(t, r)),
              r.promise
            );
          });
        }
        CopyFromResponseToTrack(e, t) {
          (e.result.appid = t.appid),
            (e.result.can_edit = t.can_edit),
            (e.result.clanid = t.appid),
            (e.result.event_followed = t.event_followed),
            (e.result.event_ignored = t.event_ignored),
            (e.result.event_followed_flags = t.event_followed_flags),
            (e.result.follows_app = t.follows_app),
            (e.result.owns_app = t.owns_app),
            (e.result.limited_user = t.limited_user),
            (t.support_user || t.valve_admin) && this.m_bIsPresentationMode
              ? ((e.result.can_edit = !0),
                (e.result.support_user = !1),
                (e.result.valve_admin = !1))
              : ((e.result.support_user = t.support_user),
                (e.result.valve_admin = t.valve_admin));
        }
        InternalLoadSingleAppEventPermissions(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let t = null,
              r = e.GetAccountID(),
              n = !Boolean(C.logged_in);
            if (!this.m_mapClanToUserPermissions.has(r)) {
              let t = new Ih(e.GetAccountID());
              this.m_mapClanToUserPermissions.set(r, {
                result: t,
                promise: Th.RemapToPromise(t),
              });
            }
            try {
              if (Boolean(C.logged_in)) {
                let i =
                    w.COMMUNITY_BASE_URL +
                    "gid/" +
                    e.ConvertTo64BitString() +
                    "/ajaxgetpartnereventpermissions/",
                  a = {};
                if (
                  ("partnerweb" == L() &&
                    ((i =
                      w.PARTNER_BASE_URL +
                      "partnerevents/ajaxgetpartnereventpermissions"),
                    (a = { clanaccountid: e.GetAccountID() })),
                  (t = yield Ze().get(i, { params: a, withCredentials: !0 })),
                  1 != t.data.success)
                )
                  console.error(
                    "Partner Events Failed Load:" + Ft(t.data).strErrorMsg,
                  ),
                    (n = !0);
                else {
                  let e = this.m_mapClanToUserPermissions.get(r);
                  this.CopyFromResponseToTrack(e, t.data);
                }
              }
            } catch (e) {
              if (
                ((t = e.response),
                (n = !0),
                e &&
                  void 0 !== e.response &&
                  void 0 !== e.response.data &&
                  void 0 !== e.response.data.success &&
                  21 == e.response.data.success)
              );
              else {
                const t = Ft(e);
                console.error(
                  "InternalLoadSingleAppEventPermissions account: " +
                    r +
                    ": " +
                    t.strErrorMsg,
                  t,
                );
              }
            } finally {
              n &&
                (0, Je.z)(() => {
                  let e = this.m_mapClanToUserPermissions.get(r);
                  (e.result.appid = t && t.data ? t.data.appid : 0),
                    (e.result.can_edit = !1),
                    (e.result.clanid = t && t.data ? t.data.clanid : 0),
                    (e.result.event_followed = new Array()),
                    (e.result.event_ignored = new Array()),
                    (e.result.event_followed_flags = new Array()),
                    (e.result.follows_app = !1),
                    (e.result.owns_app = !1),
                    (e.result.support_user = !1),
                    (e.result.valve_admin = !1),
                    (e.result.limited_user = !1);
                });
            }
            return this.m_mapClanToUserPermissions.get(r).result;
          });
        }
        SetFollowOrUnfollowEvent(e, t, r, n, a) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            let i = this.GetPartnerEventPermissions(r),
              s = i.event_followed.indexOf(n),
              o = 0;
            -1 !== s &&
              ((o = i.event_followed_flags[s]), e ? (a = o & ~a) : (a |= o));
            let l = 0 == a,
              c =
                ("store" === L()
                  ? w.STORE_BASE_URL + "events"
                  : w.COMMUNITY_BASE_URL + "/gid/" + r.ConvertTo64BitString()) +
                (l ? "/unfolloworunignoreevent" : "/followorignoreevent"),
              u = new URLSearchParams();
            u.append("sessionid", w.SESSIONID),
              u.append("ignore", "" + t),
              u.append("gid", n),
              u.append("notification_flag", "" + a),
              u.append("clan_accountid", "" + r.GetAccountID());
            yield Ze().post(c, u, { withCredentials: !0 });
            (0, Je.z)(() => {
              let e = this.m_mapClanToUserPermissions.get(r.GetAccountID()),
                i = null,
                s = null,
                o = null,
                c = null;
              l
                ? ((i = t ? e.result.event_ignored : e.result.event_followed),
                  (o = t ? null : e.result.event_followed_flags))
                : t
                  ? ((i = e.result.event_followed),
                    (o = e.result.event_followed_flags),
                    (s = e.result.event_ignored))
                  : ((i = e.result.event_ignored),
                    (s = e.result.event_followed),
                    (c = e.result.event_followed_flags));
              let u = i.indexOf(n);
              if ((u > -1 && (i.splice(u, 1), o && o.splice(u, 1)), s)) {
                let e = s.indexOf(n);
                -1 == e ? (s.push(n), c && c.push(a)) : (c[e] = a);
              }
            });
          });
        }
        Vote(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (!e || !e.AnnouncementGID) return !1;
            const n = this.m_mapAnnounceGIDToVote.get(e.AnnouncementGID);
            if (n === t) return !0;
            if (
              (this.m_mapAnnounceGIDToVote.set(e.AnnouncementGID, t),
              (0, Je.z)(() => {
                !0 === n && e.UpdateVoteCount("up", -1),
                  !1 === n && e.UpdateVoteCount("down", -1),
                  !0 === t && e.UpdateVoteCount("up", 1),
                  !1 === t && e.UpdateVoteCount("down", 1);
              }),
              this.m_cm)
            ) {
              let r = At.Init($_);
              return (
                r.Body().set_announcementid(e.AnnouncementGID),
                r.Body().set_vote_up(!!t),
                r.Body().set_clan_accountid(e.clanSteamID.GetAccountID()),
                1 ==
                  (yield Bh.RateClanAnnouncement(
                    this.m_cm.GetServiceTransport(),
                    r,
                  )).GetEResult()
              );
            }
            {
              const n = L(),
                i =
                  "community" == n || "steamtv" == n
                    ? w.COMMUNITY_BASE_URL +
                      "gid/" +
                      e.clanSteamID.ConvertTo64BitString() +
                      "/announcements/rate/" +
                      e.AnnouncementGID
                    : w.STORE_BASE_URL +
                      "updated/ajaxrateupdate/" +
                      e.AnnouncementGID,
                a = new URLSearchParams();
              a.append("sessionid", w.SESSIONID),
                a.append("voteup", t ? "1" : "0"),
                a.append("clanid", "" + e.clanSteamID.GetAccountID()),
                a.append("ajax", "1");
              const s = { withCredentials: !0, cancelToken: r.token };
              return 1 == (yield Ze().post(i, a, s)).data.success;
            }
          });
        }
        LoadMyVote(e, t) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (null == e ? void 0 : e.AnnouncementGID) {
              if (this.m_mapAnnounceGIDToVote.has(e.AnnouncementGID))
                return this.m_mapAnnounceGIDToVote.get(e.AnnouncementGID);
              let r;
              if (this.m_cm) {
                let t = At.Init(Q_);
                t.Body().set_announcementid(e.AnnouncementGID);
                let n = yield Bh.GetClanAnnouncementVoteForUser(
                  this.m_cm.GetServiceTransport(),
                  t,
                );
                1 == n.GetEResult() &&
                  (r =
                    !!n.Body().voted_up() ||
                    (!n.Body().voted_down() && void 0));
              } else {
                const n = "store" == L(),
                  i = n
                    ? w.STORE_BASE_URL + "actions/ajaxgetmyannouncementvote"
                    : w.COMMUNITY_BASE_URL +
                      "gid/" +
                      e.clanSteamID.ConvertTo64BitString() +
                      "/announcements/ajaxgetmyvote/" +
                      e.AnnouncementGID,
                  a = { gid: n ? e.AnnouncementGID : void 0 },
                  s = yield Ze().get(i, {
                    withCredentials: !0,
                    cancelToken: t.token,
                    params: a,
                  });
                r = !!s.data.voted_up || (!s.data.voted_down && void 0);
              }
              return this.m_mapAnnounceGIDToVote.set(e.AnnouncementGID, r), r;
            }
          });
        }
        SetVote(e, t) {
          this.m_mapAnnounceGIDToVote.set(e, t);
        }
        BHasMyVote(e) {
          return (
            !!e.AnnouncementGID &&
            this.m_mapAnnounceGIDToVote.has(e.AnnouncementGID)
          );
        }
        GetPreviouslyLoadedVote(e) {
          return e.AnnouncementGID
            ? this.m_mapAnnounceGIDToVote.get(e.AnnouncementGID)
            : void 0;
        }
        BShowEmailEditorTab(e) {
          if (e.BHasEmailEnabled()) return !0;
          let t = this.GetPartnerEventPermissions(e.clanSteamID);
          return (E.IS_OGG || E.IS_VALVE_GROUP) && t.valve_admin;
        }
        BShowSaleEditorTab(e) {
          if (e.BHasSaleEnabled()) return !0;
          let t = this.GetPartnerEventPermissions(e.clanSteamID);
          return (
            !E.IS_OGG &&
            (t.valve_admin ||
              (e.jsondata.clone_from_event_gid &&
                e.jsondata.clone_from_sale_enabled))
          );
        }
      }
      (0, i.gn)([Je.LO], Th.prototype, "m_mapClanToUserPermissions", void 0),
        (0, i.gn)([Je.LO], Th.prototype, "m_mapAnnounceGIDToVote", void 0),
        (0, i.gn)([Je.LO], Th.prototype, "m_setReadEventGIDs", void 0),
        (0, i.gn)([Je.aD], Th.prototype, "CopyFromResponseToTrack", null);
      class Mh {
        constructor() {
          (this.m_bValidatedEmail = !1),
            (this.m_nMobileDeviceCount = 0),
            (this.m_bIsLoaded = !1),
            (this.m_bLoadedFromConfig = !1),
            (0, Je.rC)(this);
        }
        LazyInit() {
          if (!this.m_bLoadedFromConfig) {
            let e = f("notificationstore", "application_config");
            this.ValidateStoreDefault(e) &&
              (0, Je.z)(() => {
                (this.m_bIsLoaded = !0),
                  (this.m_bValidatedEmail = e.email_validated),
                  (this.m_nMobileDeviceCount = e.mobile_device_count);
              }),
              (this.m_bLoadedFromConfig = !0);
          }
        }
        ValidateStoreDefault(e) {
          return (
            e &&
            "object" == typeof e &&
            "number" == typeof e.mobile_device_count
          );
        }
        BIsLoaded() {
          return this.m_bIsLoaded;
        }
        BHasValidatedEmail() {
          return this.m_bValidatedEmail;
        }
        BHasPushNotification() {
          return this.m_nMobileDeviceCount > 0;
        }
        HintLoad() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            return (
              this.LazyInit(),
              this.m_bIsLoaded
                ? 1
                : C.logged_in
                  ? (this.m_promise || (this.m_promise = this.InternalLoad()),
                    this.m_promise)
                  : 1
            );
          });
        }
        InternalLoad() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const e = w.STORE_BASE_URL + "notification/ajaxusersettings",
              t = yield Ze().get(e, { withCredentials: !0 });
            return (
              1 == t.data.success &&
                (0, Je.z)(() => {
                  (this.m_bIsLoaded = !0),
                    (this.m_bValidatedEmail = t.data.email_validated),
                    (this.m_nMobileDeviceCount = t.data.mobile_device_count);
                }),
              t.data.success
            );
          });
        }
      }
      (0, i.gn)([Je.LO], Mh.prototype, "m_bValidatedEmail", void 0),
        (0, i.gn)([Je.LO], Mh.prototype, "m_nMobileDeviceCount", void 0);
      let Dh = new Mh();
      var Ah = r(2118),
        Oh = r.n(Ah);
      const Fh = r(614);
      function Lh(e, t) {
        const r = Fh.tz.guess(),
          n = Fh.unix(e).tz(r),
          i = Ye();
        return (
          i && n.locale(i),
          s.createElement(
            s.Fragment,
            null,
            n.format("LT"),
            t
              ? s.createElement(
                  "span",
                  { "data-tooltip-text": n.format("Z") + ", " + r },
                  " ",
                  n.zoneAbbr(),
                )
              : null,
          )
        );
      }
      const kh = (0, W.Pi)((e) => {
          const {
              dateAndTime: t,
              bSingleLine: r,
              bOnlyTime: n,
              bOnlyDate: i,
            } = e,
            a = !n && Boolean(t),
            o = !i && Boolean(t),
            l = a && Le(t),
            c = e.stylesmodule
              ? Object.assign(Object.assign({}, Oh()), e.stylesmodule)
              : Oh();
          return r
            ? s.createElement(
                "span",
                { className: n || i ? c.DateAndTimeInline : c.DateAndTime },
                a && l,
                s.createElement("span", null, " "),
                Boolean(t && o) && Lh(t, !0),
              )
            : s.createElement(
                "div",
                { className: c.DateAndTime },
                a &&
                  s.createElement(
                    s.Fragment,
                    null,
                    s.createElement("div", { className: c.LocalizedDate }, l),
                    " ",
                    s.createElement("span", { className: c.At }, "@"),
                  ),
                s.createElement(
                  "div",
                  { className: c.LocalizedTime },
                  Boolean(t && o) && Lh(t, !0),
                ),
              );
        }),
        Nh = (e) => {
          const t = s.createElement(
            "div",
            { className: e.stylesmodule.DateToolTip },
            s.createElement(kh, {
              dateAndTime: e.rtFullDate,
              bSingleLine: !0,
              stylesmodule: e.stylesmodule,
            }),
          );
          return s.createElement(
            eu,
            {
              toolTipContent: t,
              direction: "top",
              className: e.className,
              bTopmost: !0,
            },
            e.children,
          );
        };
      let Ph = class extends s.Component {
        render() {
          const { startDateAndTime: e, endDateAndTime: t } = this.props,
            r = this.props.stylesmodule
              ? Object.assign(Object.assign({}, Oh()), this.props.stylesmodule)
              : Oh();
          let n =
            this.props.bHideEndTime ||
            null == this.props.endDateAndTime ||
            this.props.endDateAndTime < 1;
          if (null == e || 0 == e)
            return s.createElement(
              "div",
              { className: r.DateAndTime },
              s.createElement(
                "span",
                { className: r.RightSideTitles },
                We("#EventDisplay_TimeRange"),
              ),
              We("#EventDisplay_TimeDisplayNone"),
            );
          let i = cn.GetTimeNowWithOverride();
          if (n)
            return s.createElement(
              "div",
              { className: r.StartDate },
              s.createElement(
                "div",
                { className: r.RightSideTitles },
                We(
                  e < i
                    ? "#EventDisplay_TimeInPast"
                    : "#EventDisplay_TimeUpcoming",
                ),
                " ",
              ),
              s.createElement(kh, { stylesmodule: r, dateAndTime: e }),
            );
          let a = e <= i && i <= t;
          const o = Me(new Date(1e3 * e), new Date(1e3 * t));
          return s.createElement(
            "div",
            { className: r.MultiDateAndTime },
            s.createElement(
              "div",
              { className: r.StartDate },
              s.createElement(
                "span",
                { className: r.RightSideTitles },
                We(
                  e >= i
                    ? "#EventDisplay_TimeBeginsOn"
                    : t >= i
                      ? "#EventDisplay_TimeBeginsOn_Past"
                      : "#EventDisplay_TimeBeginsOn_StartAndEnd_Past",
                ),
              ),
              s.createElement(kh, {
                stylesmodule: r,
                bSingleLine: !0,
                dateAndTime: e,
              }),
            ),
            s.createElement(
              "div",
              { className: r.EndDate },
              s.createElement(
                "span",
                { className: r.RightSideTitles },
                We(
                  t < i
                    ? "#EventDisplay_TimeEndsOn_Past"
                    : "#EventDisplay_TimeEndsOn",
                ),
              ),
              s.createElement(kh, {
                stylesmodule: r,
                bSingleLine: !0,
                bOnlyTime: o,
                dateAndTime: t,
              }),
            ),
            a &&
              s.createElement(
                "span",
                { className: r.ActiveEvent },
                s.createElement(
                  "span",
                  { className: xr(r.RightSideTitles, r.ActiveEventCallOut) },
                  We("#Time_Now"),
                ),
              ),
          );
        }
      };
      Ph = (0, i.gn)([W.Pi], Ph);
      let Gh = class extends s.Component {
        render() {
          const {
              startDateAndTime: e,
              endDateAndTime: t,
              bHideEndTime: r,
            } = this.props,
            n = this.props.stylesmodule
              ? Object.assign(Object.assign({}, Oh()), this.props.stylesmodule)
              : Oh();
          if (null == e || 0 == e)
            return s.createElement(
              "div",
              { className: n.DateAndTime },
              s.createElement(
                "span",
                { className: n.RightSideTitles },
                We("#EventDisplay_TimeRange"),
              ),
              We("#EventDisplay_TimeDisplayNone"),
            );
          const i = cn.GetTimeNowWithOverrideAsDate(),
            a = cn.GetTimeNowWithOverride(),
            o = De(new Date(1e3 * e), i),
            l = s.createElement(
              "div",
              { className: n.ShortDateAndTime },
              Le(e, o),
            );
          let c = s.createElement(
            Nh,
            { rtFullDate: e, stylesmodule: n },
            s.createElement(
              "div",
              { className: n.RightSideTitles },
              We(
                e < a
                  ? "#EventDisplay_TimeInPast"
                  : "#EventDisplay_TimeUpcoming",
              ),
            ),
            l,
          );
          if (
            (a < e &&
              e < a + Te.PerWeek &&
              (c = s.createElement(
                Nh,
                { rtFullDate: e, stylesmodule: n },
                s.createElement(
                  "div",
                  { className: n.RightSideTitles },
                  je(
                    "#EventDisplay_EventUpcoming_WithDateAndTime",
                    l,
                    s.createElement(
                      "div",
                      { className: n.ShortDateAndTime },
                      Lh(e),
                      " ",
                    ),
                  ),
                ),
              )),
            r || null == t || t < 1)
          )
            return c;
          const u = e <= a && a <= t;
          u &&
            (c = s.createElement(
              Nh,
              { rtFullDate: e, className: n.ActiveEvent, stylesmodule: n },
              s.createElement(
                "span",
                { className: n.ActiveEventCallOut },
                We("#Time_Now"),
              ),
            ));
          let d = null;
          const m = u ? t - a : t - e;
          if (m <= Te.PerDay) {
            const e = s.createElement(
              "div",
              { className: n.ShortDateAndTime },
              Fe(m, !0),
            );
            d =
              t < a
                ? s.createElement(
                    "div",
                    { className: n.RightSideTitles },
                    We("#EventDisplay_TimeEndsOn_Ran"),
                    e,
                  )
                : s.createElement(
                    "div",
                    { className: n.RightSideTitles },
                    je(
                      u
                        ? "#EventDisplay_TimeLeft"
                        : "#EventDisplay_RunsForDuration",
                      e,
                    ),
                  );
          } else {
            const e = i.getFullYear() == new Date(1e3 * t).getFullYear();
            d = s.createElement(
              s.Fragment,
              null,
              s.createElement(
                "div",
                { className: n.RightSideTitles },
                We(
                  t < a
                    ? "#EventDisplay_TimeEndsOn_Past"
                    : "#EventDisplay_TimeEndsOn",
                ),
              ),
              s.createElement(
                "div",
                { className: n.ShortDateAndTime },
                Le(t, e),
              ),
            );
          }
          const _ = s.createElement(Nh, { rtFullDate: t, stylesmodule: n }, d);
          return s.createElement("div", { className: n.ShortDateRange }, c, _);
        }
      };
      Gh = (0, i.gn)([W.Pi], Gh);
      var xh = r(5495),
        Uh = r.n(xh);
      s.createContext({ bCanUseLink: !1 });
      const zh = s.createContext({});
      function Wh() {
        return s.useContext(zh);
      }
      var jh, Vh;
      !(function (e) {
        (e.k_eView = "view"),
          (e.k_eViewWebSiteHub = "websitehub"),
          (e.k_eCommunityView = "communityview"),
          (e.k_eCommunityEdit = "edit"),
          (e.k_eCommunityEditBroadcast = "editBroadcast"),
          (e.k_eCommunityAdminPage = "admin"),
          (e.k_eCommunityPublish = "publish"),
          (e.k_eCommunityMigrate = "migrate"),
          (e.k_eCommunityPreview = "preview"),
          (e.k_eCommunityPreviewSale = "previewsale"),
          (e.k_eCommunityAnnouncementHub = "community_announcehub"),
          (e.k_eStoreView = "storeview"),
          (e.k_eStoreNewsHub = "newshub"),
          (e.k_eStoreOwnerPage = "store"),
          (e.k_eStoreSalePage = "sale"),
          (e.k_eStoreUsersNewsHub = "usernewshub");
      })(jh || (jh = {})),
        (function (e) {
          (e.k_eFacebook = "facebook"),
            (e.k_eTwitter = "twitter"),
            (e.k_eReddit = "reddit");
        })(Vh || (Vh = {}));
      const Hh =
        /(?:steampowered\.com|community\.\S+\.steam\.dev|store\.\S+\.steam\.dev|valve\.org\/store|steam\.dev\/store|\.steamchina\.com|steamcommunity\.com|valve\.org\/community|steam\.dev\/community)\/(\w+)(\/|$)/i;
      function qh(e, t) {
        const r = "store" === L(),
          n = (function (e) {
            const t = e.match(Hh);
            return null == t ? void 0 : t[1];
          })(window.location.href),
          i = r && "news" == n,
          a = "community" === L(),
          s = t.appid ? "games" : "groups",
          o =
            a &&
            s == n &&
            ((t.appid && t.appid === E.APPID) ||
              (!t.appid && t.clanSteamID.GetAccountID() === E.CLANACCOUNTID));
        switch (e) {
          case jh.k_eView:
            return o || i;
          case jh.k_eCommunityView:
          case jh.k_eCommunityEdit:
          case jh.k_eCommunityEditBroadcast:
          case jh.k_eCommunityAdminPage:
          case jh.k_eCommunityPublish:
          case jh.k_eCommunityMigrate:
          case jh.k_eCommunityPreview:
          case jh.k_eCommunityPreviewSale:
          case jh.k_eCommunityAnnouncementHub:
            return o;
          case jh.k_eViewWebSiteHub:
            return o || i;
          case jh.k_eStoreView:
          case jh.k_eStoreNewsHub:
          case jh.k_eStoreOwnerPage:
          case jh.k_eStoreUsersNewsHub:
            return i;
          case jh.k_eStoreSalePage:
            return !1;
          default:
            return c(!1, "Unknown route specified for link: " + e), !1;
        }
      }
      function Kh(e, t, r) {
        if (r)
          return (e ? "/games/" + E.VANITY_ID : "/groups/" + E.VANITY_ID) + "/";
        const n = e ? "ogg/" + e : "gid/" + t.ConvertTo64BitString();
        return w.COMMUNITY_BASE_URL + n + "/";
      }
      function $h(e, t, r) {
        const n = "relative" === r,
          i = "community" === L(),
          a = n ? "/" : w.STORE_BASE_URL,
          s = Kh(e.appid, e.clanSteamID, n);
        t === jh.k_eView
          ? (t = i ? jh.k_eCommunityView : jh.k_eStoreView)
          : t === jh.k_eViewWebSiteHub &&
            (t = i ? jh.k_eCommunityAnnouncementHub : jh.k_eStoreNewsHub);
        const o = e.GID ? e.GID : "",
          l = e.AnnouncementGID ? e.AnnouncementGID : "";
        switch (t) {
          case jh.k_eCommunityPublish:
            return (
              s +
              (e.bOldAnnouncement
                ? "partnerevents/migrate_announcement/" + l
                : "partnerevents/publish/" + o + "?tab=publishing")
            );
          case jh.k_eCommunityEdit:
            return (
              s +
              (e.bOldAnnouncement
                ? "partnerevents/migrate_announcement/" + l
                : "partnerevents/edit/" + o)
            );
          case jh.k_eCommunityEditBroadcast:
            return (
              s +
              (e.bOldAnnouncement
                ? "partnerevents/migrate_announcement/" + l
                : "partnerevents/edit/" + o) +
              "?tab=broadcast"
            );
          case jh.k_eCommunityMigrate:
            return s + "partnerevents/migrate_announcement/" + l;
          case jh.k_eCommunityPreview:
            return (
              s +
              (e.bOldAnnouncement
                ? "partnerevents/preview_old_announcement/" + l
                : "partnerevents/preview/" + o)
            );
          case jh.k_eCommunityPreviewSale:
            return s + "partnerevents/previewsale/" + o;
          case jh.k_eCommunityAdminPage:
            return s + "partnerevents";
          case jh.k_eCommunityAnnouncementHub:
            return s + "announcements";
          case jh.k_eStoreNewsHub:
            return (
              a +
              `news/${e.appid ? `app/${e.appid}` : `group/${e.clanSteamID.GetAccountID()}`}`
            );
          case jh.k_eStoreOwnerPage:
            return (
              a +
              (e.appid
                ? "app/" + e.appid
                : "curator/" + e.clanSteamID.GetAccountID())
            );
          case jh.k_eStoreSalePage:
            return e.jsondata.bSaleEnabled
              ? a +
                  (e.jsondata.sale_vanity_id_valve_approved_for_sale_subpath
                    ? "sale/"
                    : "curator/" + e.clanSteamID.GetAccountID() + "/sale/") +
                  e.jsondata.sale_vanity_id
              : a;
          case jh.k_eCommunityView:
            return s + "announcements/detail/" + l;
          case jh.k_eStoreView:
            return `${a}news/${e.appid ? `app/${e.appid}` : `group/${e.clanSteamID.GetAccountID()}`}/${e.bOldAnnouncement ? `old_view/${l}` : `view/${o}`}`;
          case jh.k_eStoreUsersNewsHub:
            return `${a}news/`;
          default:
            return c(!1, "Unknown route specified for link"), "";
        }
      }
      var Yh = r(885),
        Qh = r(7867);
      const Xh = lt.Message;
      class Zh extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Zh.prototype.account_name || gt(Zh.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Zh.sm_m ||
              (Zh.sm_m = {
                proto: Zh,
                fields: {
                  account_name: { n: 1, br: ct.readString, bw: ut.writeString },
                },
              }),
            Zh.sm_m
          );
        }
        static MBF() {
          return Zh.sm_mbf || (Zh.sm_mbf = dt(Zh.M())), Zh.sm_mbf;
        }
        toObject(e = !1) {
          return Zh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Zh.M(), e, t);
        }
        static fromObject(e) {
          return mt(Zh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Zh();
          return Zh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Zh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Zh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Zh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Zh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_GetPasswordRSAPublicKey_Request";
        }
      }
      class Jh extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Jh.prototype.publickey_mod || gt(Jh.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Jh.sm_m ||
              (Jh.sm_m = {
                proto: Jh,
                fields: {
                  publickey_mod: {
                    n: 1,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  publickey_exp: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  timestamp: {
                    n: 3,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                },
              }),
            Jh.sm_m
          );
        }
        static MBF() {
          return Jh.sm_mbf || (Jh.sm_mbf = dt(Jh.M())), Jh.sm_mbf;
        }
        toObject(e = !1) {
          return Jh.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Jh.M(), e, t);
        }
        static fromObject(e) {
          return mt(Jh.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Jh();
          return Jh.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Jh.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Jh.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Jh.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Jh.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_GetPasswordRSAPublicKey_Response";
        }
      }
      class ep extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ep.prototype.device_friendly_name || gt(ep.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ep.sm_m ||
              (ep.sm_m = {
                proto: ep,
                fields: {
                  device_friendly_name: {
                    n: 1,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  platform_type: { n: 2, br: ct.readEnum, bw: ut.writeEnum },
                  os_type: { n: 3, br: ct.readInt32, bw: ut.writeInt32 },
                  gaming_device_type: {
                    n: 4,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  client_count: { n: 5, br: ct.readUint32, bw: ut.writeUint32 },
                  machine_id: { n: 6, br: ct.readBytes, bw: ut.writeBytes },
                },
              }),
            ep.sm_m
          );
        }
        static MBF() {
          return ep.sm_mbf || (ep.sm_mbf = dt(ep.M())), ep.sm_mbf;
        }
        toObject(e = !1) {
          return ep.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ep.M(), e, t);
        }
        static fromObject(e) {
          return mt(ep.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ep();
          return ep.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ep.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ep.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ep.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ep.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_DeviceDetails";
        }
      }
      class tp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            tp.prototype.confirmation_type || gt(tp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            tp.sm_m ||
              (tp.sm_m = {
                proto: tp,
                fields: {
                  confirmation_type: {
                    n: 1,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                  associated_message: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                },
              }),
            tp.sm_m
          );
        }
        static MBF() {
          return tp.sm_mbf || (tp.sm_mbf = dt(tp.M())), tp.sm_mbf;
        }
        toObject(e = !1) {
          return tp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(tp.M(), e, t);
        }
        static fromObject(e) {
          return mt(tp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new tp();
          return tp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(tp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return tp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(tp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return tp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_AllowedConfirmation";
        }
      }
      class rp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            rp.prototype.device_friendly_name || gt(rp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            rp.sm_m ||
              (rp.sm_m = {
                proto: rp,
                fields: {
                  device_friendly_name: {
                    n: 1,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  platform_type: { n: 2, br: ct.readEnum, bw: ut.writeEnum },
                  device_details: { n: 3, c: ep },
                  website_id: {
                    n: 4,
                    d: "Unknown",
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                },
              }),
            rp.sm_m
          );
        }
        static MBF() {
          return rp.sm_mbf || (rp.sm_mbf = dt(rp.M())), rp.sm_mbf;
        }
        toObject(e = !1) {
          return rp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(rp.M(), e, t);
        }
        static fromObject(e) {
          return mt(rp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new rp();
          return rp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(rp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return rp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(rp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return rp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_BeginAuthSessionViaQR_Request";
        }
      }
      class np extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            np.prototype.client_id || gt(np.M()),
            Xh.initialize(this, e, 0, -1, [5], null);
        }
        static M() {
          return (
            np.sm_m ||
              (np.sm_m = {
                proto: np,
                fields: {
                  client_id: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  challenge_url: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  request_id: { n: 3, br: ct.readBytes, bw: ut.writeBytes },
                  interval: { n: 4, br: ct.readFloat, bw: ut.writeFloat },
                  allowed_confirmations: { n: 5, c: tp, r: !0, q: !0 },
                  version: { n: 6, br: ct.readInt32, bw: ut.writeInt32 },
                },
              }),
            np.sm_m
          );
        }
        static MBF() {
          return np.sm_mbf || (np.sm_mbf = dt(np.M())), np.sm_mbf;
        }
        toObject(e = !1) {
          return np.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(np.M(), e, t);
        }
        static fromObject(e) {
          return mt(np.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new np();
          return np.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(np.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return np.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(np.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return np.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_BeginAuthSessionViaQR_Response";
        }
      }
      class ip extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ip.prototype.device_friendly_name || gt(ip.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ip.sm_m ||
              (ip.sm_m = {
                proto: ip,
                fields: {
                  device_friendly_name: {
                    n: 1,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  account_name: { n: 2, br: ct.readString, bw: ut.writeString },
                  encrypted_password: {
                    n: 3,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  encryption_timestamp: {
                    n: 4,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  remember_login: { n: 5, br: ct.readBool, bw: ut.writeBool },
                  platform_type: { n: 6, br: ct.readEnum, bw: ut.writeEnum },
                  persistence: {
                    n: 7,
                    d: 1,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                  website_id: {
                    n: 8,
                    d: "Unknown",
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  device_details: { n: 9, c: ep },
                  guard_data: { n: 10, br: ct.readString, bw: ut.writeString },
                  language: { n: 11, br: ct.readUint32, bw: ut.writeUint32 },
                  qos_level: {
                    n: 12,
                    d: 2,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                },
              }),
            ip.sm_m
          );
        }
        static MBF() {
          return ip.sm_mbf || (ip.sm_mbf = dt(ip.M())), ip.sm_mbf;
        }
        toObject(e = !1) {
          return ip.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ip.M(), e, t);
        }
        static fromObject(e) {
          return mt(ip.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ip();
          return ip.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ip.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ip.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ip.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ip.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_BeginAuthSessionViaCredentials_Request";
        }
      }
      class ap extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ap.prototype.client_id || gt(ap.M()),
            Xh.initialize(this, e, 0, -1, [4], null);
        }
        static M() {
          return (
            ap.sm_m ||
              (ap.sm_m = {
                proto: ap,
                fields: {
                  client_id: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  request_id: { n: 2, br: ct.readBytes, bw: ut.writeBytes },
                  interval: { n: 3, br: ct.readFloat, bw: ut.writeFloat },
                  allowed_confirmations: { n: 4, c: tp, r: !0, q: !0 },
                  steamid: {
                    n: 5,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  weak_token: { n: 6, br: ct.readString, bw: ut.writeString },
                  agreement_session_url: {
                    n: 7,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  extended_error_message: {
                    n: 8,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                },
              }),
            ap.sm_m
          );
        }
        static MBF() {
          return ap.sm_mbf || (ap.sm_mbf = dt(ap.M())), ap.sm_mbf;
        }
        toObject(e = !1) {
          return ap.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ap.M(), e, t);
        }
        static fromObject(e) {
          return mt(ap.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ap();
          return ap.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ap.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ap.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ap.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ap.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_BeginAuthSessionViaCredentials_Response";
        }
      }
      class sp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            sp.prototype.client_id || gt(sp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            sp.sm_m ||
              (sp.sm_m = {
                proto: sp,
                fields: {
                  client_id: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  request_id: { n: 2, br: ct.readBytes, bw: ut.writeBytes },
                  token_to_revoke: {
                    n: 3,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                },
              }),
            sp.sm_m
          );
        }
        static MBF() {
          return sp.sm_mbf || (sp.sm_mbf = dt(sp.M())), sp.sm_mbf;
        }
        toObject(e = !1) {
          return sp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(sp.M(), e, t);
        }
        static fromObject(e) {
          return mt(sp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new sp();
          return sp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(sp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return sp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(sp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return sp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_PollAuthSessionStatus_Request";
        }
      }
      class op extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            op.prototype.new_client_id || gt(op.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            op.sm_m ||
              (op.sm_m = {
                proto: op,
                fields: {
                  new_client_id: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  new_challenge_url: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  refresh_token: {
                    n: 3,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  access_token: { n: 4, br: ct.readString, bw: ut.writeString },
                  had_remote_interaction: {
                    n: 5,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  account_name: { n: 6, br: ct.readString, bw: ut.writeString },
                  new_guard_data: {
                    n: 7,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  agreement_session_url: {
                    n: 8,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                },
              }),
            op.sm_m
          );
        }
        static MBF() {
          return op.sm_mbf || (op.sm_mbf = dt(op.M())), op.sm_mbf;
        }
        toObject(e = !1) {
          return op.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(op.M(), e, t);
        }
        static fromObject(e) {
          return mt(op.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new op();
          return op.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(op.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return op.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(op.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return op.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_PollAuthSessionStatus_Response";
        }
      }
      class lp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            lp.prototype.client_id || gt(lp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            lp.sm_m ||
              (lp.sm_m = {
                proto: lp,
                fields: {
                  client_id: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                },
              }),
            lp.sm_m
          );
        }
        static MBF() {
          return lp.sm_mbf || (lp.sm_mbf = dt(lp.M())), lp.sm_mbf;
        }
        toObject(e = !1) {
          return lp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(lp.M(), e, t);
        }
        static fromObject(e) {
          return mt(lp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new lp();
          return lp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(lp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return lp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(lp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return lp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_GetAuthSessionInfo_Request";
        }
      }
      class cp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            cp.prototype.ip || gt(cp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            cp.sm_m ||
              (cp.sm_m = {
                proto: cp,
                fields: {
                  ip: { n: 1, br: ct.readString, bw: ut.writeString },
                  geoloc: { n: 2, br: ct.readString, bw: ut.writeString },
                  city: { n: 3, br: ct.readString, bw: ut.writeString },
                  state: { n: 4, br: ct.readString, bw: ut.writeString },
                  country: { n: 5, br: ct.readString, bw: ut.writeString },
                  platform_type: { n: 6, br: ct.readEnum, bw: ut.writeEnum },
                  device_friendly_name: {
                    n: 7,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  version: { n: 8, br: ct.readInt32, bw: ut.writeInt32 },
                  login_history: { n: 9, br: ct.readEnum, bw: ut.writeEnum },
                  requestor_location_mismatch: {
                    n: 10,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  high_usage_login: {
                    n: 11,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  requested_persistence: {
                    n: 12,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                },
              }),
            cp.sm_m
          );
        }
        static MBF() {
          return cp.sm_mbf || (cp.sm_mbf = dt(cp.M())), cp.sm_mbf;
        }
        toObject(e = !1) {
          return cp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(cp.M(), e, t);
        }
        static fromObject(e) {
          return mt(cp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new cp();
          return cp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(cp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return cp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(cp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return cp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_GetAuthSessionInfo_Response";
        }
      }
      class up extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), Xh.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return up.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new up();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new up();
          return up.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return up.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return up.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_GetAuthSessionsForAccount_Request";
        }
      }
      class dp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            dp.prototype.client_ids || gt(dp.M()),
            Xh.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            dp.sm_m ||
              (dp.sm_m = {
                proto: dp,
                fields: {
                  client_ids: {
                    n: 1,
                    r: !0,
                    q: !0,
                    br: ct.readUint64String,
                    pbr: ct.readPackedUint64String,
                    bw: ut.writeRepeatedUint64String,
                  },
                },
              }),
            dp.sm_m
          );
        }
        static MBF() {
          return dp.sm_mbf || (dp.sm_mbf = dt(dp.M())), dp.sm_mbf;
        }
        toObject(e = !1) {
          return dp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(dp.M(), e, t);
        }
        static fromObject(e) {
          return mt(dp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new dp();
          return dp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(dp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return dp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(dp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return dp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_GetAuthSessionsForAccount_Response";
        }
      }
      class mp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            mp.prototype.version || gt(mp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            mp.sm_m ||
              (mp.sm_m = {
                proto: mp,
                fields: {
                  version: { n: 1, br: ct.readInt32, bw: ut.writeInt32 },
                  client_id: {
                    n: 2,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  steamid: {
                    n: 3,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  signature: { n: 4, br: ct.readBytes, bw: ut.writeBytes },
                  confirm: { n: 5, d: !1, br: ct.readBool, bw: ut.writeBool },
                  persistence: {
                    n: 6,
                    d: 1,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                },
              }),
            mp.sm_m
          );
        }
        static MBF() {
          return mp.sm_mbf || (mp.sm_mbf = dt(mp.M())), mp.sm_mbf;
        }
        toObject(e = !1) {
          return mp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(mp.M(), e, t);
        }
        static fromObject(e) {
          return mt(mp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new mp();
          return mp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(mp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return mp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(mp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return mp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_UpdateAuthSessionWithMobileConfirmation_Request";
        }
      }
      class _p extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), Xh.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return _p.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new _p();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new _p();
          return _p.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return _p.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return _p.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_UpdateAuthSessionWithMobileConfirmation_Response";
        }
      }
      class hp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            hp.prototype.client_id || gt(hp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            hp.sm_m ||
              (hp.sm_m = {
                proto: hp,
                fields: {
                  client_id: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  steamid: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  code: { n: 3, br: ct.readString, bw: ut.writeString },
                  code_type: { n: 4, br: ct.readEnum, bw: ut.writeEnum },
                },
              }),
            hp.sm_m
          );
        }
        static MBF() {
          return hp.sm_mbf || (hp.sm_mbf = dt(hp.M())), hp.sm_mbf;
        }
        toObject(e = !1) {
          return hp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(hp.M(), e, t);
        }
        static fromObject(e) {
          return mt(hp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new hp();
          return hp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(hp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return hp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(hp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return hp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_UpdateAuthSessionWithSteamGuardCode_Request";
        }
      }
      class pp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            pp.prototype.agreement_session_url || gt(pp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            pp.sm_m ||
              (pp.sm_m = {
                proto: pp,
                fields: {
                  agreement_session_url: {
                    n: 7,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                },
              }),
            pp.sm_m
          );
        }
        static MBF() {
          return pp.sm_mbf || (pp.sm_mbf = dt(pp.M())), pp.sm_mbf;
        }
        toObject(e = !1) {
          return pp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(pp.M(), e, t);
        }
        static fromObject(e) {
          return mt(pp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new pp();
          return pp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(pp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return pp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(pp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return pp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_UpdateAuthSessionWithSteamGuardCode_Response";
        }
      }
      class gp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            gp.prototype.refresh_token || gt(gp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            gp.sm_m ||
              (gp.sm_m = {
                proto: gp,
                fields: {
                  refresh_token: {
                    n: 1,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  steamid: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  renewal_type: { n: 3, br: ct.readEnum, bw: ut.writeEnum },
                },
              }),
            gp.sm_m
          );
        }
        static MBF() {
          return gp.sm_mbf || (gp.sm_mbf = dt(gp.M())), gp.sm_mbf;
        }
        toObject(e = !1) {
          return gp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(gp.M(), e, t);
        }
        static fromObject(e) {
          return mt(gp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new gp();
          return gp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(gp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return gp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(gp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return gp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_AccessToken_GenerateForApp_Request";
        }
      }
      class bp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            bp.prototype.access_token || gt(bp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            bp.sm_m ||
              (bp.sm_m = {
                proto: bp,
                fields: {
                  access_token: { n: 1, br: ct.readString, bw: ut.writeString },
                  refresh_token: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                },
              }),
            bp.sm_m
          );
        }
        static MBF() {
          return bp.sm_mbf || (bp.sm_mbf = dt(bp.M())), bp.sm_mbf;
        }
        toObject(e = !1) {
          return bp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(bp.M(), e, t);
        }
        static fromObject(e) {
          return mt(bp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new bp();
          return bp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(bp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return bp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(bp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return bp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_AccessToken_GenerateForApp_Response";
        }
      }
      class fp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), Xh.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return fp.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new fp();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new fp();
          return fp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return fp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return fp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_RefreshToken_Enumerate_Request";
        }
      }
      class vp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            vp.prototype.refresh_tokens || gt(vp.M()),
            Xh.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            vp.sm_m ||
              (vp.sm_m = {
                proto: vp,
                fields: {
                  refresh_tokens: { n: 1, c: Sp, r: !0, q: !0 },
                  requesting_token: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                },
              }),
            vp.sm_m
          );
        }
        static MBF() {
          return vp.sm_mbf || (vp.sm_mbf = dt(vp.M())), vp.sm_mbf;
        }
        toObject(e = !1) {
          return vp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(vp.M(), e, t);
        }
        static fromObject(e) {
          return mt(vp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new vp();
          return vp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(vp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return vp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(vp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return vp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_RefreshToken_Enumerate_Response";
        }
      }
      class yp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            yp.prototype.time || gt(yp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            yp.sm_m ||
              (yp.sm_m = {
                proto: yp,
                fields: {
                  time: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  ip: { n: 2, c: wt },
                  locale: { n: 3, br: ct.readString, bw: ut.writeString },
                  country: { n: 4, br: ct.readString, bw: ut.writeString },
                  state: { n: 5, br: ct.readString, bw: ut.writeString },
                  city: { n: 6, br: ct.readString, bw: ut.writeString },
                },
              }),
            yp.sm_m
          );
        }
        static MBF() {
          return yp.sm_mbf || (yp.sm_mbf = dt(yp.M())), yp.sm_mbf;
        }
        toObject(e = !1) {
          return yp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(yp.M(), e, t);
        }
        static fromObject(e) {
          return mt(yp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new yp();
          return yp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(yp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return yp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(yp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return yp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_RefreshToken_Enumerate_Response_TokenUsageEvent";
        }
      }
      class Sp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Sp.prototype.token_id || gt(Sp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Sp.sm_m ||
              (Sp.sm_m = {
                proto: Sp,
                fields: {
                  token_id: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  token_description: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  time_updated: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  platform_type: { n: 4, br: ct.readEnum, bw: ut.writeEnum },
                  logged_in: { n: 5, br: ct.readBool, bw: ut.writeBool },
                  os_platform: { n: 6, br: ct.readUint32, bw: ut.writeUint32 },
                  auth_type: { n: 7, br: ct.readUint32, bw: ut.writeUint32 },
                  gaming_device_type: {
                    n: 8,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  first_seen: { n: 9, c: yp },
                  last_seen: { n: 10, c: yp },
                  os_type: { n: 11, br: ct.readInt32, bw: ut.writeInt32 },
                },
              }),
            Sp.sm_m
          );
        }
        static MBF() {
          return Sp.sm_mbf || (Sp.sm_mbf = dt(Sp.M())), Sp.sm_mbf;
        }
        toObject(e = !1) {
          return Sp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Sp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Sp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Sp();
          return Sp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Sp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Sp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Sp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Sp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_RefreshToken_Enumerate_Response_RefreshTokenDescription";
        }
      }
      class wp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            wp.prototype.token || gt(wp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            wp.sm_m ||
              (wp.sm_m = {
                proto: wp,
                fields: {
                  token: { n: 1, br: ct.readString, bw: ut.writeString },
                  revoke_action: {
                    n: 2,
                    d: 1,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                },
              }),
            wp.sm_m
          );
        }
        static MBF() {
          return wp.sm_mbf || (wp.sm_mbf = dt(wp.M())), wp.sm_mbf;
        }
        toObject(e = !1) {
          return wp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(wp.M(), e, t);
        }
        static fromObject(e) {
          return mt(wp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new wp();
          return wp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(wp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return wp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(wp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return wp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_Token_Revoke_Request";
        }
      }
      class Cp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), Xh.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return Cp.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new Cp();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Cp();
          return Cp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Cp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Cp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_Token_Revoke_Response";
        }
      }
      class Bp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Bp.prototype.token_id || gt(Bp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Bp.sm_m ||
              (Bp.sm_m = {
                proto: Bp,
                fields: {
                  token_id: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  steamid: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  revoke_action: {
                    n: 3,
                    d: 1,
                    br: ct.readEnum,
                    bw: ut.writeEnum,
                  },
                  signature: { n: 4, br: ct.readBytes, bw: ut.writeBytes },
                },
              }),
            Bp.sm_m
          );
        }
        static MBF() {
          return Bp.sm_mbf || (Bp.sm_mbf = dt(Bp.M())), Bp.sm_mbf;
        }
        toObject(e = !1) {
          return Bp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Bp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Bp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Bp();
          return Bp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Bp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Bp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Bp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Bp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_RefreshToken_Revoke_Request";
        }
      }
      class Ep extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), Xh.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return Ep.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new Ep();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Ep();
          return Ep.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Ep.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Ep.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_RefreshToken_Revoke_Response";
        }
      }
      class Ip extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Ip.prototype.steamid || gt(Ip.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Ip.sm_m ||
              (Ip.sm_m = {
                proto: Ip,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  token: { n: 2, br: ct.readString, bw: ut.writeString },
                  signature: { n: 3, br: ct.readString, bw: ut.writeString },
                },
              }),
            Ip.sm_m
          );
        }
        static MBF() {
          return Ip.sm_mbf || (Ip.sm_mbf = dt(Ip.M())), Ip.sm_mbf;
        }
        toObject(e = !1) {
          return Ip.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Ip.M(), e, t);
        }
        static fromObject(e) {
          return mt(Ip.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Ip();
          return Ip.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Ip.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Ip.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Ip.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Ip.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_MigrateMobileSession_Request";
        }
      }
      class Rp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Rp.prototype.refresh_token || gt(Rp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Rp.sm_m ||
              (Rp.sm_m = {
                proto: Rp,
                fields: {
                  refresh_token: {
                    n: 1,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  access_token: { n: 2, br: ct.readString, bw: ut.writeString },
                },
              }),
            Rp.sm_m
          );
        }
        static MBF() {
          return Rp.sm_mbf || (Rp.sm_mbf = dt(Rp.M())), Rp.sm_mbf;
        }
        toObject(e = !1) {
          return Rp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Rp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Rp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Rp();
          return Rp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Rp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Rp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Rp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Rp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthentication_MigrateMobileSession_Response";
        }
      }
      class Tp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Tp.prototype.token_id || gt(Tp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Tp.sm_m ||
              (Tp.sm_m = {
                proto: Tp,
                fields: {
                  token_id: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  token_description: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  time_updated: { n: 3, br: ct.readUint32, bw: ut.writeUint32 },
                  platform_type: { n: 4, br: ct.readEnum, bw: ut.writeEnum },
                  token_state: { n: 5, br: ct.readEnum, bw: ut.writeEnum },
                  owner_steamid: {
                    n: 6,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  os_platform: { n: 7, br: ct.readUint32, bw: ut.writeUint32 },
                  os_type: { n: 8, br: ct.readInt32, bw: ut.writeInt32 },
                  auth_type: { n: 9, br: ct.readUint32, bw: ut.writeUint32 },
                  gaming_device_type: {
                    n: 10,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  first_seen: { n: 11, c: Mp },
                  last_seen: { n: 12, c: Mp },
                },
              }),
            Tp.sm_m
          );
        }
        static MBF() {
          return Tp.sm_mbf || (Tp.sm_mbf = dt(Tp.M())), Tp.sm_mbf;
        }
        toObject(e = !1) {
          return Tp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Tp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Tp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Tp();
          return Tp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Tp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Tp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Tp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Tp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CSupportRefreshTokenDescription";
        }
      }
      class Mp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Mp.prototype.time || gt(Mp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Mp.sm_m ||
              (Mp.sm_m = {
                proto: Mp,
                fields: {
                  time: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  ip: { n: 2, c: wt },
                  country: { n: 3, br: ct.readString, bw: ut.writeString },
                  state: { n: 4, br: ct.readString, bw: ut.writeString },
                  city: { n: 5, br: ct.readString, bw: ut.writeString },
                },
              }),
            Mp.sm_m
          );
        }
        static MBF() {
          return Mp.sm_mbf || (Mp.sm_mbf = dt(Mp.M())), Mp.sm_mbf;
        }
        toObject(e = !1) {
          return Mp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Mp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Mp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Mp();
          return Mp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Mp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Mp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Mp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Mp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CSupportRefreshTokenDescription_TokenUsageEvent";
        }
      }
      class Dp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Dp.prototype.action || gt(Dp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Dp.sm_m ||
              (Dp.sm_m = {
                proto: Dp,
                fields: {
                  action: { n: 1, br: ct.readInt32, bw: ut.writeInt32 },
                  time: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  ip: { n: 3, c: wt },
                  actor: {
                    n: 4,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                },
              }),
            Dp.sm_m
          );
        }
        static MBF() {
          return Dp.sm_mbf || (Dp.sm_mbf = dt(Dp.M())), Dp.sm_mbf;
        }
        toObject(e = !1) {
          return Dp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Dp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Dp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Dp();
          return Dp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Dp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Dp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Dp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Dp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CSupportRefreshTokenAudit";
        }
      }
      class Ap extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Ap.prototype.steamid || gt(Ap.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Ap.sm_m ||
              (Ap.sm_m = {
                proto: Ap,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  include_revoked_tokens: {
                    n: 2,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            Ap.sm_m
          );
        }
        static MBF() {
          return Ap.sm_mbf || (Ap.sm_mbf = dt(Ap.M())), Ap.sm_mbf;
        }
        toObject(e = !1) {
          return Ap.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Ap.M(), e, t);
        }
        static fromObject(e) {
          return mt(Ap.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Ap();
          return Ap.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Ap.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Ap.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Ap.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Ap.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthenticationSupport_QueryRefreshTokensByAccount_Request";
        }
      }
      class Op extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Op.prototype.refresh_tokens || gt(Op.M()),
            Xh.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            Op.sm_m ||
              (Op.sm_m = {
                proto: Op,
                fields: {
                  refresh_tokens: { n: 1, c: Tp, r: !0, q: !0 },
                  last_token_reset: {
                    n: 2,
                    br: ct.readInt32,
                    bw: ut.writeInt32,
                  },
                },
              }),
            Op.sm_m
          );
        }
        static MBF() {
          return Op.sm_mbf || (Op.sm_mbf = dt(Op.M())), Op.sm_mbf;
        }
        toObject(e = !1) {
          return Op.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Op.M(), e, t);
        }
        static fromObject(e) {
          return mt(Op.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Op();
          return Op.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Op.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Op.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Op.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Op.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthenticationSupport_QueryRefreshTokensByAccount_Response";
        }
      }
      class Fp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Fp.prototype.token_id || gt(Fp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Fp.sm_m ||
              (Fp.sm_m = {
                proto: Fp,
                fields: {
                  token_id: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                },
              }),
            Fp.sm_m
          );
        }
        static MBF() {
          return Fp.sm_mbf || (Fp.sm_mbf = dt(Fp.M())), Fp.sm_mbf;
        }
        toObject(e = !1) {
          return Fp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Fp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Fp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Fp();
          return Fp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Fp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Fp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Fp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Fp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthenticationSupport_QueryRefreshTokenByID_Request";
        }
      }
      class Lp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Lp.prototype.refresh_tokens || gt(Lp.M()),
            Xh.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            Lp.sm_m ||
              (Lp.sm_m = {
                proto: Lp,
                fields: { refresh_tokens: { n: 1, c: Tp, r: !0, q: !0 } },
              }),
            Lp.sm_m
          );
        }
        static MBF() {
          return Lp.sm_mbf || (Lp.sm_mbf = dt(Lp.M())), Lp.sm_mbf;
        }
        toObject(e = !1) {
          return Lp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Lp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Lp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Lp();
          return Lp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Lp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Lp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Lp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Lp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthenticationSupport_QueryRefreshTokenByID_Response";
        }
      }
      class kp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            kp.prototype.token_id || gt(kp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            kp.sm_m ||
              (kp.sm_m = {
                proto: kp,
                fields: {
                  token_id: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  steamid: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                },
              }),
            kp.sm_m
          );
        }
        static MBF() {
          return kp.sm_mbf || (kp.sm_mbf = dt(kp.M())), kp.sm_mbf;
        }
        toObject(e = !1) {
          return kp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(kp.M(), e, t);
        }
        static fromObject(e) {
          return mt(kp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new kp();
          return kp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(kp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return kp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(kp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return kp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthenticationSupport_RevokeToken_Request";
        }
      }
      class Np extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), Xh.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return Np.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new Np();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Np();
          return Np.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Np.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Np.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthenticationSupport_RevokeToken_Response";
        }
      }
      class Pp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Pp.prototype.token_id || gt(Pp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Pp.sm_m ||
              (Pp.sm_m = {
                proto: Pp,
                fields: {
                  token_id: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                },
              }),
            Pp.sm_m
          );
        }
        static MBF() {
          return Pp.sm_mbf || (Pp.sm_mbf = dt(Pp.M())), Pp.sm_mbf;
        }
        toObject(e = !1) {
          return Pp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Pp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Pp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Pp();
          return Pp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Pp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Pp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Pp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Pp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthenticationSupport_GetTokenHistory_Request";
        }
      }
      class Gp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Gp.prototype.history || gt(Gp.M()),
            Xh.initialize(this, e, 0, -1, [1], null);
        }
        static M() {
          return (
            Gp.sm_m ||
              (Gp.sm_m = {
                proto: Gp,
                fields: { history: { n: 1, c: Dp, r: !0, q: !0 } },
              }),
            Gp.sm_m
          );
        }
        static MBF() {
          return Gp.sm_mbf || (Gp.sm_mbf = dt(Gp.M())), Gp.sm_mbf;
        }
        toObject(e = !1) {
          return Gp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Gp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Gp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Gp();
          return Gp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Gp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Gp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Gp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Gp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CAuthenticationSupport_GetTokenHistory_Response";
        }
      }
      class xp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            xp.prototype.platform || gt(xp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            xp.sm_m ||
              (xp.sm_m = {
                proto: xp,
                fields: {
                  platform: { n: 1, br: ct.readString, bw: ut.writeString },
                  appid: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            xp.sm_m
          );
        }
        static MBF() {
          return xp.sm_mbf || (xp.sm_mbf = dt(xp.M())), xp.sm_mbf;
        }
        toObject(e = !1) {
          return xp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(xp.M(), e, t);
        }
        static fromObject(e) {
          return mt(xp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new xp();
          return xp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(xp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return xp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(xp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return xp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCloudGaming_CreateNonce_Request";
        }
      }
      class Up extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Up.prototype.nonce || gt(Up.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Up.sm_m ||
              (Up.sm_m = {
                proto: Up,
                fields: {
                  nonce: { n: 1, br: ct.readString, bw: ut.writeString },
                  expiry: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            Up.sm_m
          );
        }
        static MBF() {
          return Up.sm_mbf || (Up.sm_mbf = dt(Up.M())), Up.sm_mbf;
        }
        toObject(e = !1) {
          return Up.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Up.M(), e, t);
        }
        static fromObject(e) {
          return mt(Up.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Up();
          return Up.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Up.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Up.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Up.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Up.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCloudGaming_CreateNonce_Response";
        }
      }
      class zp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            zp.prototype.appid || gt(zp.M()),
            Xh.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            zp.sm_m ||
              (zp.sm_m = {
                proto: zp,
                fields: {
                  appid: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  minutes_remaining: {
                    n: 2,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            zp.sm_m
          );
        }
        static MBF() {
          return zp.sm_mbf || (zp.sm_mbf = dt(zp.M())), zp.sm_mbf;
        }
        toObject(e = !1) {
          return zp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(zp.M(), e, t);
        }
        static fromObject(e) {
          return mt(zp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new zp();
          return zp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(zp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return zp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(zp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return zp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCloudGaming_TimeRemaining";
        }
      }
      class Wp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Wp.prototype.platform || gt(Wp.M()),
            Xh.initialize(this, e, 0, -1, [2], null);
        }
        static M() {
          return (
            Wp.sm_m ||
              (Wp.sm_m = {
                proto: Wp,
                fields: {
                  platform: { n: 1, br: ct.readString, bw: ut.writeString },
                  appid_list: {
                    n: 2,
                    r: !0,
                    q: !0,
                    br: ct.readUint32,
                    pbr: ct.readPackedUint32,
                    bw: ut.writeRepeatedUint32,
                  },
                },
              }),
            Wp.sm_m
          );
        }
        static MBF() {
          return Wp.sm_mbf || (Wp.sm_mbf = dt(Wp.M())), Wp.sm_mbf;
        }
        toObject(e = !1) {
          return Wp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Wp.M(), e, t);
        }
        static fromObject(e) {
          return mt(Wp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Wp();
          return Wp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Wp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Wp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Wp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Wp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCloudGaming_GetTimeRemaining_Request";
        }
      }
      class jp extends Xh {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            jp.prototype.entries || gt(jp.M()),
            Xh.initialize(this, e, 0, -1, [2], null);
        }
        static M() {
          return (
            jp.sm_m ||
              (jp.sm_m = {
                proto: jp,
                fields: { entries: { n: 2, c: zp, r: !0, q: !0 } },
              }),
            jp.sm_m
          );
        }
        static MBF() {
          return jp.sm_mbf || (jp.sm_mbf = dt(jp.M())), jp.sm_mbf;
        }
        toObject(e = !1) {
          return jp.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(jp.M(), e, t);
        }
        static fromObject(e) {
          return mt(jp.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new jp();
          return jp.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(jp.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return jp.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(jp.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return jp.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CCloudGaming_GetTimeRemaining_Response";
        }
      }
      var Vp, Hp, qp;
      !(function (e) {
        (e.GetPasswordRSAPublicKey = function (e, t) {
          return e.SendMsg(
            "Authentication.GetPasswordRSAPublicKey#1",
            Ot(Zh, t),
            Jh,
            { bConstMethod: !0, ePrivilege: 0, eWebAPIKeyRequirement: 1 },
          );
        }),
          (e.BeginAuthSessionViaQR = function (e, t) {
            return e.SendMsg(
              "Authentication.BeginAuthSessionViaQR#1",
              Ot(rp, t),
              np,
              { ePrivilege: 0, eWebAPIKeyRequirement: 1 },
            );
          }),
          (e.BeginAuthSessionViaCredentials = function (e, t) {
            return e.SendMsg(
              "Authentication.BeginAuthSessionViaCredentials#1",
              Ot(ip, t),
              ap,
              { ePrivilege: 0, eWebAPIKeyRequirement: 1 },
            );
          }),
          (e.PollAuthSessionStatus = function (e, t) {
            return e.SendMsg(
              "Authentication.PollAuthSessionStatus#1",
              Ot(sp, t),
              op,
              { ePrivilege: 0, eWebAPIKeyRequirement: 1 },
            );
          }),
          (e.GetAuthSessionInfo = function (e, t) {
            return e.SendMsg(
              "Authentication.GetAuthSessionInfo#1",
              Ot(lp, t),
              cp,
              { ePrivilege: 1 },
            );
          }),
          (e.UpdateAuthSessionWithMobileConfirmation = function (e, t) {
            return e.SendMsg(
              "Authentication.UpdateAuthSessionWithMobileConfirmation#1",
              Ot(mp, t),
              _p,
              { ePrivilege: 1 },
            );
          }),
          (e.UpdateAuthSessionWithSteamGuardCode = function (e, t) {
            return e.SendMsg(
              "Authentication.UpdateAuthSessionWithSteamGuardCode#1",
              Ot(hp, t),
              pp,
              { ePrivilege: 0, eWebAPIKeyRequirement: 1 },
            );
          }),
          (e.GenerateAccessTokenForApp = function (e, t) {
            return e.SendMsg(
              "Authentication.GenerateAccessTokenForApp#1",
              Ot(gp, t),
              bp,
              { ePrivilege: 0, eWebAPIKeyRequirement: 1 },
            );
          }),
          (e.EnumerateTokens = function (e, t) {
            return e.SendMsg(
              "Authentication.EnumerateTokens#1",
              Ot(fp, t),
              vp,
              { ePrivilege: 1 },
            );
          }),
          (e.GetAuthSessionsForAccount = function (e, t) {
            return e.SendMsg(
              "Authentication.GetAuthSessionsForAccount#1",
              Ot(up, t),
              dp,
              { bConstMethod: !0, ePrivilege: 1 },
            );
          }),
          (e.MigrateMobileSession = function (e, t) {
            return e.SendMsg(
              "Authentication.MigrateMobileSession#1",
              Ot(Ip, t),
              Rp,
              { ePrivilege: 0, eWebAPIKeyRequirement: 1 },
            );
          }),
          (e.RevokeToken = function (e, t) {
            return e.SendMsg("Authentication.RevokeToken#1", Ot(wp, t), Cp, {
              ePrivilege: 0,
              eWebAPIKeyRequirement: 1,
            });
          }),
          (e.RevokeRefreshToken = function (e, t) {
            return e.SendMsg(
              "Authentication.RevokeRefreshToken#1",
              Ot(Bp, t),
              Ep,
              { ePrivilege: 2, eWebAPIKeyRequirement: 1 },
            );
          });
      })(Vp || (Vp = {})),
        (function (e) {
          (e.QueryRefreshTokensByAccount = function (e, t) {
            return e.SendMsg(
              "AuthenticationSupport.QueryRefreshTokensByAccount#1",
              Ot(Ap, t),
              Op,
              { bConstMethod: !0, ePrivilege: 5 },
            );
          }),
            (e.QueryRefreshTokenByID = function (e, t) {
              return e.SendMsg(
                "AuthenticationSupport.QueryRefreshTokenByID#1",
                Ot(Fp, t),
                Lp,
                { bConstMethod: !0, ePrivilege: 5 },
              );
            }),
            (e.RevokeToken = function (e, t) {
              return e.SendMsg(
                "AuthenticationSupport.RevokeToken#1",
                Ot(kp, t),
                Np,
                { ePrivilege: 5 },
              );
            }),
            (e.GetTokenHistory = function (e, t) {
              return e.SendMsg(
                "AuthenticationSupport.GetTokenHistory#1",
                Ot(Pp, t),
                Gp,
                { bConstMethod: !0, ePrivilege: 5 },
              );
            });
        })(Hp || (Hp = {})),
        (function (e) {
          (e.CreateNonce = function (e, t) {
            return e.SendMsg("CloudGaming.CreateNonce#1", Ot(xp, t), Up, {
              bConstMethod: !0,
              ePrivilege: 1,
            });
          }),
            (e.GetTimeRemaining = function (e, t) {
              return e.SendMsg(
                "CloudGaming.GetTimeRemaining#1",
                Ot(Wp, t),
                jp,
                { bConstMethod: !0, ePrivilege: 1 },
              );
            });
        })(qp || (qp = {}));
      const Kp = r(9669).Z,
        $p = new ws("Login"),
        Yp = $p.Info,
        Qp = ($p.Debug, $p.Warning),
        Xp = $p.Error;
      function Zp(e, t) {
        let r = Kp.getPublicKey(t.publickey_mod, t.publickey_exp),
          n = Kp.encrypt(e, r);
        return !1 === n ? null : n;
      }
      var Jp, eg;
      !(function (e) {
        (e[(e.None = 0)] = "None"),
          (e[(e.Generic = 1)] = "Generic"),
          (e[(e.Expired = 2)] = "Expired"),
          (e[(e.Network = 3)] = "Network"),
          (e[(e.MoveAuthenticator = 4)] = "MoveAuthenticator"),
          (e[(e.RateLimitExceeded = 5)] = "RateLimitExceeded"),
          (e[(e.AnonymousLogin = 6)] = "AnonymousLogin");
      })(Jp || (Jp = {})),
        (function (e) {
          (e[(e.k_Success = 0)] = "k_Success"),
            (e[(e.k_PrimaryDomainFail = 1)] = "k_PrimaryDomainFail"),
            (e[(e.k_SecondaryDomainFail = 2)] = "k_SecondaryDomainFail");
        })(eg || (eg = {}));
      class tg {
        constructor(e, t, r, n) {
          (this.m_strChallengeURL = void 0),
            (this.m_bRemoteInteraction = !1),
            (this.m_eFailureState = Jp.None),
            (this.m_strExtendedErrorMessage = ""),
            (0, Je.rC)(this),
            (this.m_transport = e),
            (this.m_onCompleteCallback = t),
            (this.m_onDeviceDetailsCallback = r),
            (this.m_onShowAgreement = n);
        }
        StartPolling(e = !0) {
          null != this.m_activeTimerID && this.StopPolling(),
            e
              ? this.PollForUpdate()
              : (this.m_activeTimerID = window.setTimeout(
                  this.PollForUpdate,
                  this.m_msPollInterval,
                ));
        }
        StopPolling() {
          window.clearTimeout(this.m_activeTimerID),
            (this.m_activeTimerID = void 0);
        }
        PollForUpdate() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            try {
              const e = At.Init(sp);
              e.SetEMsg(9804),
                e.Body().set_client_id(this.m_strClientID),
                e.Body().set_request_id(this.m_rgRequestID),
                this.m_strTokenToRevoke &&
                  e.Body().set_token_to_revoke(this.m_strTokenToRevoke);
              const t = yield Vp.PollAuthSessionStatus(this.m_transport, e),
                r = t.GetEResult();
              if (1 !== r) {
                if (2 === r) {
                  const e = t.Hdr().transport_error();
                  if (
                    (Xp(
                      `Failed to poll auth session. Result ${r}. Transport Error: ${e}`,
                    ),
                    2 === e || 3 === e)
                  )
                    return (
                      this.m_transport.MakeReady(),
                      window.setTimeout(
                        this.PollForUpdate,
                        this.m_msPollInterval,
                      ),
                      1
                    );
                }
                if (9 === r || 27 === r) this.m_eFailureState = Jp.Expired;
                else if (84 === r) this.m_eFailureState = Jp.RateLimitExceeded;
                else {
                  if (118 == r) {
                    if (this.m_onShowAgreement)
                      this.m_onShowAgreement(t.Body().agreement_session_url());
                    else {
                      const e = t.Body().agreement_session_url(),
                        r = document.location.href;
                      window.location.href = `${e}&redir=${encodeURIComponent(r)}`;
                    }
                    return this.m_onCompleteCallback({ bSuccess: !1 }), r;
                  }
                  Xp(`Failed to poll auth session. Result: ${r}`),
                    (this.m_eFailureState = Jp.Generic);
                }
                return this.m_onCompleteCallback({ bSuccess: !1 }), r;
              }
              const {
                new_challenge_url: n,
                new_client_id: i,
                refresh_token: a,
                access_token: s,
                account_name: o,
                had_remote_interaction: l,
                new_guard_data: c,
              } = t.Body().toObject();
              return (
                (this.m_bRemoteInteraction = !!l),
                a
                  ? (this.m_onCompleteCallback({
                      bSuccess: !0,
                      strRefreshToken: a,
                      strAccessToken: s,
                      strAccountName: o,
                      strNewGuardData: c,
                    }),
                    r)
                  : (n && (this.m_strChallengeURL = n),
                    i && (this.m_strClientID = i),
                    (this.m_activeTimerID = window.setTimeout(
                      this.PollForUpdate,
                      this.m_msPollInterval,
                    )),
                    r)
              );
            } catch (e) {
              return (
                Xp(`Failed to poll auth session. ${e}`),
                (this.m_eFailureState = Jp.Generic),
                this.m_onCompleteCallback({ bSuccess: !1 }),
                2
              );
            }
          });
        }
        SetTokenToRevoke(e) {
          this.m_strTokenToRevoke = e;
        }
        GetFailureState() {
          return this.m_eFailureState;
        }
        GetExtendedErrorMessage() {
          return this.m_strExtendedErrorMessage;
        }
        BHadRemoteInteraction() {
          return this.m_bRemoteInteraction;
        }
        GetDeviceDetails() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const e = yield this.m_onDeviceDetailsCallback();
            return ep.fromObject(e);
          });
        }
      }
      function rg(e) {
        const t = new FormData();
        t.append("nonce", e), t.append("sessionid", w.SESSIONID);
        let r = new URL(document.location.href);
        const n = new URLSearchParams(r.search);
        n.has("need_password") &&
          (n.delete("need_password"), (r.search = n.toString())),
          t.append("redir", r.toString());
        const a = `${w.LOGIN_BASE_URL}jwt/finalizelogin`;
        return Ze()
          .post(a, t, { withCredentials: !0 })
          .then(
            (e) => {
              const { data: t } = e;
              if (
                !(
                  t &&
                  t.transfer_info &&
                  t.steamID &&
                  Array.isArray(t.transfer_info)
                )
              )
                return (
                  Xp("Result of finalizelogin does not match expectations!"),
                  eg.k_PrimaryDomainFail
                );
              const { transfer_info: r, steamID: n, primary_domain: a } = t;
              return Promise.all(
                r.map(({ url: e, params: t }) =>
                  (function (e, t) {
                    return (0, i.mG)(this, void 0, void 0, function* () {
                      const r = new URL(e);
                      let n = !0;
                      try {
                        const i = new FormData();
                        Object.keys(t).forEach((e) => i.append(e, t[e]));
                        const a = yield Ze().post(e, i, {
                          withCredentials: !0,
                          timeout: 1e4,
                        });
                        200 !== a.status
                          ? (Xp(
                              `Transfer login to ${r.host} failed with status code: ${a.status}`,
                            ),
                            (n = !1))
                          : 1 !== a.data.result &&
                            (Xp(
                              `Transfer login to ${r.host} failed with result: ${a.data.result}`,
                            ),
                            (n = !1));
                      } catch (e) {
                        Xp(`Transfer login to ${r.host} failed: "${e}"`),
                          (n = !1);
                      }
                      return { bSuccess: n, domain: r.host };
                    });
                  })(e, Object.assign(Object.assign({}, t), { steamID: n })),
                ),
              ).then(
                (e) =>
                  (function (e, t) {
                    let r = eg.k_Success;
                    return (
                      e.forEach((e) => {
                        e.bSuccess ||
                          (t && e.domain.toLowerCase() === t.toLowerCase()
                            ? (r = eg.k_PrimaryDomainFail)
                            : r == eg.k_Success &&
                              (r = eg.k_SecondaryDomainFail));
                      }),
                      r
                    );
                  })(e, a),
                () => eg.k_SecondaryDomainFail,
              );
            },
            () => (
              Xp("Failed to finalize login. Initial call failed."),
              eg.k_PrimaryDomainFail
            ),
          );
      }
      (0, i.gn)([Je.LO], tg.prototype, "m_strChallengeURL", void 0),
        (0, i.gn)([Je.LO], tg.prototype, "m_bRemoteInteraction", void 0),
        (0, i.gn)([Je.LO], tg.prototype, "m_eFailureState", void 0),
        (0, i.gn)([Je.LO], tg.prototype, "m_strExtendedErrorMessage", void 0),
        (0, i.gn)([ye], tg.prototype, "PollForUpdate", null),
        (0, i.gn)([ye], tg.prototype, "SetTokenToRevoke", null);
      var ng = r(2315);
      const ig = lt.Message;
      class ag extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ag.prototype.sender_time || gt(ag.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ag.sm_m ||
              (ag.sm_m = {
                proto: ag,
                fields: {
                  sender_time: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                },
              }),
            ag.sm_m
          );
        }
        static MBF() {
          return ag.sm_mbf || (ag.sm_mbf = dt(ag.M())), ag.sm_mbf;
        }
        toObject(e = !1) {
          return ag.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ag.M(), e, t);
        }
        static fromObject(e) {
          return mt(ag.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ag();
          return ag.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ag.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ag.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ag.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ag.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_Time_Request";
        }
      }
      class sg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            sg.prototype.server_time || gt(sg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            sg.sm_m ||
              (sg.sm_m = {
                proto: sg,
                fields: {
                  server_time: {
                    n: 1,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  skew_tolerance_seconds: {
                    n: 2,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  large_time_jink: {
                    n: 3,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  probe_frequency_seconds: {
                    n: 4,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  adjusted_time_probe_frequency_seconds: {
                    n: 5,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  hint_probe_frequency_seconds: {
                    n: 6,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  sync_timeout: { n: 7, br: ct.readUint32, bw: ut.writeUint32 },
                  try_again_seconds: {
                    n: 8,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  max_attempts: { n: 9, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            sg.sm_m
          );
        }
        static MBF() {
          return sg.sm_mbf || (sg.sm_mbf = dt(sg.M())), sg.sm_mbf;
        }
        toObject(e = !1) {
          return sg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(sg.M(), e, t);
        }
        static fromObject(e) {
          return mt(sg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new sg();
          return sg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(sg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return sg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(sg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return sg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_Time_Response";
        }
      }
      class og extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            og.prototype.steamid || gt(og.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            og.sm_m ||
              (og.sm_m = {
                proto: og,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                },
              }),
            og.sm_m
          );
        }
        static MBF() {
          return og.sm_mbf || (og.sm_mbf = dt(og.M())), og.sm_mbf;
        }
        toObject(e = !1) {
          return og.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(og.M(), e, t);
        }
        static fromObject(e) {
          return mt(og.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new og();
          return og.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(og.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return og.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(og.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return og.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_Status_Request";
        }
      }
      class lg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            lg.prototype.state || gt(lg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            lg.sm_m ||
              (lg.sm_m = {
                proto: lg,
                fields: {
                  state: { n: 1, br: ct.readUint32, bw: ut.writeUint32 },
                  inactivation_reason: {
                    n: 2,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  authenticator_type: {
                    n: 3,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  authenticator_allowed: {
                    n: 4,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  steamguard_scheme: {
                    n: 5,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  token_gid: { n: 6, br: ct.readString, bw: ut.writeString },
                  email_validated: { n: 7, br: ct.readBool, bw: ut.writeBool },
                  device_identifier: {
                    n: 8,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  time_created: { n: 9, br: ct.readUint32, bw: ut.writeUint32 },
                  revocation_attempts_remaining: {
                    n: 10,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  classified_agent: {
                    n: 11,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  allow_external_authenticator: {
                    n: 12,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  time_transferred: {
                    n: 13,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  version: { n: 14, br: ct.readUint32, bw: ut.writeUint32 },
                },
              }),
            lg.sm_m
          );
        }
        static MBF() {
          return lg.sm_mbf || (lg.sm_mbf = dt(lg.M())), lg.sm_mbf;
        }
        toObject(e = !1) {
          return lg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(lg.M(), e, t);
        }
        static fromObject(e) {
          return mt(lg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new lg();
          return lg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(lg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return lg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(lg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return lg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_Status_Response";
        }
      }
      class cg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            cg.prototype.steamid || gt(cg.M()),
            ig.initialize(this, e, 0, -1, [7], null);
        }
        static M() {
          return (
            cg.sm_m ||
              (cg.sm_m = {
                proto: cg,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  authenticator_time: {
                    n: 2,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  serial_number: {
                    n: 3,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  authenticator_type: {
                    n: 4,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  device_identifier: {
                    n: 5,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  http_headers: {
                    n: 7,
                    r: !0,
                    q: !0,
                    br: ct.readString,
                    bw: ut.writeRepeatedString,
                  },
                  version: {
                    n: 8,
                    d: 1,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            cg.sm_m
          );
        }
        static MBF() {
          return cg.sm_mbf || (cg.sm_mbf = dt(cg.M())), cg.sm_mbf;
        }
        toObject(e = !1) {
          return cg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(cg.M(), e, t);
        }
        static fromObject(e) {
          return mt(cg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new cg();
          return cg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(cg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return cg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(cg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return cg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_AddAuthenticator_Request";
        }
      }
      class ug extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            ug.prototype.shared_secret || gt(ug.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            ug.sm_m ||
              (ug.sm_m = {
                proto: ug,
                fields: {
                  shared_secret: { n: 1, br: ct.readBytes, bw: ut.writeBytes },
                  serial_number: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  revocation_code: {
                    n: 3,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  uri: { n: 4, br: ct.readString, bw: ut.writeString },
                  server_time: {
                    n: 5,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  account_name: { n: 6, br: ct.readString, bw: ut.writeString },
                  token_gid: { n: 7, br: ct.readString, bw: ut.writeString },
                  identity_secret: {
                    n: 8,
                    br: ct.readBytes,
                    bw: ut.writeBytes,
                  },
                  secret_1: { n: 9, br: ct.readBytes, bw: ut.writeBytes },
                  status: { n: 10, br: ct.readInt32, bw: ut.writeInt32 },
                  phone_number_hint: {
                    n: 11,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  confirm_type: { n: 12, br: ct.readInt32, bw: ut.writeInt32 },
                },
              }),
            ug.sm_m
          );
        }
        static MBF() {
          return ug.sm_mbf || (ug.sm_mbf = dt(ug.M())), ug.sm_mbf;
        }
        toObject(e = !1) {
          return ug.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(ug.M(), e, t);
        }
        static fromObject(e) {
          return mt(ug.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new ug();
          return ug.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(ug.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return ug.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(ug.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return ug.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_AddAuthenticator_Response";
        }
      }
      class dg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            dg.prototype.steamid || gt(dg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            dg.sm_m ||
              (dg.sm_m = {
                proto: dg,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  email_type: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  include_activation_code: {
                    n: 3,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            dg.sm_m
          );
        }
        static MBF() {
          return dg.sm_mbf || (dg.sm_mbf = dt(dg.M())), dg.sm_mbf;
        }
        toObject(e = !1) {
          return dg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(dg.M(), e, t);
        }
        static fromObject(e) {
          return mt(dg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new dg();
          return dg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(dg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return dg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(dg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return dg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_SendEmail_Request";
        }
      }
      class mg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), ig.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return mg.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new mg();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new mg();
          return mg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return mg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return mg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_SendEmail_Response";
        }
      }
      class _g extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            _g.prototype.steamid || gt(_g.M()),
            ig.initialize(this, e, 0, -1, [5], null);
        }
        static M() {
          return (
            _g.sm_m ||
              (_g.sm_m = {
                proto: _g,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  authenticator_code: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  authenticator_time: {
                    n: 3,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  activation_code: {
                    n: 4,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  http_headers: {
                    n: 5,
                    r: !0,
                    q: !0,
                    br: ct.readString,
                    bw: ut.writeRepeatedString,
                  },
                  validate_sms_code: {
                    n: 6,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            _g.sm_m
          );
        }
        static MBF() {
          return _g.sm_mbf || (_g.sm_mbf = dt(_g.M())), _g.sm_mbf;
        }
        toObject(e = !1) {
          return _g.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(_g.M(), e, t);
        }
        static fromObject(e) {
          return mt(_g.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new _g();
          return _g.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(_g.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return _g.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(_g.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return _g.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_FinalizeAddAuthenticator_Request";
        }
      }
      class hg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            hg.prototype.success || gt(hg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            hg.sm_m ||
              (hg.sm_m = {
                proto: hg,
                fields: {
                  success: { n: 1, br: ct.readBool, bw: ut.writeBool },
                  server_time: {
                    n: 3,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  status: { n: 4, br: ct.readInt32, bw: ut.writeInt32 },
                },
              }),
            hg.sm_m
          );
        }
        static MBF() {
          return hg.sm_mbf || (hg.sm_mbf = dt(hg.M())), hg.sm_mbf;
        }
        toObject(e = !1) {
          return hg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(hg.M(), e, t);
        }
        static fromObject(e) {
          return mt(hg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new hg();
          return hg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(hg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return hg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(hg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return hg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_FinalizeAddAuthenticator_Response";
        }
      }
      class pg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            pg.prototype.revocation_code || gt(pg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            pg.sm_m ||
              (pg.sm_m = {
                proto: pg,
                fields: {
                  revocation_code: {
                    n: 2,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  revocation_reason: {
                    n: 5,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  steamguard_scheme: {
                    n: 6,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  remove_all_steamguard_cookies: {
                    n: 7,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                },
              }),
            pg.sm_m
          );
        }
        static MBF() {
          return pg.sm_mbf || (pg.sm_mbf = dt(pg.M())), pg.sm_mbf;
        }
        toObject(e = !1) {
          return pg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(pg.M(), e, t);
        }
        static fromObject(e) {
          return mt(pg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new pg();
          return pg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(pg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return pg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(pg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return pg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_RemoveAuthenticator_Request";
        }
      }
      class gg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            gg.prototype.success || gt(gg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            gg.sm_m ||
              (gg.sm_m = {
                proto: gg,
                fields: {
                  success: { n: 1, br: ct.readBool, bw: ut.writeBool },
                  server_time: {
                    n: 3,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  revocation_attempts_remaining: {
                    n: 5,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            gg.sm_m
          );
        }
        static MBF() {
          return gg.sm_mbf || (gg.sm_mbf = dt(gg.M())), gg.sm_mbf;
        }
        toObject(e = !1) {
          return gg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(gg.M(), e, t);
        }
        static fromObject(e) {
          return mt(gg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new gg();
          return gg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(gg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return gg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(gg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return gg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_RemoveAuthenticator_Response";
        }
      }
      class bg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), ig.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return bg.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new bg();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new bg();
          return bg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return bg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return bg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_RemoveAuthenticatorViaChallengeStart_Request";
        }
      }
      class fg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            fg.prototype.success || gt(fg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            fg.sm_m ||
              (fg.sm_m = {
                proto: fg,
                fields: {
                  success: { n: 1, br: ct.readBool, bw: ut.writeBool },
                },
              }),
            fg.sm_m
          );
        }
        static MBF() {
          return fg.sm_mbf || (fg.sm_mbf = dt(fg.M())), fg.sm_mbf;
        }
        toObject(e = !1) {
          return fg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(fg.M(), e, t);
        }
        static fromObject(e) {
          return mt(fg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new fg();
          return fg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(fg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return fg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(fg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return fg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_RemoveAuthenticatorViaChallengeStart_Response";
        }
      }
      class vg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            vg.prototype.sms_code || gt(vg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            vg.sm_m ||
              (vg.sm_m = {
                proto: vg,
                fields: {
                  sms_code: { n: 1, br: ct.readString, bw: ut.writeString },
                  generate_new_token: {
                    n: 2,
                    br: ct.readBool,
                    bw: ut.writeBool,
                  },
                  version: {
                    n: 3,
                    d: 1,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                },
              }),
            vg.sm_m
          );
        }
        static MBF() {
          return vg.sm_mbf || (vg.sm_mbf = dt(vg.M())), vg.sm_mbf;
        }
        toObject(e = !1) {
          return vg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(vg.M(), e, t);
        }
        static fromObject(e) {
          return mt(vg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new vg();
          return vg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(vg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return vg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(vg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return vg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Request";
        }
      }
      class yg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            yg.prototype.shared_secret || gt(yg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            yg.sm_m ||
              (yg.sm_m = {
                proto: yg,
                fields: {
                  shared_secret: { n: 1, br: ct.readBytes, bw: ut.writeBytes },
                  serial_number: {
                    n: 2,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  revocation_code: {
                    n: 3,
                    br: ct.readString,
                    bw: ut.writeString,
                  },
                  uri: { n: 4, br: ct.readString, bw: ut.writeString },
                  server_time: {
                    n: 5,
                    br: ct.readUint64String,
                    bw: ut.writeUint64String,
                  },
                  account_name: { n: 6, br: ct.readString, bw: ut.writeString },
                  token_gid: { n: 7, br: ct.readString, bw: ut.writeString },
                  identity_secret: {
                    n: 8,
                    br: ct.readBytes,
                    bw: ut.writeBytes,
                  },
                  secret_1: { n: 9, br: ct.readBytes, bw: ut.writeBytes },
                  status: { n: 10, br: ct.readInt32, bw: ut.writeInt32 },
                  steamguard_scheme: {
                    n: 11,
                    br: ct.readUint32,
                    bw: ut.writeUint32,
                  },
                  steamid: {
                    n: 12,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                },
              }),
            yg.sm_m
          );
        }
        static MBF() {
          return yg.sm_mbf || (yg.sm_mbf = dt(yg.M())), yg.sm_mbf;
        }
        toObject(e = !1) {
          return yg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(yg.M(), e, t);
        }
        static fromObject(e) {
          return mt(yg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new yg();
          return yg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(yg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return yg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(yg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return yg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CRemoveAuthenticatorViaChallengeContinue_Replacement_Token";
        }
      }
      class Sg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            Sg.prototype.success || gt(Sg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            Sg.sm_m ||
              (Sg.sm_m = {
                proto: Sg,
                fields: {
                  success: { n: 1, br: ct.readBool, bw: ut.writeBool },
                  replacement_token: { n: 2, c: yg },
                },
              }),
            Sg.sm_m
          );
        }
        static MBF() {
          return Sg.sm_mbf || (Sg.sm_mbf = dt(Sg.M())), Sg.sm_mbf;
        }
        toObject(e = !1) {
          return Sg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(Sg.M(), e, t);
        }
        static fromObject(e) {
          return mt(Sg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Sg();
          return Sg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(Sg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Sg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(Sg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Sg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Response";
        }
      }
      class wg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            wg.prototype.steamid || gt(wg.M()),
            ig.initialize(this, e, 0, -1, void 0, null);
        }
        static M() {
          return (
            wg.sm_m ||
              (wg.sm_m = {
                proto: wg,
                fields: {
                  steamid: {
                    n: 1,
                    br: ct.readFixed64String,
                    bw: ut.writeFixed64String,
                  },
                  version: { n: 2, br: ct.readUint32, bw: ut.writeUint32 },
                  signature: { n: 3, br: ct.readBytes, bw: ut.writeBytes },
                },
              }),
            wg.sm_m
          );
        }
        static MBF() {
          return wg.sm_mbf || (wg.sm_mbf = dt(wg.M())), wg.sm_mbf;
        }
        toObject(e = !1) {
          return wg.toObject(e, this);
        }
        static toObject(e, t) {
          return _t(wg.M(), e, t);
        }
        static fromObject(e) {
          return mt(wg.M(), e);
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new wg();
          return wg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return ht(wg.MBF(), e, t);
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return wg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          pt(wg.M(), e, t);
        }
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return wg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_UpdateTokenVersion_Request";
        }
      }
      class Cg extends ig {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(), ig.initialize(this, e, 0, -1, void 0, null);
        }
        toObject(e = !1) {
          return Cg.toObject(e, this);
        }
        static toObject(e, t) {
          return e ? { $jspbMessageInstance: t } : {};
        }
        static fromObject(e) {
          return new Cg();
        }
        static deserializeBinary(e) {
          let t = new lt.BinaryReader(e),
            r = new Cg();
          return Cg.deserializeBinaryFromReader(r, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return e;
        }
        serializeBinary() {
          var e = new lt.BinaryWriter();
          return Cg.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {}
        serializeBase64String() {
          var e = new lt.BinaryWriter();
          return Cg.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CTwoFactor_UpdateTokenVersion_Response";
        }
      }
      var Bg;
      !(function (e) {
        (e.QueryTime = function (e, t) {
          return e.SendMsg("TwoFactor.QueryTime#1", Ot(ag, t), sg, {
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        }),
          (e.QueryStatus = function (e, t) {
            return e.SendMsg("TwoFactor.QueryStatus#1", Ot(og, t), lg, {
              ePrivilege: 1,
            });
          }),
          (e.AddAuthenticator = function (e, t) {
            return e.SendMsg("TwoFactor.AddAuthenticator#1", Ot(cg, t), ug, {
              ePrivilege: 1,
            });
          }),
          (e.SendEmail = function (e, t) {
            return e.SendMsg("TwoFactor.SendEmail#1", Ot(dg, t), mg, {
              ePrivilege: 1,
            });
          }),
          (e.FinalizeAddAuthenticator = function (e, t) {
            return e.SendMsg(
              "TwoFactor.FinalizeAddAuthenticator#1",
              Ot(_g, t),
              hg,
              { ePrivilege: 1 },
            );
          }),
          (e.UpdateTokenVersion = function (e, t) {
            return e.SendMsg("TwoFactor.UpdateTokenVersion#1", Ot(wg, t), Cg, {
              ePrivilege: 0,
              eWebAPIKeyRequirement: 1,
            });
          }),
          (e.RemoveAuthenticator = function (e, t) {
            return e.SendMsg("TwoFactor.RemoveAuthenticator#1", Ot(pg, t), gg, {
              ePrivilege: 9,
            });
          }),
          (e.RemoveAuthenticatorViaChallengeStart = function (e, t) {
            return e.SendMsg(
              "TwoFactor.RemoveAuthenticatorViaChallengeStart#1",
              Ot(bg, t),
              fg,
              { ePrivilege: 9 },
            );
          }),
          (e.RemoveAuthenticatorViaChallengeContinue = function (e, t) {
            return e.SendMsg(
              "TwoFactor.RemoveAuthenticatorViaChallengeContinue#1",
              Ot(vg, t),
              Sg,
              { ePrivilege: 9 },
            );
          });
      })(Bg || (Bg = {}));
      class Eg extends tg {
        constructor(e) {
          super(
            e.transport,
            (e) => this.onAuthComplete(e),
            e.onDeviceDetails,
            e.onShowAgreement,
          ),
            (this.m_eStatus = 0),
            (this.m_strConfirmationAssociatedMessage = ""),
            (this.m_bUsingCodeOverride = !1),
            (this.m_strWeakAuthToken = ""),
            (this.m_strErrorReference = ""),
            (this.onAuthComplete = (e) => {
              this.m_eStatus = e.bSuccess ? 14 : 15;
              const t = e.bSuccess
                ? Object.assign(Object.assign({}, e), {
                    strAccountName: this.m_strAccountName,
                    steamid: this.m_steamid,
                  })
                : e;
              this.m_onLoginComplete && this.m_onLoginComplete(t);
            }),
            (0, Je.rC)(this),
            (this.m_onLoginComplete = e.onComplete),
            (this.m_onGetMachineAuth = e.onGetMachineAuth);
        }
        Start(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (0 !== this.m_eStatus && 2 !== this.m_eStatus)
              return (
                Xp(
                  "Cannot start an already started auth session. Create a new session instance.",
                ),
                29
              );
            const n = e.replace(/[^\x00-\x7F]/g, ""),
              a = t.replace(/[^\x00-\x7F]/g, "").slice(0, 64);
            if (!n.length || !a.length) return 8;
            if (
              ((this.m_eStatus = 1),
              (this.m_bUsingCodeOverride = !1),
              "anonymous" == e)
            )
              return (
                this.SetFailureState(Jp.AnonymousLogin, Dg.EResult(12)), 12
              );
            try {
              const t = yield (function (e, t) {
                return (0, i.mG)(this, void 0, void 0, function* () {
                  const r = At.Init(Zh);
                  r.Body().set_account_name(t), r.SetEMsg(9804);
                  try {
                    yield e.MakeReady();
                    const t = yield Vp.GetPasswordRSAPublicKey(e, r);
                    if ((t.DEBUG_LogToConsole(), 1 !== t.GetEResult()))
                      return (
                        Xp(
                          `Failed to get RSA key with EResult: ${t.GetEResult()}`,
                        ),
                        null
                      );
                    const {
                      publickey_exp: n,
                      publickey_mod: i,
                      timestamp: a,
                    } = t.Body().toObject();
                    return n && i && a
                      ? { publickey_exp: n, publickey_mod: i, timestamp: a }
                      : (Xp(
                          `Missing expected field in RSA Key: ${JSON.stringify({ publickey_exp: n, publickey_mod: i, timestamp: a })}`,
                        ),
                        null);
                  } catch (e) {
                    return (
                      Xp(`Failed to get RSA key: ${JSON.stringify(e)}`), null
                    );
                  }
                });
              })(this.m_transport, n);
              if (!t)
                return (
                  Xp("Cannot start auth session without a valid RSA key"),
                  this.SetFailureState(Jp.Network, Dg.EResult(20)),
                  20
                );
              const s = Zp(a, t),
                o = At.Init(ip);
              o.SetEMsg(9804),
                o.Body().set_account_name(n),
                o.Body().set_encrypted_password(s),
                o.Body().set_encryption_timestamp(t.timestamp),
                o.Body().set_remember_login(!!r),
                o.Body().set_persistence(r ? 1 : 0),
                o.Body().set_website_id(w.WEBSITE_ID);
              try {
                o.Body().set_device_details(yield this.GetDeviceDetails());
              } catch (e) {
                Xp("Failed to GetDeviceDetails"), Xp(e);
              }
              if (
                (o.Body().set_language(te(w.LANGUAGE)),
                null != this.m_onGetMachineAuth)
              ) {
                const e = yield this.m_onGetMachineAuth(n);
                1 == e.eresult && o.Body().set_guard_data(e.data);
              }
              yield this.m_transport.MakeReady();
              const l = yield Vp.BeginAuthSessionViaCredentials(
                this.m_transport,
                o,
              );
              return (
                l.DEBUG_LogToConsole(),
                (0, Je.z)(() =>
                  (0, i.mG)(this, void 0, void 0, function* () {
                    const t = l.GetEResult(),
                      r = l.Hdr().transport_error();
                    if (1 !== t)
                      switch (t) {
                        case 5:
                          return (this.m_eStatus = 2), t;
                        case 20:
                        case 3:
                          return (
                            this.SetFailureState(Jp.Network, Dg.EResult(20)), t
                          );
                        case 84:
                          return (
                            this.SetFailureState(
                              Jp.RateLimitExceeded,
                              Dg.EResult(t),
                            ),
                            t
                          );
                        case 118:
                          if (this.m_onShowAgreement)
                            this.m_onShowAgreement(
                              l.Body().agreement_session_url(),
                            );
                          else {
                            const e = l.Body().agreement_session_url(),
                              t = document.location.href;
                            window.location.href = `${e}&redir=${encodeURIComponent(t)}`;
                          }
                          return this.m_onCompleteCallback({ bSuccess: !1 }), t;
                        default:
                          return (
                            Xp(
                              `Failed to start auth session. Result: ${t} Transport: ${r}`,
                            ),
                            this.SetFailureState(
                              Jp.Generic,
                              Dg.EResult(t),
                              l.Body().extended_error_message(),
                            ),
                            this.m_onCompleteCallback({ bSuccess: !1 }),
                            t
                          );
                      }
                    this.m_strAccountName = e;
                    const {
                      client_id: n,
                      request_id: i,
                      interval: a,
                      allowed_confirmations: s,
                      steamid: o,
                      weak_token: c,
                    } = l.Body().toObject();
                    if (
                      ((this.m_msPollInterval = 1e3 * a),
                      (this.m_strClientID = n),
                      (this.m_rgRequestID = i),
                      (this.m_steamid = o),
                      (this.m_strWeakAuthToken = c),
                      s.find(({ confirmation_type: e }) => 6 === e))
                    ) {
                      const e = new FormData();
                      e.append("clientid", n),
                        e.append("steamid", this.m_steamid);
                      const t = `${w.LOGIN_BASE_URL}jwt/checkdevice/${this.m_steamid}`;
                      try {
                        if (
                          1 ==
                          (yield Ze().post(t, e, {
                            headers: { "Content-Type": "multipart/form-data" },
                            withCredentials: !0,
                          })).data.result
                        )
                          return (this.m_eStatus = 4), this.StartPolling(!0), 1;
                      } catch (e) {
                        if (
                          (Yp(`checkdevice ajax to ${t} failed: ${e.message}`),
                          e instanceof Xe.AxiosError)
                        ) {
                          const t = e;
                          return t.response
                            ? (this.SetFailureState(
                                Jp.Network,
                                Dg.AjaxFailureWithCode(t.response.status),
                              ),
                              20)
                            : (this.SetFailureState(
                                Jp.Network,
                                Dg.AjaxFailureNoCode(),
                              ),
                              20);
                        }
                        return (
                          this.SetFailureState(Jp.Network, Dg.EResult(79)), 79
                        );
                      }
                    }
                    const u = (function (e) {
                        let t = e[0] || 0;
                        e.length > 1 &&
                          (t = e.sort((e, t) => Ig[e] - Ig[t])[0]);
                        return t;
                      })(s.map(({ confirmation_type: e }) => e)),
                      d = s.find(({ confirmation_type: e }) => e === u);
                    switch (
                      (d &&
                        d.associated_message &&
                        (this.m_strConfirmationAssociatedMessage =
                          d.associated_message),
                      u)
                    ) {
                      case 1:
                        return (this.m_eStatus = 13), this.StartPolling(), t;
                      case 2:
                        this.m_eStatus = 3;
                        break;
                      case 5:
                        (this.m_eStatus = 4), this.StartPolling(!1);
                        break;
                      case 3:
                        (this.m_eStatus = 5), this.StartPolling(!1);
                        break;
                      case 4:
                        (this.m_eStatus = 6), this.StartPolling(!1);
                    }
                    return t;
                  }),
                )
              );
            } catch (e) {
              return (
                Xp(
                  `Failed to start auth session. Exception: ${JSON.stringify(e)}`,
                ),
                Yp(e),
                this.SetFailureState(Jp.Generic, Dg.FailedToStart()),
                this.m_onCompleteCallback({ bSuccess: !1 }),
                2
              );
            }
          });
        }
        Stop() {
          this.StopPolling(), (this.m_eStatus = 16);
        }
        GetStatus() {
          return this.m_eStatus;
        }
        GetConfirmationAssociatedMessage() {
          return this.m_strConfirmationAssociatedMessage;
        }
        GetAccountName() {
          return this.m_strAccountName;
        }
        GetSteamID() {
          return this.m_steamid;
        }
        GetReplacementAuthenticator() {
          return this.m_replacementAuthenticator;
        }
        GetErrorReference() {
          return this.m_strErrorReference;
        }
        SendSteamGuardCode(e, t = !0) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (0 == e.length) {
              switch (this.m_eStatus) {
                case 10:
                  this.m_eStatus = 3;
                  break;
                case 11:
                  this.m_eStatus = 5;
                  break;
                case 5:
                case 3:
                  break;
                default:
                  throw new Error("Attempted to clear code in invalid state");
              }
              return Promise.resolve(1);
            }
            try {
              yield this.m_transport.MakeReady();
              const r = 3 === this.m_eStatus || 10 === this.m_eStatus,
                n = At.Init(hp);
              n.SetEMsg(9804),
                n.Body().set_client_id(this.m_strClientID),
                n.Body().set_steamid(this.m_steamid),
                n.Body().set_code(e),
                n.Body().set_code_type(r ? 2 : 3);
              const i = yield Vp.UpdateAuthSessionWithSteamGuardCode(
                  this.m_transport,
                  n,
                ),
                a = i.GetEResult();
              if (1 !== a) {
                if (!t)
                  return (
                    Xp(
                      `Failed to automatically update session with local SG info. Result ${a}. Transport ${i.Hdr().transport_error()}`,
                    ),
                    a
                  );
                switch (a) {
                  case 65:
                  case 88:
                    return (this.m_eStatus = r ? 10 : 11), a;
                  case 27:
                    return (
                      this.SetFailureState(Jp.Expired, Dg.EResult(a)),
                      this.m_onCompleteCallback({ bSuccess: !1 }),
                      a
                    );
                  case 84:
                    return (
                      this.SetFailureState(Jp.RateLimitExceeded, Dg.EResult(a)),
                      this.m_onCompleteCallback({ bSuccess: !1 }),
                      a
                    );
                  case 118:
                    if (this.m_onShowAgreement)
                      this.m_onShowAgreement(i.Body().agreement_session_url());
                    else {
                      const e = i.Body().agreement_session_url(),
                        t = document.location.href;
                      window.location.href = `${e}&redir=${encodeURIComponent(t)}`;
                    }
                    return this.m_onCompleteCallback({ bSuccess: !1 }), a;
                  default:
                    return (
                      Xp(
                        `Failed to update auth session with SG code. Result: ${a}`,
                      ),
                      this.SetFailureState(Jp.Generic, Dg.EResult(a)),
                      this.m_onCompleteCallback({ bSuccess: !1 }),
                      a
                    );
                }
              }
              return (this.m_eStatus = 13), this.StartPolling(), a;
            } catch (e) {
              return (
                Xp(`Failed to update auth session with SG code. ${e}`),
                this.SetFailureState(Jp.Generic, Dg.FailedToAddCode()),
                this.m_onCompleteCallback({ bSuccess: !1 }),
                2
              );
            }
          });
        }
        UseCodeOverride() {
          switch (this.m_eStatus) {
            case 6:
              return (
                (this.m_bUsingCodeOverride = !0), void (this.m_eStatus = 5)
              );
            case 4:
              return (
                (this.m_bUsingCodeOverride = !0), void (this.m_eStatus = 3)
              );
            default:
              return void Xp(
                `Don't know how to UseCodeOverride from login session status ${this.m_eStatus}`,
              );
          }
        }
        CantAccessCode() {
          this.m_eStatus = 7;
        }
        StartMoveAuthenticator() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            this.m_weakAuthWebInterface = new gn(
              w.WEBAPI_BASE_URL,
              this.m_strWeakAuthToken,
            );
            try {
              const e = At.Init(bg),
                t = yield Bg.RemoveAuthenticatorViaChallengeStart(
                  this.m_weakAuthWebInterface.GetServiceTransport(),
                  e,
                );
              1 != t.GetEResult()
                ? (t.DEBUG_LogToConsole(),
                  Xp(
                    "An unexpected error occured while adding an authenticator",
                    t.GetEResult(),
                  ),
                  this.SetFailureState(
                    Jp.MoveAuthenticator,
                    Dg.EResult(t.GetEResult()),
                  ))
                : (this.m_eStatus = 8);
            } catch (e) {
              Xp(
                "An unexpected error occured while moving an authenticator",
                e,
              ),
                this.SetFailureState(Jp.MoveAuthenticator, Dg.EResult(2));
            }
          });
        }
        ResendMoveCode() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const e = At.Init(bg),
              t = yield Bg.RemoveAuthenticatorViaChallengeStart(
                this.m_weakAuthWebInterface.GetServiceTransport(),
                e,
              );
            1 != t.GetEResult()
              ? (t.DEBUG_LogToConsole(),
                Xp(
                  "An unexpected error occured while adding an authenticator",
                  t.GetEResult(),
                ),
                this.SetFailureState(
                  Jp.MoveAuthenticator,
                  Dg.EResult(t.GetEResult()),
                ))
              : (this.m_eStatus = 8);
          });
        }
        FinishMoveAuthenticator(e) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const t = At.Init(vg);
            t.Body().set_sms_code(e),
              t.Body().set_generate_new_token(!0),
              t.Body().set_version(2);
            const r = yield Bg.RemoveAuthenticatorViaChallengeContinue(
              this.m_weakAuthWebInterface.GetServiceTransport(),
              t,
            );
            94 == r.GetEResult()
              ? (this.m_eStatus = 12)
              : r.Body().success()
                ? (r.DEBUG_LogToConsole(),
                  (this.m_replacementAuthenticator = (function (e) {
                    const {
                        shared_secret: t,
                        identity_secret: r,
                        secret_1: n,
                        status: a,
                        uri: s,
                        server_time: o,
                      } = e,
                      l = (0, i._T)(e, [
                        "shared_secret",
                        "identity_secret",
                        "secret_1",
                        "status",
                        "uri",
                        "server_time",
                      ]);
                    return Object.assign(
                      {
                        shared_secret: dn.JQ(t),
                        identity_secret: dn.JQ(r),
                        secret_1: dn.JQ(n),
                      },
                      l,
                    );
                  })(r.Body().replacement_token().toObject())),
                  (this.m_eStatus = 9),
                  (this.m_bUsingCodeOverride = !1))
                : (r.DEBUG_LogToConsole(),
                  Xp(
                    "Error when calling RemoveAuthenticatorViaChallengeContinue",
                    r.GetEResult(),
                  ),
                  this.SetFailureState(
                    Jp.MoveAuthenticator,
                    Dg.EResult(r.GetEResult()),
                  ));
          });
        }
        FinishMoveRecovery() {
          this.m_eStatus = 5;
        }
        BCanGoBack() {
          switch (this.m_eStatus) {
            case 5:
            case 11:
            case 3:
            case 10:
            case 6:
            case 4:
            case 7:
            case 8:
            case 12:
              return !0;
            default:
              return !1;
          }
        }
        GoBack() {
          switch (this.m_eStatus) {
            case 6:
            case 4:
              this.m_eStatus = 0;
              break;
            case 5:
            case 11:
              this.m_eStatus = this.m_bUsingCodeOverride ? 6 : 0;
              break;
            case 7:
            case 8:
            case 12:
              this.m_eStatus = (this.m_bUsingCodeOverride, 5);
              break;
            case 3:
            case 10:
              this.m_eStatus = this.m_bUsingCodeOverride ? 4 : 0;
              break;
            default:
              return void Xp(
                `Don't know how to GoBack from login session status ${this.m_eStatus}`,
              );
          }
        }
        SetFailureState(e, t, r = "") {
          (this.m_eStatus = 15),
            (this.m_eFailureState = e),
            (this.m_strErrorReference = t),
            (this.m_strExtendedErrorMessage = r);
        }
        SetOnLoginComplete(e) {
          this.m_onLoginComplete = e;
        }
      }
      (0, i.gn)([Je.LO], Eg.prototype, "m_eStatus", void 0),
        (0, i.gn)([Je.LO], Eg.prototype, "m_strErrorReference", void 0),
        (0, i.gn)([ye], Eg.prototype, "Start", null),
        (0, i.gn)([ye], Eg.prototype, "SendSteamGuardCode", null),
        (0, i.gn)([ye], Eg.prototype, "UseCodeOverride", null),
        (0, i.gn)([ye], Eg.prototype, "CantAccessCode", null),
        (0, i.gn)([ye], Eg.prototype, "StartMoveAuthenticator", null),
        (0, i.gn)([ye], Eg.prototype, "ResendMoveCode", null),
        (0, i.gn)([ye], Eg.prototype, "FinishMoveAuthenticator", null),
        (0, i.gn)([ye], Eg.prototype, "FinishMoveRecovery", null),
        (0, i.gn)([ye], Eg.prototype, "GoBack", null),
        (0, i.gn)([Je.aD], Eg.prototype, "SetFailureState", null),
        (0, i.gn)([ye], Eg.prototype, "SetOnLoginComplete", null);
      const Ig = [4, 3, 2, 1, 0, 5].reduce((e, t, r) => ((e[t] = r), e), {});
      function Rg(e) {
        return e ? 7 : 5;
      }
      function Tg(e, t) {
        return /[23456789BCDFGHJKMNPQRTVWXY]*/g.test(e) && e.length <= Rg(t);
      }
      function Mg(e, t) {
        return Tg(e, t) && e.length === Rg(t);
      }
      const Dg = {
        EResult: (e) => `e${e}`,
        FailedToStart: () => "c-fts",
        FailedToAddCode: () => "c-ftac",
        AjaxFailureNoCode: () => "af",
        AjaxFailureWithCode: (e) => `af-${e}`,
      };
      var Ag,
        Og = r(8639),
        Fg = r.n(Og),
        Lg = r(4313),
        kg = r.n(Lg),
        Ng = r(8356),
        Pg = r.n(Ng);
      function Gg(e) {
        let {
          quality: t = Ag.M,
          children: r,
          className: n,
          activeBitColor: i = null,
          inactiveBitColor: a = null,
          borderWidth: o = 3,
        } = e;
        const l = (function (e, t = {}) {
          const { typeNumber: r, errorCorrectLevel: n } = t,
            [i, a] = (0, s.useState)();
          return (
            (0, s.useEffect)(() => {
              a(kg()(e, { typeNumber: r, errorCorrectLevel: n }).modules);
            }, [e, r, n]),
            i
          );
        })(r, { typeNumber: 6, errorCorrectLevel: t });
        if (!l) return null;
        let c = [];
        for (let e = 0; e < o; e++) c.push(Array(l.length + 2 * o).fill(!1));
        for (let e = 0; e < l.length; e++)
          c.push([].concat(Array(o).fill(!1), l[e], Array(o).fill(!1)));
        for (let e = 0; e < o; e++) c.push(Array(l.length + 2 * o).fill(!1));
        const u = [],
          d = xr(Pg().Bit),
          m = xr(Pg().Bit, Pg().Active),
          _ = null !== i ? { backgroundColor: i } : {},
          h = null !== a ? { backgroundColor: a } : {};
        for (let e = 0; e < c.length; e++)
          for (let t = 0; t < c.length; t++) {
            const r = c[e][t];
            u.push(
              s.createElement("div", {
                key: `${e}_${t}`,
                className: r ? m : d,
                style: r ? _ : h,
              }),
            );
          }
        let p = c.length;
        return s.createElement(
          "div",
          {
            className: xr(Pg().QRBits, n),
            style: { gridTemplateColumns: `repeat( ${p}, 1fr )` },
          },
          u,
        );
      }
      !(function (e) {
        (e[(e.L = 1)] = "L"),
          (e[(e.M = 0)] = "M"),
          (e[(e.Q = 3)] = "Q"),
          (e[(e.H = 2)] = "H");
      })(Ag || (Ag = {}));
      class xg extends tg {
        constructor(e) {
          super(
            e.transport,
            (t) => {
              (this.m_eStatus = t.bSuccess ? 3 : 4), e.onComplete(t);
            },
            e.onDeviceDetails,
          ),
            (this.m_eStatus = 0),
            (0, Je.rC)(this);
        }
        Start() {
          return (0, i.mG)(this, void 0, void 0, function* () {
            if (0 !== this.m_eStatus)
              return (
                console.error(
                  "Cannot start an already started auth session. Create a new session instance.",
                ),
                2
              );
            this.m_eStatus = 1;
            try {
              yield this.m_transport.MakeReady();
              const e = At.Init(rp);
              e.SetEMsg(9804);
              try {
                e.Body().set_device_details(yield this.GetDeviceDetails());
              } catch (e) {
                console.error("Failed to GetDeviceDetails"), console.log(e);
              }
              e.Body().set_website_id(w.WEBSITE_ID);
              const t = yield Vp.BeginAuthSessionViaQR(this.m_transport, e),
                r = t.GetEResult(),
                n = t.Hdr().transport_error();
              if (1 !== r)
                return (
                  console.error(
                    `Failed to start auth session. Result: ${r} Transport: ${n}`,
                  ),
                  (this.m_eFailureState = Jp.Generic),
                  this.m_onCompleteCallback({ bSuccess: !1 }),
                  r
                );
              const {
                client_id: i,
                challenge_url: a,
                interval: s,
                request_id: o,
              } = t.Body().toObject();
              return (
                (this.m_strClientID = i),
                (this.m_strChallengeURL = a),
                (this.m_msPollInterval = 1e3 * s),
                (this.m_rgRequestID = o),
                (this.m_eStatus = 2),
                this.StartPolling(!1),
                r
              );
            } catch (e) {
              return (
                console.error(
                  `Failed to start auth session: ${JSON.stringify(e)}`,
                ),
                (this.m_eFailureState = Jp.Generic),
                this.m_onCompleteCallback({ bSuccess: !1 }),
                2
              );
            }
          });
        }
        Stop() {
          this.StopPolling(), (this.m_eStatus = 5);
        }
        GetChallengeURL() {
          return this.m_strChallengeURL;
        }
        GetStatus() {
          return this.m_eStatus;
        }
      }
      (0, i.gn)([Je.LO], xg.prototype, "m_eStatus", void 0);
      var Ug = r(2498),
        zg = r.n(Ug);
      function Wg(e) {
        const {
            transport: t,
            onComplete: r,
            onStatusChange: n,
            platform: i,
            deckStyling: a,
          } = e,
          o = w.IN_STEAMUI ? sb : ob,
          {
            eStatus: l,
            strChallengeURL: c,
            bHadRemoteInteraction: u,
            reset: d,
            setTokenToRevoke: m,
          } = (function (e) {
            const [t, r] = (0, s.useState)(new xg(e));
            return (
              (0, s.useEffect)(
                () => (
                  t.Start(),
                  () => {
                    t.Stop();
                  }
                ),
                [t],
              ),
              (0, ng.SZ)(() => ({
                strChallengeURL: t.GetChallengeURL(),
                eFailureState: t.GetFailureState(),
                eStatus: t.GetStatus(),
                bHadRemoteInteraction: t.BHadRemoteInteraction(),
                reset: () => r(new xg(e)),
                setTokenToRevoke: t.SetTokenToRevoke,
              }))
            );
          })({ transport: t, onComplete: r, onDeviceDetails: o });
        (0, s.useEffect)(() => n && n(l), [n, l]);
        const _ = 2 === l ? c : w.STORE_BASE_URL,
          h = 0 === l || 1 === l || u,
          p = 4 === l,
          g = 3 === l,
          b = g
            ? s.createElement(Kg, null)
            : p
              ? s.createElement(Hg, { reset: d })
              : h
                ? s.createElement(Vg, { size: "small" })
                : null,
          f = h || p || g;
        (0, s.useEffect)(() => {
          var t;
          (null === (t = e.refreshInfo) || void 0 === t
            ? void 0
            : t.login_token_id) && m(e.refreshInfo.login_token_id);
        }, [e.refreshInfo, m]);
        const v = 1 !== w.EUNIVERSE;
        return s.createElement(
          "div",
          { className: zg().Column },
          s.createElement(
            "div",
            { style: { position: "relative" } },
            s.createElement(
              Gg,
              {
                borderWidth: 0,
                activeBitColor: "#212328",
                inactiveBitColor: v ? "magenta" : "white",
                quality: jg(_),
                className: xr(
                  zg().LoginQR,
                  a && zg().QRLoginDeck,
                  f && zg().Blur,
                  v && zg().NonPublic,
                ),
              },
              _,
            ),
            f &&
              s.createElement(
                "div",
                { className: zg().Overlay },
                s.createElement("div", { className: zg().Box }, b),
              ),
          ),
        );
      }
      function jg(e) {
        return e.length <= 90 ? Ag.Q : void 0;
      }
      function Vg(e) {
        const { size: t } = e;
        return s.createElement("div", {
          className: xr(
            zg().Loading,
            "small" == t && zg().Small,
            ("medium" == t || !t) && zg().Medium,
            "large" == t && zg().Large,
          ),
        });
      }
      function Hg(e) {
        return s.createElement(
          Ac,
          { onClick: e.reset, className: zg().QRFailure },
          s.createElement(qg, null),
        );
      }
      function qg(e) {
        return s.createElement(
          "svg",
          {
            version: "1.1",
            id: "Layer_2",
            xmlns: "http://www.w3.org/2000/svg",
            style: { width: "40px", height: "40px", cursor: "pointer" },
            x: "0px",
            y: "0px",
            width: "256px",
            height: "256px",
            viewBox: "0 0 256 256",
          },
          s.createElement("path", {
            fill: "none",
            stroke: "#fff",
            strokeWidth: "30",
            strokeLinecap: "round",
            strokeMiterlimit: "10",
            d: "M229.809,147.639 c-9.178,47.863-51.27,84.027-101.809,84.027c-57.253,0-103.667-46.412-103.667-103.666S70.747,24.334,128,24.334 c34.107,0,64.368,16.472,83.261,41.895",
          }),
          s.createElement("polygon", {
            points: "147.639,108.361 245.755,10.166 245.834,108.361",
            fill: "#fff",
          }),
        );
      }
      function Kg() {
        return s.createElement(
          "svg",
          {
            version: "1.1",
            id: "base",
            xmlns: "http://www.w3.org/2000/svg",
            style: { width: "45px", height: "45px" },
            x: "0px",
            y: "0px",
            width: "256px",
            height: "256px",
            viewBox: "0 0 256 256",
          },
          s.createElement("polyline", {
            fill: "none",
            stroke: "#fff",
            strokeWidth: "24",
            strokeLinecap: "round",
            strokeLinejoin: "round",
            strokeMiterlimit: "10",
            points: "49.5,147.75 95,210.75 206.5,45.25 ",
          }),
        );
      }
      const $g =
        r.p + "images/csgo_react/login_mobile_auth.png?v=valveisgoodatcaching";
      var Yg = r(784),
        Qg = r.n(Yg);
      function Xg(e) {
        const {
          length: t,
          value: r,
          onChange: n,
          onPaste: i,
          tone: a,
          autoFocus: o,
          disabled: l,
          loading: c,
          backupCode: u,
          allowCharacter: d,
        } = e;
        (0, s.useEffect)(() => {
          o && g();
        }, []);
        const m = (0, s.useRef)([]),
          _ = () => n(m.current.map((e) => e.value)),
          h = (e) => {
            const t = e.target.value;
            if (t && d && !d(t)) return;
            const r = e.target.nextElementSibling;
            e.target.value && r && r.focus(), _();
          },
          p = (e) => {
            var t;
            -1 === m.current.findIndex((e) => !!e.value)
              ? null === (t = m.current[0]) || void 0 === t || t.select()
              : e.target.select();
          },
          g = () => {
            const e = m.current.find((e) => !e.value);
            e ? e.focus() : m.current[m.current.length - 1].focus();
          },
          b = (e) => {
            const t = e.target;
            if ("Backspace" === e.key || "Delete" === e.key) {
              const r =
                "Backspace" === e.key
                  ? t.previousElementSibling
                  : t.nextElementSibling;
              "" === t.value &&
                r &&
                ((r.value = ""), r.focus(), e.preventDefault(), _());
            } else if (
              "ArrowLeft" === e.key ||
              "ArrowRight" === e.key ||
              "ArrowUp" === e.key ||
              "ArrowDown" === e.key
            ) {
              const r =
                "ArrowLeft" === e.key || "ArrowUp" === e.key
                  ? t.previousElementSibling
                  : t.nextElementSibling;
              r && (r.focus(), e.preventDefault());
            }
          },
          f = (e) => {
            const t = e.clipboardData.getData("Text");
            let r = e.target,
              n = 0;
            for (; r && n < t.length; )
              r.focus(),
                (r.value = t.charAt(n)),
                (r = r.nextElementSibling),
                n++;
            _(), e.preventDefault(), i && i();
          },
          v = [];
        for (let e = 0; e < t; e++)
          v.push(
            s.createElement(Dl, {
              noFocusRing: !0,
              type: "text",
              maxLength: 1,
              key: e,
              ref: (t) => (m.current[e] = t),
              onChange: h,
              onFocus: p,
              onClick: (e) => e.stopPropagation(),
              onKeyDown: b,
              onPaste: f,
              value: r[e] ? r[e][0] : "",
              autoComplete: "none",
              autoFocus: 0 === e && o,
              disabled: l || c,
              className: Qg().Input,
            }),
          );
        return s.createElement(
          Ol,
          {
            className: xr(
              Qg().SegmentedCharacterInput,
              "danger" === a && Qg().Danger,
              l && Qg().Disabled,
              u && Qg().BackupCode,
            ),
            onClick: g,
          },
          c &&
            s.createElement(
              "div",
              { className: Qg().Loading },
              s.createElement(Ab, { size: "small" }),
            ),
          v,
        );
      }
      const Zg = (0, s.createContext)(!1),
        Jg = () => (0, s.useContext)(Zg);
      function eb() {
        return s.createElement(
          "div",
          { className: Fg().Login },
          s.createElement(Fb, {
            reset: () => window.location.reload(),
            failure: Jp.Generic,
          }),
        );
      }
      function tb(e) {
        return (function (e) {
          const t = (0, s.useRef)(e);
          t.current = e;
          const [r, n] = (0, s.useState)(!0),
            a = (0, V.TH)();
          return (
            (0, s.useEffect)(() => {
              new URLSearchParams(a.search).get("need_password")
                ? n(!1)
                : t.current
                  ? (function (e) {
                      var t;
                      return (0, i.mG)(this, void 0, void 0, function* () {
                        const r = new FormData();
                        r.append("redir", e);
                        const n = `${w.LOGIN_BASE_URL}jwt/ajaxrefresh`,
                          a = yield Ze().post(n, r, {
                            timeout: 1e4,
                            withCredentials: !0,
                          });
                        if (
                          200 !== a.status ||
                          !(null === (t = null == a ? void 0 : a.data) ||
                          void 0 === t
                            ? void 0
                            : t.success)
                        )
                          return !1;
                        const s = a.data,
                          { success: o, login_url: l, error: c } = s,
                          u = (0, i._T)(s, ["success", "login_url", "error"]),
                          d = new FormData();
                        Object.keys(u).forEach((e) => d.append(e, u[e]));
                        const m = yield Ze().post(l, d),
                          _ = 200 === m.status && 1 === m.data.result;
                        return _ && window.location.assign(e), _;
                      });
                    })(t.current)
                      .then((e) => {
                        n(e);
                      })
                      .catch((e) => {
                        Qp("PerformRefresh exception", e), n(!1);
                      })
                  : n(!1);
            }, [t, a.search]),
            r
          );
        })(e.redirectUrl)
          ? null
          : s.createElement(
              rb,
              Object.assign({}, e, {
                creationRedirectUrl: e.redirectUrl,
                onSuccess: (t) => {
                  const { strRefreshToken: r } = t;
                  rg(r).then(
                    (t) => e.onComplete(t),
                    () => e.onComplete(eg.k_PrimaryDomainFail),
                  );
                },
                embedded: "modal" === e.theme,
              }),
            );
      }
      function rb(e) {
        const { embedded: t } = e,
          r = (0, i._T)(e, ["embedded"]);
        return s.createElement(
          Du,
          null,
          s.createElement(
            Zg.Provider,
            { value: t },
            s.createElement(
              "div",
              { className: Fg().Login },
              s.createElement(cb, Object.assign({}, r)),
            ),
          ),
        );
      }
      function nb(e) {
        if (Ia()) return null;
        const { variant: t } = e;
        return "function" == typeof t
          ? s.createElement(Hb, { onClick: t }, We("#Login_Help_SignIn"))
          : s.createElement(
              Hb,
              {
                href: `${w.HELP_BASE_URL}wizard/HelpWithLogin?redir=${encodeURIComponent(document.location.href)}`,
              },
              We("#Login_Help_SignIn"),
            );
      }
      function ib(e) {
        const { variant: t, redirectUrl: r } = e;
        if ("function" == typeof t)
          return s.createElement(
            Hb,
            { inline: !0, onClick: t },
            We("#Login_CreateAccount"),
          );
        {
          const e = r ? `?redir=${encodeURIComponent(r)}` : "";
          switch (null != t ? t : "normal") {
            default:
            case "normal":
              return s.createElement(
                Hb,
                { inline: !0, href: `${w.STORE_BASE_URL}join/${e}` },
                We("#Login_CreateAccount"),
              );
            case "partner":
              return s.createElement(
                Hb,
                { inline: !0, href: `${w.PARTNER_BASE_URL}${e}` },
                We("#Login_CreateSteamworksAccount"),
              );
            case "none":
              return null;
          }
        }
      }
      function ab(e) {
        const { launcherType: t, variant: r, redirectUrl: n } = e;
        if (8 === t) return null;
        if ("none" == r) return null;
        const i = void 0 !== t;
        let a;
        switch (null != r ? r : "normal") {
          default:
          case "normal":
            a = "#Login_NoSteamAccount";
            break;
          case "partner":
            a = "#Login_NoSteamworksAccount";
        }
        return s.createElement(
          "div",
          { className: xr(Fg().AccountCreation, i && Fg().InClient) },
          s.createElement(
            "span",
            { className: Fg().AccountCreationPrompt },
            We(a),
          ),
          s.createElement(ib, { variant: r, redirectUrl: n }),
        );
      }
      function sb() {
        var e, t, r, n, a, s;
        return (0, i.mG)(this, void 0, void 0, function* () {
          const [i, o, l] = yield Promise.all([
            SteamClient.System.GetOSType(),
            null !==
              (r =
                null ===
                  (t =
                    null ===
                      (e =
                        null === SteamClient || void 0 === SteamClient
                          ? void 0
                          : SteamClient.Auth) || void 0 === e
                      ? void 0
                      : e.GetLocalHostname) || void 0 === t
                  ? void 0
                  : t.call(e)) && void 0 !== r
              ? r
              : "",
            null !==
              (s =
                null ===
                  (a =
                    null ===
                      (n =
                        null === SteamClient || void 0 === SteamClient
                          ? void 0
                          : SteamClient.Auth) || void 0 === n
                      ? void 0
                      : n.GetMachineID) || void 0 === a
                  ? void 0
                  : a.call(n)) && void 0 !== s
              ? s
              : void 0,
          ]);
          return {
            os_type: i,
            device_friendly_name: o,
            machine_id: l,
            platform_type: 1,
            gaming_device_type: w.ON_DECK
              ? ce.k_EGamingDeviceType_SteamDeck
              : ce.k_EGamingDeviceType_StandardPC,
          };
        });
      }
      function ob() {
        return (0, i.mG)(this, void 0, void 0, function* () {
          return {
            device_friendly_name: window.navigator.userAgent,
            platform_type: 2,
          };
        });
      }
      function lb(e) {
        var t, r, n;
        const {
            onSuccess: i,
            secureComputer: a = !0,
            isProbablySharedPC: o = !1,
          } = e,
          l = (0, s.useCallback)(
            ({
              bSuccess: e,
              strRefreshToken: t,
              strAccessToken: r,
              strAccountName: n,
              strNewGuardData: a,
            }) => {
              e &&
                i({
                  strRefreshToken: t,
                  strAccessToken: r,
                  strAccountName: n,
                  strNewGuardData: a,
                });
            },
            [i],
          ),
          c = (function (e) {
            const [t, r] = (0, s.useState)(new Eg(e));
            return (
              (0, s.useEffect)(() => {
                null == t || t.SetOnLoginComplete(e.onComplete);
              }, [t, e.onComplete]),
              (0, ng.SZ)(() => ({
                strAccountName: t.GetAccountName(),
                steamid: t.GetSteamID(),
                eFailureState: t.GetFailureState(),
                strExtendedErrorMessage: t.GetExtendedErrorMessage(),
                strErrorReference: t.GetErrorReference(),
                strConfirmationAssociatedMessage:
                  t.GetConfirmationAssociatedMessage(),
                eStatus: t.GetStatus(),
                bCanGoBack: t.BCanGoBack(),
                start: t.Start,
                addCode: t.SendSteamGuardCode,
                useCodeOverride: t.UseCodeOverride,
                cantAccessCode: t.CantAccessCode,
                startMoveAuthenticator: t.StartMoveAuthenticator,
                resendMoveCode: t.ResendMoveCode,
                finishMoveAuthenticator: t.FinishMoveAuthenticator,
                finishMoveRecovery: t.FinishMoveRecovery,
                replacementAuthenticator: t.GetReplacementAuthenticator(),
                reset: () => r(new Eg(e)),
                goBack: t.GoBack,
                setTokenToRevoke: t.SetTokenToRevoke,
              }))
            );
          })({
            transport: e.transport,
            onComplete: l,
            onDeviceDetails: e.onDeviceDetails,
            onGetMachineAuth: e.onGetMachineAuth,
            onShowAgreement: e.onShowAgreement,
          }),
          [u, d] = (0, s.useState)(0),
          m = "Login_RememberMeSetting",
          [_, h] = (0, s.useState)(
            null !==
              (n =
                null !==
                  (r =
                    null === (t = e.refreshInfo) || void 0 === t
                      ? void 0
                      : t.account_name) && void 0 !== r
                  ? r
                  : e.defaultAccountName) && void 0 !== n
              ? n
              : "",
          ),
          [p, g] = (0, s.useState)(""),
          [b, f] = (0, s.useState)(
            a &&
              !o &&
              "0" !=
                (null === localStorage || void 0 === localStorage
                  ? void 0
                  : localStorage.getItem(m)),
          ),
          v = !(0 === c.eStatus || 1 === c.eStatus || 2 === c.eStatus);
        (0, s.useEffect)(() => {
          var t;
          (null === (t = e.refreshInfo) || void 0 === t
            ? void 0
            : t.login_token_id) &&
            c.setTokenToRevoke(e.refreshInfo.login_token_id);
        }, [e.refreshInfo, c]);
        return {
          password: c,
          onComplete: l,
          eQRStatus: u,
          onQRStatusChange: d,
          strAccountName: _,
          onAccountNameChange: h,
          strPassword: p,
          onPasswordChange: g,
          bRememberMe: b,
          onRememberMeChange: (e) => {
            f(e),
              null === localStorage ||
                void 0 === localStorage ||
                localStorage.setItem(m, e ? "1" : "0");
          },
          onPasswordSubmit: () =>
            _ && p ? c.start(_, p, b) : Promise.resolve(8),
          bInPasswordFlow: v,
          onTryOffline: () => {
            Yp(`Logging in offline with username ${_}`),
              SteamClient.User.SetLoginCredentials(_, p, b);
            SteamClient.User.StartOffline(!0);
          },
        };
      }
      function cb(e) {
        const {
            transport: t,
            onSuccess: r,
            platform: n,
            autoFocus: i,
            refreshInfo: a,
            renderSuccess: o = () => s.createElement(rf, null),
            lastResult: l,
            joinLinkVariant: c,
            defaultAccountName: u,
            secureComputer: d = !0,
            isProbablySharedPC: m = !1,
            onShowAgreement: _,
            creationRedirectUrl: h,
          } = e,
          p = lb({
            transport: t,
            platform: n,
            onSuccess: r,
            refreshInfo: a,
            onDeviceDetails: w.IN_STEAMUI ? sb : ob,
            onGetMachineAuth: w.IN_STEAMUI
              ? (e) => SteamClient.Auth.GetSteamGuardData(e)
              : null,
            defaultAccountName: u,
            secureComputer: d,
            isProbablySharedPC: m,
            onShowAgreement: _,
          }),
          g = Jg();
        if (null != l && 1 != l)
          return s.createElement(
            "div",
            { className: Fg().Login },
            s.createElement(Fb, {
              reset: () => window.location.reload(),
              failure: Jp.Generic,
              errorReference: l.toString(),
              extendedErrorMessage: p.password.strExtendedErrorMessage,
            }),
          );
        const b = !D();
        if (!p.bInPasswordFlow) {
          const r = s.createElement(
            "div",
            { className: xr(Fg().SideBySide, g && Fg().Embedded) },
            s.createElement(db, {
              strAccountName: p.strAccountName,
              onAccountNameChange: p.onAccountNameChange,
              strPassword: p.strPassword,
              onPasswordChange: p.onPasswordChange,
              bRememberMe: p.bRememberMe,
              onRememberMeChange: p.onRememberMeChange,
              onSubmit: p.onPasswordSubmit,
              status: p.password.eStatus,
              autoFocus: i,
              secureComputer: d,
              refreshInfo: e.refreshInfo,
            }),
            b &&
              s.createElement(_b, {
                transport: t,
                onQRStatusChange: p.onQRStatusChange,
                onComplete: p.onComplete,
                platform: n,
                refreshInfo: a,
              }),
          );
          if (g) {
            const t = w.IN_STEAMUI,
              n = t ? w.LAUNCHER_TYPE : void 0;
            return s.createElement(
              Kb,
              { className: xr(Fg().EmbeddedRoot, t && Fg().InClient) },
              !t && !1,
              !e.refreshInfo &&
                s.createElement(Zb, {
                  realm: w.EREALM,
                  launcherType: n,
                  className: Fg().HeaderLogo,
                  onBack: e.onBack,
                }),
              s.createElement(ub, { refreshInfo: a }),
              r,
              s.createElement(
                "div",
                { className: xr(Fg().EmbeddedRootFooter, t && Fg().InClient) },
                s.createElement(nb, { variant: e.helpLinkVariant }),
                s.createElement(ab, {
                  launcherType: n,
                  variant: c,
                  redirectUrl: h,
                }),
              ),
            );
          }
          const o = s.createElement(
            "div",
            {
              style: {
                display: "flex",
                flexDirection: "column",
                gap: "8px",
                margin: "8px 16px",
              },
            },
            !1,
            s.createElement(
              "div",
              { className: Fg().PrimaryHeader },
              e.refreshInfo ? We("#Login_RefreshSignIn") : We("#Login_SignIn"),
            ),
            s.createElement(ub, { refreshInfo: e.refreshInfo }),
          );
          return s.createElement(Xb, { title: o }, r);
        }
        const f = p.password.eStatus;
        switch (f) {
          case 13:
            return e.renderLoading
              ? s.createElement(s.Fragment, null, e.renderLoading())
              : s.createElement(Db, null);
          case 5:
          case 11:
          case 3:
          case 10:
            const t = 5 === f || 11 === f;
            return s.createElement(kb, {
              type: t ? "mobile" : "email",
              onSubmitCode: p.password.addCode,
              status: f,
              associatedLabel: p.password.strConfirmationAssociatedMessage,
              accountName: p.password.strAccountName,
              onBack: p.password.goBack,
              onCodeHelp: e.onCodeHelp,
            });
          case 6:
          case 4:
            const r = 6 === f;
            return s.createElement(Vb, {
              type: r ? "mobile" : "email",
              accountName: p.password.strAccountName,
              onUseCodeOverride: p.password.useCodeOverride,
              onCodeHelp: e.onCodeHelp,
            });
          case 16:
            return s.createElement(Lb, { reset: p.password.reset });
          case 15:
            return s.createElement(Fb, {
              reset: p.password.reset,
              failure: p.password.eFailureState,
              onRequestOffline: p.onTryOffline,
              errorReference: p.password.strErrorReference,
              extendedErrorMessage: p.password.strExtendedErrorMessage,
            });
          case 14:
            return s.createElement(Xb, { compact: !0 }, o());
          default:
            return (
              Xp(`Unknown Phase: ${f}`),
              s.createElement(Fb, {
                reset: p.password.reset,
                failure: Jp.Generic,
                onRequestOffline: p.onTryOffline,
                errorReference: p.password.strErrorReference,
                extendedErrorMessage: p.password.strExtendedErrorMessage,
              })
            );
        }
      }
      function ub(e) {
        var t, r;
        if (!e.refreshInfo) return null;
        let n;
        switch (
          null !==
            (r =
              null === (t = e.refreshInfo) || void 0 === t
                ? void 0
                : t.reason) && void 0 !== r
            ? r
            : 2
        ) {
          case 2:
          case 7:
          default:
            n = "#Login_RefreshReason_Generic";
            break;
          case 6:
            n = "#Login_RefreshReason_LoggedInElsewhere";
            break;
          case 34:
            n = "#Login_RefreshReason_LogonSessionReplaced";
            break;
          case 5:
            n = "#Login_RefreshReason_InvalidPassword";
            break;
          case 26:
            n = "#Login_RefreshReason_Revoked";
            break;
          case 27:
            n = "#Login_RefreshReason_Expired";
            break;
          case 49:
            n = "#Login_RefreshReason_PasswordRequiredToKickSession";
            break;
          case 43:
            n = "#Login_RefreshReason_AccountDisabled";
            break;
          case 69:
            n = "#Login_RefreshReason_ParentalControlRestricted";
            break;
          case 84:
            n = "#Login_RefreshReason_RateLimitExceeded";
        }
        return s.createElement(
          "div",
          { className: Fg().RefreshReasonContainer },
          s.createElement(
            "div",
            { className: Fg().RefreshTitle },
            We("#Login_RefreshSignIn"),
          ),
          s.createElement("div", { className: Fg().RefreshReason }, We(n)),
        );
      }
      function db(e) {
        const {
            onSubmit: t,
            status: r,
            autoFocus: n,
            refreshInfo: i,
            strAccountName: a,
            onAccountNameChange: o,
            strPassword: l,
            onPasswordChange: c,
            bRememberMe: u,
            onRememberMeChange: d,
            secureComputer: m = !0,
          } = e,
          [_, h] = (0, s.useState)(!1),
          p = Jg(),
          g = (function () {
            const e = (0, s.useRef)(!0);
            return (
              (0, s.useEffect)(
                () => () => {
                  e.current = !1;
                },
                [e],
              ),
              (0, s.useCallback)(() => e.current, [e])
            );
          })(),
          b = 1 === r || 13 === r,
          f = 2 === r && !_,
          v = f
            ? s.createElement(Mb, null, We("#Login_CheckCredentials"))
            : s.createElement(Mb, null, " "),
          y = n && !a,
          S = n && !!a,
          C = !!e.refreshInfo;
        return s.createElement(
          qb,
          {
            onSubmit: () => {
              t().then(() => {
                g() && h(!1);
              });
            },
            className: Fg().LoginForm,
          },
          s.createElement(fb, {
            tone: f ? "danger" : void 0,
            label: s.createElement(
              vb,
              { highlight: !0 },
              We("#Login_SignIn_WithAccountName"),
            ),
            value: a,
            onChange: (e) => {
              h(!0), o(e);
            },
            autoFocus: y,
            disabled: C,
          }),
          s.createElement(fb, {
            tone: f ? "danger" : void 0,
            label: s.createElement(vb, null, We("#Login_Password")),
            value: l,
            onChange: (e) => {
              h(!0), c(e);
            },
            type: "password",
            autoFocus: S,
          }),
          m
            ? s.createElement(
                eu,
                {
                  toolTipContent: "#Login_RememberMe_Tooltip",
                  direction: "bottom",
                },
                s.createElement(wb, {
                  label: We("#Login_RememberMe_Short"),
                  value: u,
                  onChange: d,
                }),
              )
            : s.createElement(
                "div",
                { className: Fg().InsecureComputer },
                We("#Login_InsecureComputer"),
              ),
          s.createElement(Bb, { loading: b, refreshLogin: C }),
          v,
          !p &&
            s.createElement(
              Hb,
              {
                href: `${w.HELP_BASE_URL}wizard/HelpWithLogin?redir=${encodeURIComponent(document.location.href)}`,
                align: "center",
              },
              We("#Login_Help_SignIn"),
            ),
        );
      }
      const mb = 700;
      function _b(e) {
        const t = Ho(),
          r = () => t.ownerWindow.screen.width < mb,
          [n, i] = (0, s.useState)(r());
        return (
          ir(t.ownerWindow, "resize", () => {
            i(r());
          }),
          s.createElement(
            "div",
            { className: Fg().QRSection },
            n
              ? s.createElement(pb, Object.assign({}, e))
              : s.createElement(hb, Object.assign({}, e)),
          )
        );
      }
      function hb(e) {
        return s.createElement(bb, Object.assign({}, e));
      }
      function pb(e) {
        const [t, r] = (0, s.useState)(!1);
        return t
          ? s.createElement(
              bb,
              Object.assign({}, e, { bShowHideButton: !0, setShowQR: r }),
            )
          : s.createElement(gb, { setShowQR: r });
      }
      function gb(e) {
        return s.createElement(
          "div",
          { className: Fg().MessagingContainer },
          s.createElement(
            "div",
            { className: Fg().MessagingTag },
            We("#Login_MobileFlow_New"),
          ),
          s.createElement(
            "div",
            { className: Fg().MessagingSubtitle },
            s.createElement(
              "div",
              { className: Fg().MessagingSubtitle },
              We("#Login_MobileFlow_SignIn_ScanQR"),
            ),
          ),
          s.createElement(
            "div",
            { className: Fg().MessagingButton, onClick: () => e.setShowQR(!0) },
            We("#Login_MobileFlow_ShowMeQR_Button"),
          ),
          s.createElement(
            "a",
            {
              href: `${w.STORE_BASE_URL}mobile`,
              className: Fg().MessagingLink,
            },
            We("#Login_JoinBeta_Button"),
          ),
        );
      }
      function bb(e) {
        const {
          onQRStatusChange: t,
          transport: r,
          onComplete: n,
          platform: i,
          refreshInfo: a,
          bShowHideButton: o = !1,
          setShowQR: l,
        } = e;
        return s.createElement(
          "div",
          { className: Fg().QRCodeContainer },
          s.createElement(
            vb,
            { highlight: !0 },
            We("#Login_SignIn_OrWithQRCode"),
          ),
          s.createElement(
            "div",
            { className: Fg().QR },
            s.createElement(Wg, {
              onStatusChange: t,
              transport: r,
              onComplete: n,
              platform: i,
              refreshInfo: a,
            }),
          ),
          o &&
            l &&
            s.createElement(
              "div",
              { className: Fg().QRHideLink, onClick: () => l(!1) },
              We("#Button_Hide"),
            ),
          s.createElement(
            "div",
            { className: Fg().UseMobileAppForQR },
            Ve(
              "#Login_UseMobileAppForQR_Inline",
              s.createElement(Hb, {
                href: `${w.STORE_BASE_URL}mobile`,
                align: "center",
              }),
            ),
          ),
        );
      }
      function fb(e) {
        const { label: t, error: r, tone: n, autoFocus: a } = e,
          o = (0, i._T)(e, ["label", "error", "tone", "autoFocus"]),
          l = null != n ? n : r ? "danger" : void 0;
        return s.createElement(
          "div",
          { className: Fg().TextField },
          "string" == typeof t ? s.createElement(vb, null, t) : t,
          s.createElement(Sb, { type: "error" }, r),
          s.createElement(yb, Object.assign({ autoFocus: a, tone: l }, o)),
        );
      }
      function vb(e) {
        const { children: t, highlight: r } = e;
        return s.createElement(
          "div",
          { className: xr(Fg().FieldLabel, r && Fg().Highlight) },
          t,
        );
      }
      function yb(e) {
        const {
          value: t,
          onChange: r,
          type: n = "text",
          tone: i,
          className: a,
          autoFocus: o,
          disabled: l,
        } = e;
        return s.createElement("input", {
          value: t,
          type: n,
          autoFocus: o,
          onChange: (e) => r(e.target.value),
          className: xr(Fg().TextInput, "danger" === i && Fg().Danger, a),
          disabled: l,
        });
      }
      function Sb(e) {
        const { children: t, type: r } = e;
        return s.createElement(
          "div",
          { className: xr(Fg().FieldHint, "error" === r && Fg().Error) },
          t,
        );
      }
      function wb(e) {
        const { label: t, onChange: r, value: n } = e;
        let i = () => {
          r && r(!n);
        };
        return s.createElement(
          "div",
          {
            className: Fg().CheckboxField,
            onClick: i,
            onKeyPress: (e) => {
              " " == e.key && (i(), e.preventDefault());
            },
          },
          s.createElement(Cb, { value: n }),
          s.createElement("div", { className: Fg().CheckboxFieldLabel }, t),
        );
      }
      function Cb(e) {
        const { value: t } = e;
        return s.createElement(
          "div",
          { tabIndex: 0, className: Fg().Checkbox },
          t &&
            s.createElement(
              "div",
              { className: Fg().Check },
              s.createElement(rc, { strokeWidth: 35 }),
            ),
        );
      }
      function Bb(e) {
        var t;
        const { refreshLogin: r } = e,
          n = (0, i._T)(e, ["refreshLogin"]);
        return r &&
          (null === (t = SteamClient.User) || void 0 === t
            ? void 0
            : t.StartShutdown)
          ? s.createElement(Ib, null)
          : s.createElement(Eb, Object.assign({}, n));
      }
      function Eb(e) {
        return s.createElement(
          "div",
          { className: Fg().SignInButtonContainer },
          s.createElement(Rb, Object.assign({}, e), We("#Login_SignIn")),
        );
      }
      function Ib() {
        return s.createElement(
          "div",
          { className: Fg().RefreshButtonContainer },
          s.createElement(
            "button",
            { className: Fg().SubmitButton, type: "submit" },
            We("#Login_SignIn"),
          ),
          s.createElement(
            "button",
            {
              className: Fg().RefreshQuitButton,
              onClick: () => SteamClient.User.StartShutdown(!0),
            },
            We("#Login_ExitSteam"),
          ),
        );
      }
      function Rb(e) {
        return s.createElement(Tb, Object.assign({ type: "submit" }, e));
      }
      function Tb(e) {
        const { className: t, loading: r, disabled: n, children: a } = e,
          o = (0, i._T)(e, ["className", "loading", "disabled", "children"]),
          l = n || r;
        return s.createElement(
          "button",
          Object.assign(
            {
              className: xr(Fg().SubmitButton, r && Fg().Loading, t),
              disabled: l,
            },
            o,
          ),
          a,
          r &&
            s.createElement(
              "div",
              { className: Fg().LoadingContainer },
              s.createElement(Ab, { size: "small" }),
            ),
        );
      }
      function Mb(e) {
        const t = e.children || " ";
        return s.createElement("div", { className: Fg().FormError }, t);
      }
      function Db() {
        return s.createElement(
          Xb,
          { compact: !0 },
          s.createElement(
            Kb,
            {
              alignItems: "center",
              className: xr(
                Fg().WaitingForTokenContainer,
                w.IN_STEAMUI && Fg().Client,
              ),
            },
            s.createElement(Ra, { size: "xlarge" }),
            s.createElement(
              "div",
              { className: xr(Fg().Description) },
              We(
                w.IN_STEAMUI
                  ? "#Login_ConnectingToSteam"
                  : "#Login_LoadingAccountInfo",
              ),
            ),
          ),
        );
      }
      function Ab(e) {
        const { size: t } = e;
        return s.createElement("div", {
          className: xr(
            Fg().LoadingSpinner,
            "small" == t && Fg().Small,
            ("medium" == t || !t) && Fg().Medium,
            "large" == t && Fg().Large,
          ),
        });
      }
      function Ob(e) {
        return s.createElement(
          "div",
          { className: Fg().OfferOffline },
          s.createElement(
            "button",
            { className: Fg().OfferOfflineButton, onClick: e.onRequestOffline },
            We("#Login_GoOffline_Button"),
          ),
        );
      }
      function Fb(e) {
        const {
            reset: t,
            failure: r,
            onRequestOffline: n,
            errorReference: i,
            extendedErrorMessage: a,
          } = e,
          { title: o, description: l } = (function (e, t = "") {
            let r = { title: "", description: "" };
            switch (e) {
              case Jp.None:
                return { title: "", description: "" };
              case Jp.Expired:
                r = {
                  title: We("#Login_Error_Expired_Title"),
                  description: We("#Login_Error_Expired_Description"),
                };
                break;
              case Jp.Network:
                r = {
                  title: We("#Login_Error_Network_Title"),
                  description: We("#Login_Error_Network_Description"),
                };
                break;
              case Jp.MoveAuthenticator:
                r = {
                  title: We("#Error_Generic"),
                  description: We("#Login_Error_MoveAuthenticator_Description"),
                };
                break;
              case Jp.RateLimitExceeded:
                r = {
                  title: We("#Login_Error_RateLimit_Title"),
                  description: We("#Login_Error_RateLimit_Description"),
                };
                break;
              case Jp.AnonymousLogin:
                r = {
                  title: We("#Login_Error_Anonymous_Title"),
                  description: We("#Login_Error_Anonymous_Description"),
                };
                break;
              case Jp.Generic:
              default:
                r = {
                  title: We("#Error_Generic"),
                  description: We("#Login_Error_Default_Description"),
                };
            }
            t && (r.description = t);
            return r;
          })(r, a),
          c = w.IN_STEAMUI && r == Jp.Network;
        return s.createElement(
          Xb,
          { compact: !0 },
          s.createElement(
            Kb,
            { alignItems: "center", gap: 12 },
            s.createElement("div", { className: Fg().FailureTitle }, o),
            s.createElement("div", { className: Fg().FailureDescription }, l),
            c &&
              s.createElement(
                "div",
                { className: Fg().FailureDescription },
                We("#Login_GoOffline_Description"),
              ),
            s.createElement(
              $b,
              { className: Fg().FailureButtons },
              s.createElement(
                Tb,
                { className: Fg().TryAgainButton, onClick: t },
                We("#Button_Retry"),
              ),
              c && s.createElement(Ob, { onRequestOffline: n }),
            ),
          ),
          i &&
            s.createElement(
              "div",
              { className: Fg().MutedErrorReference },
              We("#Login_Error_Reference", i),
            ),
        );
      }
      function Lb(e) {
        const { reset: t } = e;
        return s.createElement(Fb, { reset: t, failure: Jp.Generic });
      }
      function kb(e) {
        const {
            type: t,
            onSubmitCode: r,
            status: n,
            accountName: i,
            associatedLabel: a,
            onBack: o,
          } = e,
          [l, c] = (0, s.useState)([]),
          [u, d] = (0, s.useState)(!1),
          [m, _] = (0, s.useState)(!1),
          [h, p] = (0, s.useState)(!1),
          [g, b] = (0, s.useState)(0),
          f = "mobile" === t,
          v = l.join(""),
          y = Mg(v, h),
          S = (e) => {
            _(!0),
              r(e).then(() => {
                d(!1), _(!1);
              });
          },
          w = !u && (11 === n || 10 === n);
        let C, B;
        return (
          h
            ? "mobile" === t
              ? ((B = s.createElement(Pb, null)), (C = "#Login_UseMobileCode"))
              : ((B = s.createElement(Pb, null)), (C = "#Login_UseEmailCode"))
            : ((B =
                "mobile" === t
                  ? s.createElement(Gb, null)
                  : s.createElement(xb, { emailAddress: a })),
              (C = "#Login_UseBackupCode")),
          s.createElement(
            Xb,
            { title: s.createElement(Zb, null), compact: !0 },
            s.createElement(
              qb,
              {
                onSubmit: () => {
                  y && S(v);
                },
              },
              s.createElement(
                Kb,
                { alignItems: "center", gap: 14 },
                s.createElement(Ub, { type: t, accountName: i }),
                s.createElement(
                  "div",
                  { className: Fg().ConfirmationEntryContainer },
                  s.createElement(
                    Kb,
                    { alignItems: "center", gap: 2 },
                    w &&
                      s.createElement(
                        Mb,
                        null,
                        We("#Login_IncorrectSteamGuard"),
                      ),
                    s.createElement(Yb, {
                      key: g,
                      value: l,
                      onChange: (e) => {
                        u || d(!0), c(e);
                        const t = e.join("");
                        Mg(t, h) && S(t);
                      },
                      tone: w ? "danger" : void 0,
                      loading: m,
                      backupCode: h,
                    }),
                  ),
                  B,
                ),
                f &&
                  s.createElement(
                    Hb,
                    {
                      onClick: () => {
                        p(!h), c([]), r(""), b(g + 1);
                      },
                      align: "center",
                    },
                    We(C),
                  ),
                s.createElement(Nb, { type: t, onCodeHelp: e.onCodeHelp }),
              ),
            ),
          )
        );
      }
      function Nb(e) {
        if (Ia()) return null;
        let t, r;
        return (
          "mobile" === e.type
            ? ((t = `${w.HELP_BASE_URL}wizard/HelpWithLoginInfo?lost=8&issueid=402`),
              (r = We("#Login_Help_AccessMobileApp")))
            : ((t = `${w.HELP_BASE_URL}wizard/HelpWithSteamGuardCode`),
              (r = We("#Login_Help_AccessEmail"))),
          e.onCodeHelp
            ? s.createElement(
                Hb,
                { onClick: () => e.onCodeHelp(t), align: "center" },
                r,
              )
            : s.createElement(Hb, { href: t, align: "center" }, r)
        );
      }
      function Pb() {
        return s.createElement(
          $b,
          {
            justifyContent: "space-evenly",
            alignItems: "center",
            className: Fg().EnterBackupCodeContainer,
          },
          s.createElement(
            Kb,
            null,
            s.createElement(
              "div",
              { className: Fg().EnterCodeFromMobile },
              We("#Login_EnterBackupCode"),
            ),
            s.createElement(
              "div",
              { className: Fg().Label },
              We("#Login_EnterBackupCodeDescription"),
            ),
          ),
        );
      }
      function Gb() {
        return s.createElement(
          $b,
          {
            justifyContent: "space-evenly",
            alignItems: "center",
            className: Fg().EnterCodeFromMobileContainer,
          },
          s.createElement(
            "div",
            { className: Fg().EnterCodeFromMobile },
            We("#Login_EnterMobileCode"),
          ),
          s.createElement(Wb, { className: Fg().AwaitingMobileConfIcon }),
        );
      }
      function xb(e) {
        return s.createElement(
          $b,
          {
            justifyContent: "space-evenly",
            alignItems: "center",
            className: Fg().EnterCodeFromEmailContainer,
          },
          s.createElement(
            Qb,
            { align: "center", spacing: 6 },
            s.createElement(
              "div",
              { className: Fg().EnterCodeFromEmail },
              je(
                "#Login_EnterEmailCode",
                s.createElement(
                  "span",
                  { className: Fg().EnterCodeEmailAddress },
                  e.emailAddress,
                ),
              ),
            ),
          ),
          s.createElement(jb, { className: Fg().AwaitingEmailConfIcon }),
        );
      }
      function Ub(e) {
        const { accountName: t, type: r } = e,
          n = We(
            "mobile" === r
              ? "#Login_MobileProtectingAccount"
              : "#Login_EmailProtectingAccount",
          ),
          i = Jg();
        return s.createElement(
          "div",
          { className: Fg().ProtectingAccount },
          s.createElement(
            "div",
            { className: Fg().Label },
            je(
              "#Login_ActiveAccountName",
              s.createElement("span", { className: Fg().AccountName }, t),
            ),
          ),
          !i && s.createElement("div", { className: Fg().Description }, n),
        );
      }
      function zb() {
        return s.createElement(
          Kb,
          { alignItems: "center" },
          s.createElement(
            "div",
            { className: Fg().ConfirmationContainer },
            s.createElement("img", { src: $g }),
            s.createElement(
              "div",
              { className: Fg().AwaitingMobileConfText },
              Ve("#Login_AwaitingMobileConfirmation"),
            ),
          ),
        );
      }
      function Wb(e) {
        return s.createElement(
          "svg",
          {
            viewBox: "0 0 33 49",
            fill: "currentColor",
            className: e.className,
          },
          s.createElement("path", {
            fill: "currentColor",
            fillRule: "evenodd",
            clipRule: "evenodd",
            d: "M28 47.1106C29.1046 47.1106 30 46.2151 30 45.1106L30 3.72705C30 2.62248 29.1046 1.72705 28 1.72705L5 1.72705C3.89544 1.72705 3 2.62248 3 3.72705L3 45.1106C3 46.2151 3.89543 47.1106 5 47.1106L28 47.1106ZM5.68119 5.82741L27.3188 5.82741L27.3188 42.7772H5.68119L5.68119 5.82741ZM20.9999 44.944C20.9999 45.3429 20.6766 45.6662 20.2777 45.6662L12.7221 45.6662C12.3233 45.6662 11.9999 45.3429 11.9999 44.944C11.9999 44.5451 12.3233 44.2218 12.7221 44.2218H20.2777C20.6766 44.2218 20.9999 44.5451 20.9999 44.944ZM17.2778 4.44406C17.6767 4.44406 18 4.12071 18 3.72184C18 3.32296 17.6767 2.99962 17.2778 2.99962L15.7222 2.99962C15.3233 2.99962 15 3.32296 15 3.72184C15 4.12071 15.3233 4.44406 15.7222 4.44406L17.2778 4.44406Z",
          }),
          s.createElement("path", {
            fill: "currentColor",
            d: "M22.2456 22.4164C22.2456 21.6666 22.8127 21.0002 23.6228 21.0002C24.3519 21.0002 25 21.6666 25 22.4164C25 23.1661 24.3519 23.8325 23.6228 23.8325C22.8937 23.8325 22.2456 23.1661 22.2456 22.4164Z",
          }),
          s.createElement("path", {
            fill: "currentColor",
            d: "M18.6812 22.4164C18.6812 21.6666 19.2483 21.0002 20.0584 21.0002C20.8685 21.0002 21.5166 21.6666 21.4355 22.4164C21.4355 23.1661 20.8685 23.8325 20.0584 23.8325C19.3293 23.8325 18.6812 23.1661 18.6812 22.4164Z",
          }),
          s.createElement("path", {
            fill: "currentColor",
            d: "M15.1977 22.4164C15.1977 21.6666 15.7648 21.0002 16.5749 21.0002C17.304 21.0002 17.9521 21.6666 17.9521 22.4164C17.9521 23.1661 17.385 23.8325 16.5749 23.8325C15.8458 23.8325 15.1977 23.1661 15.1977 22.4164Z",
          }),
          s.createElement("path", {
            fill: "currentColor",
            d: "M11.7143 22.4164C11.7143 21.6666 12.2814 21.0002 13.0915 21.0002C13.8206 21.0002 14.4686 21.6666 14.4686 22.4164C14.4686 23.1661 13.9016 23.8325 13.0915 23.8325C12.3624 23.8325 11.7143 23.1661 11.7143 22.4164Z",
          }),
          s.createElement("path", {
            fill: "currentColor",
            d: "M8.14983 22.4164C8.14983 21.6666 8.7169 21.0002 9.527 21.0002C10.3371 21.0002 10.9852 21.6666 10.9042 22.4164C10.9042 23.1661 10.3371 23.8325 9.527 23.8325C8.79791 23.8325 8.14983 23.1661 8.14983 22.4164Z",
          }),
        );
      }
      function jb(e) {
        return s.createElement(
          "svg",
          { viewBox: "0 0 58 56", fill: "none", className: e.className },
          s.createElement("path", {
            d: "M57.9352 24.5887C57.8463 24.233 57.8463 23.8774 57.6684 23.5217C57.4017 22.8993 57.046 22.4547 56.5125 22.0101L49.577 16.4083V10.9844C49.577 8.85041 47.8876 7.16098 45.7536 7.16098H38.1956L31.5269 1.73706C30.1042 0.581137 28.0591 0.581137 26.6364 1.73706L19.9677 7.16098H12.4097C10.2757 7.16098 8.58631 8.93932 8.58631 10.9844V16.4083L1.56188 22.0101C1.02838 22.3658 0.672713 22.8993 0.405962 23.5217V23.6106C0.228128 24.1441 0.050293 24.5887 0.050293 25.1222V52.1529C0.050293 53.2199 0.494878 54.1091 1.1173 54.8204C1.82863 55.5318 2.80672 55.8874 3.7848 55.8874H54.0228C55.0898 55.8874 55.979 55.4428 56.6903 54.8204C57.4017 54.1091 57.7573 53.131 57.7573 52.1529V25.1222C57.9352 24.8554 57.9352 24.7665 57.9352 24.5887ZM49.577 19.7872L54.7342 23.9663L49.577 28.9456V19.7872ZM28.148 3.60431C28.4148 3.42648 28.6815 3.24864 28.9483 3.24864C29.3039 3.24864 29.5707 3.33756 29.7485 3.60431L34.0165 7.07207H23.9689L28.148 3.60431ZM10.9871 10.9844C10.9871 10.2731 11.5206 9.73958 12.2319 9.73958H45.6646C46.376 9.73958 46.9095 10.362 46.9095 10.9844V31.4353L46.8206 31.5242L40.2407 37.9262H17.6558L11.076 31.5242L10.9871 31.4353V10.9844ZM8.40848 19.7872V28.9456L3.34022 23.9663L8.40848 19.7872ZM2.62888 51.6194V26.9005L15.2551 39.26L2.62888 51.6194ZM4.49614 53.3088L17.6558 40.5048H40.2407L53.4004 53.3088H4.49614ZM55.3566 51.6194L42.6415 39.1711L55.2677 26.8116V51.6194H55.3566ZM29.0372 35.3476C30.5488 35.3476 31.9715 35.0809 33.3941 34.5474C34.0165 34.2806 34.3722 33.4804 34.1055 32.858C33.8387 32.2355 33.0385 31.8799 32.416 32.1466C31.349 32.5912 30.1931 32.769 29.0372 32.769C27.3478 32.769 25.7473 32.3245 24.4135 31.5242C21.746 29.9237 20.0566 27.0784 20.0566 23.7884C20.0566 18.8091 24.0579 14.8078 29.0372 14.8078C34.0165 14.8078 38.0178 18.8091 38.0178 23.7884V24.4109C38.0178 25.4779 37.2175 26.367 36.0616 26.367C34.9946 26.367 34.1055 25.4779 34.1055 24.4109V23.7884C34.1055 20.9431 31.7936 18.6313 28.9483 18.6313C26.1029 18.6313 23.7911 20.9431 23.7911 23.7884C23.7911 26.6338 26.1029 28.9456 28.9483 28.9456C30.3709 28.9456 31.7047 28.3232 32.5939 27.434C33.3941 28.4121 34.639 28.9456 35.9727 28.9456C38.4624 28.9456 40.5075 26.9894 40.5075 24.4109V23.7884C40.5075 17.3864 35.2614 12.2292 28.9483 12.2292C22.6352 12.2292 17.3891 17.4753 17.3891 23.7884C17.3891 26.7227 18.545 29.4791 20.3233 31.5242C22.5463 33.925 25.5694 35.3476 29.0372 35.3476ZM29.0372 26.367C27.6145 26.367 26.4586 25.2111 26.4586 23.7884C26.4586 22.3658 27.6145 21.2098 29.0372 21.2098C30.4599 21.2098 31.6158 22.3658 31.6158 23.7884C31.5269 25.2111 30.371 26.367 29.0372 26.367Z",
            fill: "#1A99FF",
          }),
        );
      }
      function Vb(e) {
        const { type: t, accountName: r, onUseCodeOverride: n } = e,
          i = Jg(),
          a = s.createElement(Nb, { type: "mobile", onCodeHelp: e.onCodeHelp }),
          o = i
            ? s.createElement(
                "div",
                { style: { paddingBottom: "20px" } },
                s.createElement(
                  Hb,
                  { align: "center", onClick: n },
                  We("#Login_EnterCodeInstead"),
                ),
              )
            : s.createElement(
                "div",
                { className: Fg().EnterCodeInsteadLink },
                s.createElement(
                  Hb,
                  { align: "center", onClick: n },
                  We("#Login_EnterCodeInstead"),
                ),
              );
        return s.createElement(
          Xb,
          { title: s.createElement(Zb, null), compact: !0 },
          s.createElement(
            Kb,
            { gap: w.IN_STEAMUI ? 24 : 40 },
            s.createElement(Ub, { type: t, accountName: r }),
            s.createElement(zb, null),
            s.createElement("div", { className: Fg().LinkContainer }, o, a),
          ),
        );
      }
      function Hb(e) {
        const { children: t, align: r, inline: n } = e,
          i = xr(Fg().TextLink, "center" === r && Fg().TextAlignCenter);
        if ("href" in e) {
          const r = w.IN_STEAMUI
            ? `steam://openurl_external/${e.href}`
            : e.href;
          return s.createElement("a", { className: i, href: r }, t);
        }
        {
          const r = n ? "span" : "div";
          return s.createElement(r, { className: i, onClick: e.onClick }, t);
        }
      }
      function qb(e) {
        const { onSubmit: t, children: r, className: n } = e;
        return s.createElement(
          "form",
          { onSubmit: (e) => (e.preventDefault(), t(), !1), className: n },
          r,
        );
      }
      function Kb(e) {
        const {
            alignItems: t,
            justifyContent: r,
            gap: n,
            className: i,
            children: a,
          } = e,
          o = xr(
            Fg().FlexCol,
            "center" === t && Fg().AlignItemsCenter,
            "center" === r && Fg().JustifyContentCenter,
            i,
          ),
          l = n ? { gap: "number" == typeof n ? `${n}px` : n } : void 0;
        return s.createElement("div", { className: o, style: l }, a);
      }
      function $b(e) {
        const {
            children: t,
            justifyContent: r,
            alignItems: n,
            className: i,
          } = e,
          a = {
            display: "flex",
            flexDirection: "row",
            justifyContent: r,
            alignItems: n,
          };
        return s.createElement("div", { style: a, className: i }, t);
      }
      function Yb(e) {
        const { onChange: t, backupCode: r } = e,
          n = (0, i._T)(e, ["onChange", "backupCode"]);
        return s.createElement(
          Xg,
          Object.assign(
            {
              length: Rg(r),
              backupCode: r,
              onChange: (e) => {
                Tg((e = e.map((e) => e.toUpperCase())).join("").trim(), r) &&
                  t(e);
              },
              autoFocus: !0,
            },
            n,
            { allowCharacter: (e) => /\w/g.test(e) },
          ),
        );
      }
      function Qb(e) {
        const { children: t, spacing: r = 0, align: n } = e;
        return s.createElement(
          Kb,
          { alignItems: n },
          s.Children.map(t, (e, t) =>
            e
              ? s.createElement(
                  "div",
                  { style: t > 0 ? { paddingTop: `${r}px` } : void 0 },
                  e,
                )
              : null,
          ).filter(Boolean),
        );
      }
      function Xb(e) {
        const { title: t, children: r, compact: n } = e,
          i = Jg();
        return s.createElement(
          Kb,
          {
            gap: w.IN_STEAMUI ? 0 : 32,
            className: xr(
              Fg().StandardLayout,
              i && Fg().Embedded,
              n && Fg().Compact,
              w.IN_STEAMUI && "IN_CLIENT",
            ),
          },
          "string" == typeof t
            ? s.createElement("div", { className: Fg().PrimaryHeader }, t)
            : t,
          s.createElement("div", { className: Fg().FormContainer }, r),
        );
      }
      function Zb(e) {
        const {
          realm: t = w.EREALM,
          launcherType: r = w.IN_STEAMUI ? w.LAUNCHER_TYPE : void 0,
          className: i = Fg().HeaderLogo,
        } = e;
        return 8 === r
          ? s.createElement("div", { className: i })
          : s.createElement(
              "div",
              { className: Fg().LogoContainer },
              s.createElement(Jb, { onBack: e.onBack }),
              t !== n.k_ESteamRealmChina
                ? s.createElement(ef, { className: i })
                : s.createElement(tf, { className: i }),
              " ",
            );
      }
      function Jb(e) {
        return e.onBack
          ? s.createElement(
              "div",
              { className: Fg().BackArrowContainer, onClick: e.onBack },
              s.createElement(Zl, { className: Fg().BackArrow }),
            )
          : null;
      }
      function ef(e) {
        return s.createElement(
          "svg",
          {
            viewBox: "0 0 153 46",
            fill: "none",
            xmlns: "http://www.w3.org/2000/svg",
            className: e.className,
          },
          s.createElement("path", {
            d: "M22.9891 0C10.8429 0 0.93833 9.30396 0 21.1548L12.3547 26.2486C13.3973 25.5209 14.6484 25.1051 16.0037 25.1051C16.108 25.1051 16.2644 25.1051 16.3687 25.1051L21.8944 17.2045C21.8944 17.1525 21.8944 17.1525 21.8944 17.1006C21.8944 12.3186 25.8041 8.42034 30.6 8.42034C35.3959 8.42034 39.3056 12.3186 39.3056 17.1006C39.3056 21.8825 35.3959 25.7808 30.6 25.7808C30.5479 25.7808 30.4436 25.7808 30.3915 25.7808L22.5721 31.3424C22.5721 31.4463 22.5721 31.5503 22.5721 31.6542C22.5721 35.2407 19.6528 38.1514 16.0559 38.1514C12.876 38.1514 10.2695 35.9164 9.64395 32.9017L0.781942 29.2633C3.5448 38.9311 12.4068 46 22.9891 46C35.7087 46 46.0303 35.7085 46.0303 23.026C46.0303 10.2915 35.7087 0 22.9891 0Z",
            fill: "#E0E1E6",
          }),
          s.createElement("path", {
            d: "M14.44 34.8766L11.625 33.7331C12.1463 34.7726 12.9804 35.6562 14.1272 36.124C16.6294 37.1636 19.4966 35.9681 20.5391 33.4732C21.0604 32.2777 21.0604 30.9263 20.5391 29.7308C20.0178 28.5353 19.0795 27.5997 17.8805 27.08C16.6816 26.5602 15.3783 26.6122 14.2836 27.028L17.2029 28.2235C19.0274 29.0031 19.9136 31.0822 19.1316 32.9014C18.4018 34.7726 16.2645 35.6562 14.44 34.8766Z",
            fill: "#E0E1E6",
          }),
          s.createElement("path", {
            d: "M36.3857 17.0488C36.3857 13.8782 33.7793 11.2793 30.5994 11.2793C27.4195 11.2793 24.813 13.8782 24.813 17.0488C24.813 20.2194 27.4195 22.8703 30.5994 22.8703C33.7793 22.8703 36.3857 20.2714 36.3857 17.0488ZM26.2205 17.0488C26.2205 14.6578 28.1493 12.6827 30.5994 12.6827C32.9973 12.6827 34.9782 14.6058 34.9782 17.0488C34.9782 19.4397 33.0495 21.3629 30.5994 21.3629C28.2014 21.4149 26.2205 19.4397 26.2205 17.0488Z",
            fill: "#E0E1E6",
          }),
          s.createElement("path", {
            d: "M70.6879 15.7489L69.1241 18.4517C67.9251 17.6201 66.3091 17.1003 64.9016 17.1003C63.2856 17.1003 62.2951 17.776 62.2951 18.9715C62.2951 20.4269 64.0675 20.7387 66.674 21.6743C69.489 22.6619 71.105 23.8574 71.105 26.4043C71.105 29.9387 68.3421 31.9139 64.3282 31.9139C62.3994 31.9139 60.0014 31.3941 58.229 30.3026L59.3759 27.2879C60.8355 28.0675 62.6079 28.5353 64.1718 28.5353C66.3091 28.5353 67.2995 27.7557 67.2995 26.6122C67.2995 25.3127 65.7878 24.8969 63.2856 24.0653C60.4706 23.1297 58.5418 21.8822 58.5418 19.0235C58.5418 15.8009 61.1483 13.9297 64.8494 13.9297C67.4038 14.0336 69.489 14.8653 70.6879 15.7489Z",
            fill: "#E0E1E6",
          }),
          s.createElement("path", {
            d: "M82.7305 17.4643V31.6542H79.0815V17.4643H73.8164V14.3457H87.9956V17.4643H82.7305Z",
            fill: "#E0E1E6",
          }),
          s.createElement("path", {
            d: "M95.6574 17.4124V21.3107H102.643V24.4293H95.6574V28.4836H103.737V31.6022H92.0083V14.3457H103.737V17.4643H95.6574V17.4124Z",
            fill: "#E0E1E6",
          }),
          s.createElement("path", {
            d: "M111.87 28.2756L110.723 31.6542H106.917L113.434 14.3457H117.083L123.755 31.6542H119.793L118.594 28.2756H111.87ZM115.258 18.4519L112.912 25.3649H117.708L115.258 18.4519Z",
            fill: "#E0E1E6",
          }),
          s.createElement("path", {
            d: "M142.47 21.0508L137.726 31.1864H135.693L131.001 21.1547V31.7062H127.509V14.3457H131.001L136.84 26.8723L142.47 14.3457H145.963V31.6542H142.47V21.0508Z",
            fill: "#E0E1E6",
          }),
          s.createElement("path", {
            d: "M153 16.5288C153 18.0361 151.905 18.9197 150.602 18.9197C149.299 18.9197 148.204 17.9841 148.204 16.5288C148.204 15.0214 149.351 14.1378 150.602 14.1378C151.853 14.0858 153 15.0214 153 16.5288ZM148.569 16.5288C148.569 17.7762 149.455 18.5559 150.55 18.5559C151.645 18.5559 152.531 17.7762 152.531 16.5288C152.531 15.2813 151.645 14.5016 150.55 14.5016C149.455 14.5016 148.569 15.2813 148.569 16.5288ZM150.602 15.2813C151.228 15.2813 151.436 15.5932 151.436 15.957C151.436 16.2689 151.228 16.4768 151.019 16.6327L151.593 17.6723H151.123L150.654 16.7367H150.133V17.6723H149.768V15.2813H150.602ZM150.185 16.3728H150.602C150.863 16.3728 151.019 16.2169 151.019 16.009C151.019 15.8011 150.915 15.6451 150.602 15.6451H150.185V16.3728Z",
            fill: "#E0E1E6",
          }),
        );
      }
      function tf(e) {
        return s.createElement(
          "svg",
          {
            viewBox: "0 0 232.73 46.07",
            xmlns: "http://www.w3.org/2000/svg",
            className: e.className,
            fill: "#E0E1E6",
          },
          s.createElement(
            "g",
            { stroke: "null", id: "svg_2" },
            s.createElement("path", {
              stroke: "null",
              id: "svg_3",
              d: "m21.73862,4.25158c-10.07896,0 -18.33997,7.77507 -19.12529,17.65445l10.28722,4.25199c0.87209,-0.59441 1.92641,-0.94585 3.05883,-0.94585c0.09979,0 0.20392,0.00434 0.30371,0.00868l4.57306,-6.62964c0,-0.03037 0,-0.06074 0,-0.09545c0,-3.99167 3.2454,-7.23707 7.23707,-7.23707c3.99167,0 7.23707,3.2454 7.23707,7.23707c0,3.99167 -3.2454,7.23707 -7.23707,7.23707c-0.0564,0 -0.10847,0 -0.16487,-0.00434l-6.52551,4.65984c0.00434,0.08678 0.00868,0.16921 0.00868,0.25599c0,2.99809 -2.43839,5.43214 -5.43214,5.43214c-2.62929,0 -4.82905,-1.87869 -5.32801,-4.36046l-7.35855,-3.04148c2.27785,8.05709 9.67979,13.96216 18.4658,13.96216c10.59961,0 19.19471,-8.5951 19.19471,-19.19471c0,-10.59527 -8.5951,-19.19037 -19.19471,-19.19037",
            }),
            s.createElement("path", {
              stroke: "null",
              id: "svg_4",
              d: "m14.64039,33.37339l-2.35595,-0.97622c0.41652,0.86775 1.1411,1.59667 2.09996,2.00017c2.07393,0.86341 4.46459,-0.12149 5.33235,-2.19542c0.41652,-1.00226 0.42086,-2.11298 0.00434,-3.11957c-0.41652,-1.00659 -1.1975,-1.79191 -2.19976,-2.21277c-0.99792,-0.41652 -2.06525,-0.39917 -3.00677,-0.04773l2.43405,1.00659c1.53159,0.6378 2.25182,2.395 1.61836,3.92659c-0.6378,1.53592 -2.395,2.25616 -3.92659,1.61836",
            }),
            s.createElement("path", {
              stroke: "null",
              id: "svg_5",
              d: "m32.89793,18.49576c0,-2.65966 -2.16505,-4.82471 -4.82471,-4.82471c-2.65966,0 -4.82471,2.16505 -4.82471,4.82471c0,2.65966 2.16505,4.82037 4.82471,4.82037c2.65966,0.00434 4.82471,-2.16071 4.82471,-4.82037m-8.4389,-0.00434c0,-2.00017 1.6227,-3.62287 3.62287,-3.62287c2.00017,0 3.62287,1.6227 3.62287,3.62287c0,2.00017 -1.6227,3.62287 -3.62287,3.62287c-2.00017,0 -3.62287,-1.6227 -3.62287,-3.62287",
            }),
          ),
          s.createElement("path", {
            stroke: "null",
            id: "svg_6",
            d: "m46.71333,8.08293c0,2.23529 -1.67014,3.62707 -3.5849,3.62707c-1.91476,0 -3.60177,-1.39178 -3.60177,-3.62707c0,-2.23529 1.68701,-3.6102 3.60177,-3.6102c1.91476,-0.00844 3.5849,1.37491 3.5849,3.6102m-6.64682,0c0,1.90632 1.39178,3.1041 3.05349,3.1041c1.66171,0 3.04505,-1.19778 3.04505,-3.1041c0,-1.91476 -1.38335,-3.09566 -3.04505,-3.09566c-1.65327,0 -3.05349,1.18934 -3.05349,3.09566m3.09566,-1.84728c0.95316,0 1.23152,0.49767 1.23152,1.01221c0,0.48923 -0.29523,0.8182 -0.64106,0.9869l0.83507,1.57736l-0.63263,0l-0.71698,-1.40865l-0.76759,0l0,1.40865l-0.52297,0l0,-3.56803l1.21465,0l0,-0.00844zm-0.69167,1.67858l0.65793,0c0.43019,0 0.70011,-0.27836 0.70011,-0.61576c0,-0.3374 -0.17714,-0.56515 -0.69167,-0.56515l-0.66637,0l0,1.18091z",
          }),
          s.createElement(
            "g",
            { id: "svg_7" },
            s.createElement("path", {
              id: "svg_8",
              d: "m77.46999,20.31667c-2.27,6.12 -7.24,10.13 -13.11,12.2c-0.54,-1.12 -1.7,-2.9 -2.65,-3.76c3.6,-1.03 6.95,-3.06 9.14,-5.63l-7.24,0l0,-3.89l10.05,0l0.79,-0.12l3.02,1.2zm-15.02,20.43c1.7,-1.57 3.39,-4.01 4.47,-6l4.22,2.11c-1.2,2.03 -2.73,4.55 -4.34,6.29l-4.35,-2.4zm8.57,-29.9l-8.23,0l0,-4.26l8.23,0l0,-2.28l5.01,0l0,2.28l10.42,0l0,-2.28l5.01,0l0,2.28l8.15,0l0,4.26l-8.15,0l0,2.15l-5.01,0l0,-2.15l-10.42,0l0,2.15l-5.01,0l0,-2.15zm-2.57,19.85l24.53,0l0,4.1l-24.53,0l0,-4.1zm28.71,-9.8c-1.86,1.45 -3.85,2.81 -5.59,3.81c2.52,1.24 5.46,2.19 8.48,2.77c-1.03,0.95 -2.4,2.9 -3.1,4.14c-5.29,-1.41 -10.05,-4.14 -13.44,-7.82l0,1.99c0,2.03 -0.33,2.94 -1.78,3.52c-1.32,0.54 -3.14,0.58 -5.46,0.58c-0.25,-1.2 -0.87,-2.69 -1.41,-3.76c1.37,0.08 2.85,0.08 3.27,0.08c0.46,-0.04 0.62,-0.12 0.62,-0.58l0,-5.83c1.41,-0.62 2.85,-1.45 4.26,-2.32l-14.23,0l0,-3.72l19.28,0l0.99,-0.25l2.98,2.52c-1.9,1.49 -4.18,3.06 -6.58,4.38c0.7,0.79 1.57,1.53 2.52,2.23c1.78,-1.28 3.97,-3.06 5.25,-4.38l3.94,2.64zm-19.11,14.89c0.7,1.99 1.24,4.63 1.28,6.29l-4.88,0.75c0.04,-1.66 -0.37,-4.34 -0.95,-6.41l4.55,-0.63zm8.65,-0.54c1.16,1.86 2.27,4.3 2.61,6l-4.51,1.41c-0.29,-1.65 -1.28,-4.22 -2.36,-6.12l4.26,-1.29zm8.39,-0.54c1.86,1.82 4.05,4.38 5.09,6.21l-4.43,2.07c-0.91,-1.78 -2.98,-4.47 -4.8,-6.37l4.14,-1.91z",
            }),
            s.createElement("path", {
              id: "svg_9",
              d: "m110.14999,23.78667c-1.57,-1.12 -4.84,-2.9 -7.16,-4.09l2.61,-3.64c2.23,0.91 5.58,2.56 7.32,3.64l-2.77,4.09zm-5.79,15.14c2.03,-3.06 4.92,-8.07 7.16,-12.74l3.72,3.19c-1.94,4.22 -4.34,8.81 -6.58,12.74l-4.3,-3.19zm8.02,-26.02c-1.49,-1.28 -4.67,-3.14 -6.95,-4.38l2.73,-3.56c2.23,1.03 5.46,2.73 7.07,3.93l-2.85,4.01zm7.62,2.15c-0.91,1.32 -1.86,2.48 -2.81,3.52c-0.91,-0.87 -2.85,-2.36 -3.93,-3.02c2.98,-2.69 5.63,-6.99 7.07,-11.34l4.72,1.28c-0.41,0.99 -0.83,2.03 -1.32,3.06l18.08,0l0,4.22l-20.31,0c-0.46,0.74 -0.91,1.45 -1.41,2.15l17.95,0l0,3.97l-18.04,0l0,-3.84zm17.33,6.17c-0.08,10.05 -0.04,17.13 1.41,17.13c0.5,0 0.66,-2.23 0.7,-5.29c0.83,1.08 1.99,2.32 2.9,3.06c-0.33,4.67 -1.12,6.83 -3.97,6.87c-4.96,-0.04 -5.63,-6.87 -5.79,-17.5l-16.59,0l0,-4.3l19.28,0l0,0.04l2.06,0l0,-0.01z",
            }),
            s.createElement("path", {
              id: "svg_10",
              d: "m182.70999,29.24667l-16.26,0l0,13.65l-5.13,0l0,-13.65l-16.09,0l0,-5.01l16.09,0l0,-12.53l-13.94,0l0,-4.88l32.93,0l0,4.88l-13.86,0l0,12.53l16.26,0l0,5.01zm-28.3,-16.21c1.37,2.65 2.85,6.12 3.31,8.44l-4.8,1.49c-0.41,-2.19 -1.7,-5.83 -3.02,-8.6l4.51,-1.33zm15.35,8.6c1.32,-2.4 2.81,-6.04 3.6,-8.73l5.25,1.32c-1.49,3.19 -3.19,6.54 -4.55,8.65l-4.3,-1.24z",
            }),
            s.createElement("path", {
              id: "svg_11",
              d: "m212.48999,8.06667c3.81,3.56 8.73,8.65 10.88,12.12l-4.18,3.02c-0.54,-0.91 -1.28,-1.99 -2.15,-3.14c-21.97,1.08 -24.9,1.16 -27.09,1.9c-0.25,-0.99 -1.03,-3.43 -1.61,-4.72c1.08,-0.29 2.07,-1.08 3.43,-2.4c1.45,-1.28 5.96,-6.29 8.77,-11.25l4.96,2.11c-2.61,3.85 -5.87,7.53 -9.02,10.55l16.96,-0.54c-1.61,-1.82 -3.27,-3.56 -4.8,-5.09l3.85,-2.56zm-21.18,16.63l27.88,0l0,18.12l-5.29,0l0,-2.07l-17.54,0l0,2.11l-5.05,0l0,-18.16zm5.04,4.72l0,6.62l17.54,0l0,-6.62l-17.54,0z",
            }),
          ),
          s.createElement(
            "g",
            { id: "svg_12" },
            s.createElement("path", {
              id: "svg_13",
              d: "m224.05999,2.64667l-1.2,0l0,-0.43l2.92,0l0,0.43l-1.21,0l0,3.52l-0.52,0l0,-3.52l0.01,0z",
            }),
            s.createElement("path", {
              id: "svg_14",
              d: "m229.54999,4.42667c-0.03,-0.55 -0.06,-1.21 -0.06,-1.71l-0.02,0c-0.13,0.46 -0.3,0.96 -0.5,1.5l-0.7,1.92l-0.39,0l-0.64,-1.88c-0.19,-0.56 -0.35,-1.07 -0.46,-1.54l-0.01,0c-0.01,0.49 -0.04,1.15 -0.08,1.75l-0.11,1.69l-0.49,0l0.28,-3.95l0.65,0l0.67,1.91c0.16,0.49 0.3,0.92 0.4,1.33l0.02,0c0.1,-0.4 0.24,-0.83 0.42,-1.33l0.7,-1.91l0.65,0l0.25,3.95l-0.5,0l-0.08,-1.73z",
            }),
          ),
        );
      }
      function rf() {
        return s.createElement(
          Kb,
          { alignItems: "center", justifyContent: "center" },
          s.createElement(Ra, null),
        );
      }
      function nf(e) {
        return s.createElement(
          Lm,
          { onEscKeypress: e.closeModal, bDisableBackgroundDismiss: !0 },
          s.createElement(af, { redirectURL: e.redirectURL }),
        );
      }
      function af(e) {
        const { redirectURL: t } = e,
          [r] = (0, s.useState)(
            new gn(w.WEBAPI_BASE_URL).GetAnonymousServiceTransport(),
          ),
          [n, i] = (0, s.useState)(!1);
        return s.createElement(
          "div",
          null,
          n
            ? s.createElement(eb, null)
            : s.createElement(tb, {
                autoFocus: !0,
                transport: r,
                platform: 2,
                onComplete: (e) => {
                  e == eg.k_PrimaryDomainFail
                    ? i(!0)
                    : window.location.assign(t);
                },
                redirectUrl: t,
                theme: "modal",
              }),
        );
      }
      var sf = r(188);
      let of = class extends s.Component {
        constructor() {
          super(...arguments),
            (this.m_elDropDownRef = s.createRef()),
            (this.m_bLoadWasCancelled = !1),
            (this.state = {
              bIsOpen: !1,
              bIsLoadingNotificationSettings: !Dh.BIsLoaded(),
            });
        }
        componentDidMount() {
          this.state.bIsLoadingNotificationSettings &&
            Dh.HintLoad()
              .catch(
                (e) => (
                  console.error(
                    "EventReminderWidget load fail: " + Ft(e).strErrorMsg,
                  ),
                  2
                ),
              )
              .then((e) => {
                1 != e ||
                  this.m_bLoadWasCancelled ||
                  this.setState({ bIsLoadingNotificationSettings: !1 });
              }),
            !this.props.eventModel.appid &&
              this.props.eventModel.clanSteamID &&
              an.LoadClanInfoForClanSteamID(this.props.eventModel.clanSteamID);
        }
        componentWillUnmount() {
          this.m_bLoadWasCancelled = !0;
        }
        ToggleMenu(e) {
          const t = Th.Get().BIsUserLoggedIn();
          t || w.IN_CLIENT
            ? (!t &&
                w.IN_CLIENT &&
                console.log(
                  "EventReminderWidget: In Client: Cannot use login widget. We expect to be already logged in.",
                ),
              this.state.bIsOpen ? this.HideMenu() : this.ShowMenu(),
              e.stopPropagation(),
              e.preventDefault())
            : Km(
                s.createElement(Xm, {
                  strTitle: We("#EventDisplay_Share_NotLoggedIn"),
                  strDescription: We(
                    "#EventDisplay_Share_NotLoggedIn_Description",
                  ),
                  strOKButtonText: We("#MobileLogin_SignIn"),
                  onOK: () => {
                    Km(
                      s.createElement(nf, {
                        ownerWin: window,
                        redirectURL: window.location.href,
                      }),
                      window,
                      { strTitle: We("#Login_SignIn") },
                    );
                  },
                }),
                window,
              );
        }
        ShowMenu() {
          if (this.m_iMenuInstance) this.m_iMenuInstance.Show();
          else {
            let e = s.createElement(
                uf,
                Object.assign({}, this.props, {
                  fnHasReminderSet: () => this.BHasSomeNotificationSetting(),
                  fnHidePanel: this.HideMenu,
                }),
              ),
              t = {
                bOverlapHorizontal: !0,
                bOverlapVertical: !0,
                bDisablePopTop: !0,
                bMatchWidth: !0,
                strClassName: xr(
                  Yh.ReminderDialog,
                  Yh.ReminderOptions,
                  Kl.contextMenu,
                ),
              };
            (this.m_iMenuInstance = p_(e, this.m_elDropDownRef.current, t)),
              this.m_iMenuInstance.SetOnHideCallback(this.HideMenu);
          }
          this.setState({ bIsOpen: !0 }),
            T_.RecordAppInteractionEvent(
              this.props.eventModel.appid,
              R_.k_eReminder_Opened,
            );
        }
        HideMenu() {
          this.m_iMenuInstance && this.m_iMenuInstance.Hide(),
            this.setState({ bIsOpen: !1 });
        }
        BHasSomeNotificationSetting() {
          const { eventModel: e } = this.props,
            t = e.GID;
          return (
            (Dh.BHasValidatedEmail() &&
              Th.Get().BFollowsEventAndNotifiedBy(
                e.clanSteamID,
                t,
                Rh.k_ENotifyFlagByEmail,
              )) ||
            (Dh.BHasPushNotification() &&
              Th.Get().BFollowsEventAndNotifiedBy(
                e.clanSteamID,
                t,
                Rh.k_ENotifyFlagByPush,
              ))
          );
        }
        render() {
          const e = this.props.bOnlyShowIcon && !this.state.bIsOpen,
            t = this.BHasSomeNotificationSetting();
          return s.createElement(
            "div",
            {
              className: xr({
                [Yh.ReminderCheckBox]: !0,
                [Uh().ReminderCtn]: !0,
                [Yh.IconMode]: e,
                [Yh.TextMode]: !e,
                ReminderSet: t,
                RemindMeWidget: !0,
              }),
              onClick: this.ToggleMenu,
              ref: this.m_elDropDownRef,
            },
            t &&
              s.createElement(
                "div",
                { className: Yh.RemindCheck },
                s.createElement(rc, null),
              ),
            e &&
              s.createElement(
                "div",
                { className: Yh.RemindBell },
                s.createElement(ic, null),
              ),
            s.createElement(
              "div",
              { className: Yh.ReminderDefault },
              We("#EventDisplay_Reminder_SetReminder"),
            ),
            s.createElement("div", { className: Yh.ReminderOptions }),
          );
        }
      };
      function lf(e) {
        const { bPreviewMode: t, eventGID: r } = e,
          n = (0, i._T)(e, ["bPreviewMode", "eventGID"]),
          a = (function (e) {
            const [t, r] = (0, s.useState)(ia.GetClanEventModel(e)),
              n = Yt("usePartnerEventByEventGID");
            return (
              (0, s.useEffect)(() => {
                (null == t ? void 0 : t.GID) != e &&
                  (ia.Init(),
                  ia
                    .LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs(
                      [e],
                      [],
                      n,
                    )
                    .then((t) => {
                      1 != (null == t ? void 0 : t.length) ||
                        t[0].GID != e ||
                        n.token.reason ||
                        r(t[0]);
                    }));
              }, [e, t, n]),
              t
            );
          })(r);
        if (!a)
          return t
            ? s.createElement(
                "div",
                { className: sf.ErrorDiv },
                We("#EventDidplay_Reminder_EventNotVisible", r),
              )
            : null;
        const o = te(w.LANGUAGE);
        return s.createElement(
          of,
          Object.assign({ lang: o }, n, { eventModel: a }),
        );
      }
      function cf(e) {
        return sn.unix(e).utc().format("YYYYMMDD[T]HHmmss[Z]");
      }
      (0, i.gn)([ye], of.prototype, "ToggleMenu", null),
        (0, i.gn)([ye], of.prototype, "ShowMenu", null),
        (0, i.gn)([ye], of.prototype, "HideMenu", null),
        (of = (0, i.gn)([W.Pi], of));
      let uf = class extends s.Component {
        constructor() {
          super(...arguments), (this.state = { bIsRequestInFlight: !1 });
        }
        OnChangeFollowOrIgnore(e, t, r) {
          return (0, i.mG)(this, void 0, void 0, function* () {
            const { eventModel: n } = this.props,
              i = null == n ? void 0 : n.GID;
            if (i && "18446744073709551615" != i) {
              this.setState({ bIsRequestInFlight: !0 });
              try {
                yield Th.Get().SetFollowOrUnfollowEvent(
                  !e,
                  t,
                  n.clanSteamID,
                  i,
                  r,
                ),
                  e &&
                    (r === Rh.k_ENotifyFlagByEmail
                      ? this.TrackEventAction(R_.k_eReminder_Email)
                      : r === Rh.k_ENotifyFlagByPush &&
                        this.TrackEventAction(R_.k_eReminder_MobilePush));
              } catch (e) {
                $m(
                  s.createElement(
                    Zm,
                    {
                      strTitle: We(
                        t
                          ? "#EventDisplay_Reminder_IgnoreEvent_Error"
                          : "#EventDisplay_Reminder_FollowEvent_Error",
                      ),
                      strDescription: We(
                        t
                          ? "#EventDisplay_Reminder_IgnoreEvent_ErrorDesc"
                          : "#EventDisplay_Reminder_FollowEvent_ErrorDesc",
                      ),
                    },
                    Ft(e).strErrorMsg,
                  ),
                  window,
                );
              }
              this.setState({ bIsRequestInFlight: !1 });
            }
          });
        }
        OnChangeFollowByEmail(e) {
          this.OnChangeFollowOrIgnore(e, !1, Rh.k_ENotifyFlagByEmail);
        }
        OnChangeFollowByPush(e) {
          this.OnChangeFollowOrIgnore(e, !1, Rh.k_ENotifyFlagByPush);
        }
        GetExternalCalendarEventTitle() {
          const { eventModel: e, lang: t } = this.props,
            r = e.GetNameWithFallback(t);
          if (b_.BHasEntityNameForID(e.appid, e.clanSteamID.GetAccountID())) {
            return `${b_.GetEntityNameForID(e.appid, e.clanSteamID.GetAccountID())}: ${r}`;
          }
          return r;
        }
        TrackEventAction(e) {
          const { eventModel: t } = this.props;
          T_.RecordAppInteractionEvent(t.appid, e);
        }
        GetExternalCalendarEventBody() {
          const { eventModel: e, lang: t } = this.props;
          let r = e.GetSubTitleWithLanguageFallback(t);
          r = r ? `${r}\n\n\n` : "";
          const n = e.GetSummaryWithFallback(t),
            i = (function (e, t, r) {
              return $h(
                e,
                t,
                "forceAbsolute" !== r && qh(t, e) ? "relative" : "absolute",
              );
            })(
              e,
              e.jsondata.bSaleEnabled ? jh.k_eStoreSalePage : jh.k_eStoreView,
              "forceAbsolute",
            );
          return `${r}${n}\n\n${i}`;
        }
        GetGoogleCalendarLink() {
          const { eventModel: e } = this.props,
            t = encodeURIComponent(this.GetExternalCalendarEventTitle()),
            r = encodeURIComponent(this.GetExternalCalendarEventBody()),
            n = e.GetStartTimeAndDateUnixSeconds(),
            i = cf(n),
            a = cf(e.GetEndTimeAndDateUnixSeconds() || n + Te.PerHour);
          return (function (e) {
            return w.SNR &&
              w.SNR.length > 0 &&
              e &&
              -1 == e.toLocaleLowerCase().indexOf("snr=")
              ? e + (e.indexOf("?") >= 0 ? "&" : "?") + "snr=" + w.SNR
              : e;
          })(
            (w.IN_CLIENT ? "steam://openurl_external/" : "") +
              `https://calendar.google.com/calendar/r/eventedit?text=${t}&details=${r}&dates=${i}/${a}`,
          );
        }
        GetICSDownloadLink(e) {
          const { eventModel: t, lang: r } = this.props,
            n = t.appid
              ? "app/" + t.appid
              : "group/" + t.clanSteamID.GetAccountID(),
            i = "l=" + ee(r);
          return `${w.STORE_BASE_URL}news/download/${n}/${e}/${t.GID}?${i}`;
        }
        render() {
          const {
              eventModel: e,
              bShowStartTime: t,
              bExpandLeft: r,
              bOnlyShowIcon: n,
              fnHasReminderSet: i,
              fnHidePanel: a,
            } = this.props,
            o = Dh.BHasValidatedEmail(),
            l = Dh.BHasPushNotification(),
            c = t && e.GetStartTimeAndDateUnixSeconds();
          return s.createElement(
            "div",
            null,
            s.createElement(
              "div",
              {
                className: xr(
                  Yh.ReminderCheckBox,
                  n ? Yh.IconMode : Yh.TextMode,
                  "RemindMeWidget",
                ),
                onClick: a,
              },
              i() &&
                s.createElement(
                  "div",
                  { className: Yh.RemindCheck },
                  s.createElement(rc, null),
                ),
              n &&
                s.createElement(
                  "div",
                  { className: Yh.RemindBell },
                  s.createElement(ic, null),
                ),
              s.createElement(
                "div",
                { className: Yh.ReminderDefault },
                We("#EventDisplay_Reminder_SetReminder"),
              ),
              s.createElement("div", { className: Yh.ReminderOpennedOptions }),
            ),
            s.createElement(
              "div",
              {
                className: xr(
                  Yh.FlexColumnContainer,
                  Yh.ReminderBackground,
                  r && Yh.ReminderExpandsLeft,
                ),
              },
              this.state.bIsRequestInFlight &&
                s.createElement(Ra, {
                  className: Yh.RpcThrobber,
                  size: "xlarge",
                  position: "center",
                }),
              c &&
                s.createElement(
                  "div",
                  { className: Yh.FullStartTime },
                  je(
                    "#EventDisplay_EventUpcoming_WithDateAndTime",
                    Le(
                      c,
                      De(new Date(1e3 * c), cn.GetTimeNowWithOverrideAsDate()),
                    ),
                    Lh(c, !0),
                  ),
                ),
              s.createElement(
                "div",
                { className: Yh.ReminderOptionsHeader },
                We("#EventDisplay_Reminder_GetNotification_Via"),
              ),
              s.createElement(
                "div",
                { className: xr(Yh.ReminderOption, !o && Yh.Unverified) },
                s.createElement(
                  eu,
                  {
                    className: Yh.CheckboxWrapper,
                    bTopmost: !0,
                    toolTipContent: We(
                      o
                        ? "#EventReminder_NotifyByEmail_ttip"
                        : "#EventReminder_NotifyByEmail_Missing",
                    ),
                  },
                  s.createElement(Nc, {
                    label: We("#EventDisplay_Reminder_ViaEmail"),
                    disabled: !o,
                    checked: Th.Get().BFollowsEventAndNotifiedBy(
                      e.clanSteamID,
                      e.GID,
                      Rh.k_ENotifyFlagByEmail,
                    ),
                    onChange: this.OnChangeFollowByEmail,
                  }),
                ),
                !o &&
                  s.createElement(
                    "div",
                    { className: Qh.FlexColumnContainer },
                    s.createElement(
                      "a",
                      {
                        href: w.STORE_BASE_URL + "account/",
                        target: w.IN_CLIENT ? void 0 : "_blank",
                        onClick: () =>
                          this.TrackEventAction(R_.k_eReminder_EmailUnverified),
                      },
                      We("#EventReminder_NotifyByEmail_Missing_Add"),
                    ),
                  ),
              ),
              s.createElement(
                "div",
                { className: xr(Yh.ReminderOption, !l && Yh.Unverified) },
                s.createElement(
                  eu,
                  {
                    className: Yh.CheckboxWrapper,
                    bTopmost: !0,
                    toolTipContent: We(
                      l
                        ? "#EventReminder_NotifyByMobile_ttip"
                        : "#EventReminder_NotifyByMobile_Missing",
                    ),
                  },
                  s.createElement(Nc, {
                    label: We("#EventDisplay_Reminder_ViaMobileApp"),
                    disabled: !l,
                    checked: Th.Get().BFollowsEventAndNotifiedBy(
                      e.clanSteamID,
                      e.GID,
                      Rh.k_ENotifyFlagByPush,
                    ),
                    onChange: this.OnChangeFollowByPush,
                  }),
                ),
                !l &&
                  s.createElement(
                    "div",
                    { className: Qh.FlexColumnContainer },
                    s.createElement(
                      "a",
                      {
                        href: w.STORE_BASE_URL + "mobile/?show=steamapp",
                        target: w.IN_CLIENT ? void 0 : "_blank",
                        onClick: () =>
                          this.TrackEventAction(
                            R_.k_eReminder_MobilePushMissing,
                          ),
                      },
                      We("#EventReminder_NotifyByMobile_Install"),
                    ),
                  ),
              ),
              s.createElement(
                s.Fragment,
                null,
                s.createElement(
                  "div",
                  { className: Yh.ReminderOptionsHeader },
                  We("#EventDisplay_Reminder_AddToCalendar"),
                ),
                s.createElement(
                  "div",
                  { className: Yh.ReminderCalendarOptions },
                  s.createElement(
                    "a",
                    {
                      className: Yh.ReminderOption,
                      href: this.GetICSDownloadLink("ics"),
                      onClick: () =>
                        this.TrackEventAction(R_.k_eReminder_CalendarApple),
                    },
                    We("#EventDisplay_Reminder_AppleCalendar_Short"),
                  ),
                  s.createElement(
                    "a",
                    {
                      className: Yh.ReminderOption,
                      target: w.IN_CLIENT ? void 0 : "_blank",
                      href: this.GetGoogleCalendarLink(),
                      onClick: () =>
                        this.TrackEventAction(R_.k_eReminder_CalendarGoogle),
                    },
                    We("#EventDisplay_Reminder_GoogleCalendar_Short"),
                  ),
                  s.createElement(
                    "a",
                    {
                      className: Yh.ReminderOption,
                      href: this.GetICSDownloadLink("outlook"),
                      onClick: () =>
                        this.TrackEventAction(R_.k_eReminder_CalendarOutlook),
                    },
                    We("#EventDisplay_Reminder_OutlookCalendar_Short"),
                  ),
                ),
              ),
              !1,
            ),
          );
        }
      };
      (0, i.gn)([ye], uf.prototype, "OnChangeFollowByEmail", null),
        (0, i.gn)([ye], uf.prototype, "OnChangeFollowByPush", null),
        (0, i.gn)([ye], uf.prototype, "TrackEventAction", null),
        (uf = (0, i.gn)([W.Pi], uf));
      class df {
        constructor() {
          (this.m_bUserHasVolumePreference = !1),
            (this.m_flVolumePreference = 0);
        }
        BUserHasVolumePreference() {
          return this.m_bUserHasVolumePreference;
        }
        SetVolumePreference(e) {
          (this.m_flVolumePreference = e),
            (this.m_bUserHasVolumePreference = !0);
        }
        GetVolumePreference() {
          return this.m_flVolumePreference;
        }
        BVolumePreferenceMuted() {
          return this.m_flVolumePreference < 0.001;
        }
        static Get() {
          return df.s_Singleton || (df.s_Singleton = new df()), df.s_Singleton;
        }
      }
      (0, i.gn)([ye], df.prototype, "BUserHasVolumePreference", null),
        (0, i.gn)([ye], df.prototype, "SetVolumePreference", null);
      const mf = (e) => {
        const { video: t, bAutoPlay: r, bControls: i, bLoop: a, bMuted: o } = e,
          l = (0, s.useMemo)(() => {
            var e;
            return Boolean(
              null === (e = t.rgVideoTracks) || void 0 === e
                ? void 0
                : e.some(
                    (e) => "subtitles" == e.sKind || "captions" == e.sKind,
                  ),
            );
          }, [t.rgVideoTracks]),
          [c, u] = s.useState(!1);
        if (!t.rgVideoSources || !t.rgVideoSources.length) return null;
        const d = (e) => {
            const t = new URL(e);
            return (
              (t.search = (t.search ? t.search + "&" : "?") + "origin=" + F()),
              t.toString()
            );
          },
          m = t.rgVideoSources
            .filter((e) => Boolean(e.sURL))
            .map((e) =>
              s.createElement("source", {
                key: e.sURL,
                src: d(e.sURL),
                type: e.sFormat,
              }),
            ),
          _ = t.rgVideoTracks
            ? t.rgVideoTracks.map((e) => {
                let r = e.eLanguage;
                if (D())
                  if (ze.IsELanguageValidInRealm(r, n.k_ESteamRealmChina))
                    r = ze.GetELanguageFallback(r);
                  else {
                    if (6 !== r) return null;
                    if (
                      t.rgVideoTracks.find(
                        (e) => ze.GetELanguageFallback(e.eLanguage) === r,
                      )
                    )
                      return null;
                  }
                else if (!ze.IsELanguageValidInRealm(r, n.k_ESteamRealmGlobal))
                  return null;
                return s.createElement("track", {
                  key: e.sURL + r,
                  src: d(e.sURL),
                  kind: e.sKind,
                  default: e.bDefault,
                  srcLang: Z(r),
                  label: We("#language_selection_" + ee(r)),
                });
              })
            : null,
          h = (function (e) {
            return !(
              !Nl(e.sPoster) ||
              (e.rgVideoSources && e.rgVideoSources.some((e) => !Nl(e.sURL))) ||
              (e.rgVideoTracks && e.rgVideoTracks.some((e) => !Nl(e.sURL)))
            );
          })(t);
        let p;
        (!h || (l && "public" == w.WEB_UNIVERSE)) && (p = "anonymous");
        const g = o || (r && df.Get().BVolumePreferenceMuted()),
          b = t.sPoster ? d(t.sPoster) : "";
        return s.createElement(
          "video",
          {
            width: "100%",
            height: "auto",
            autoPlay: r,
            muted: g,
            playsInline: !0,
            controls: i,
            poster: b,
            loop: a,
            crossOrigin: p,
            onVolumeChange: (e) => {
              const t = e.target,
                r = t.muted ? 0 : t.volume;
              c && df.Get().SetVolumePreference(r);
            },
            onPlay: (e) => {
              const t = e.target,
                n = 0 == t.currentTime,
                i = df.Get().BUserHasVolumePreference();
              if ((u(!0), n))
                if (i || r)
                  i &&
                    ((t.volume = df.Get().GetVolumePreference()),
                    (t.muted = df.Get().BVolumePreferenceMuted()));
                else {
                  const e = t.muted ? 0 : t.volume;
                  df.Get().SetVolumePreference(e);
                }
            },
          },
          m,
          _,
        );
      };
      var _f = r(4915),
        hf = r.n(_f);
      const pf = new Map([
          [
            "b",
            {
              Constructor: function (e) {
                return s.createElement(
                  "div",
                  { className: hf().Bold },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "i",
            {
              Constructor: function (e) {
                return s.createElement(
                  "div",
                  { className: xr(hf().Italic, "BB_Italic") },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "h1",
            {
              Constructor: function (e) {
                return ff(e, xr(hf().Header1, "BB_Header1"));
              },
              autocloses: !1,
              skipFollowingNewline: !0,
            },
          ],
          [
            "h2",
            {
              Constructor: function (e) {
                return ff(e, xr(hf().Header2, "BB_Header2"));
              },
              autocloses: !1,
              skipFollowingNewline: !0,
            },
          ],
          [
            "h3",
            {
              Constructor: function (e) {
                return ff(e, xr(hf().Header3, "BB_Header3"));
              },
              autocloses: !1,
              skipFollowingNewline: !0,
            },
          ],
          [
            "h4",
            {
              Constructor: function (e) {
                return ff(e, xr(hf().Header4, "BB_Header4"));
              },
              autocloses: !1,
              skipFollowingNewline: !0,
            },
          ],
          [
            "h5",
            {
              Constructor: function (e) {
                return ff(e, xr(hf().Header5, "BB_Header5"));
              },
              autocloses: !1,
              skipFollowingNewline: !0,
            },
          ],
          [
            "center",
            {
              Constructor: function (e) {
                let t = bf(e.args, "id");
                t &&
                  "string" == typeof t &&
                  t.length > 0 &&
                  "#" === t[0] &&
                  (t = t.substring(1));
                return s.createElement(
                  "span",
                  {
                    id: t || void 0,
                    className: xr(hf().CenterSpan, "BB_Center"),
                  },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "smalltext",
            {
              Constructor: function (e) {
                return ff(e, xr(hf().SmallText, "BB_SmallText"));
              },
              autocloses: !1,
              skipFollowingNewline: !0,
            },
          ],
          [
            "u",
            {
              Constructor: function (e) {
                return s.createElement(
                  "div",
                  { className: hf().Underline },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "strike",
            {
              Constructor: function (e) {
                return s.createElement(
                  "div",
                  { className: hf().Strike },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "spoiler",
            {
              Constructor: function (e) {
                let [t, r] = s.useState(!1),
                  n = s.useCallback(() => {
                    r(!t);
                  }, [t]);
                return s.createElement(
                  Ol,
                  {
                    className: xr(hf().Spoiler, t && hf().Revealed),
                    focusable: !0,
                    onActivate: n,
                    onOKActionDescription: We(
                      t ? "#Bbcode_Spoiler_Hide" : "#Bbcode_Spoiler_Show",
                    ),
                  },
                  s.createElement(
                    "span",
                    { className: hf().SpoilerText },
                    e.children,
                  ),
                );
              },
              autocloses: !1,
            },
          ],
          [
            "hr",
            {
              Constructor: function (e) {
                return s.createElement("div", { className: hf().HR });
              },
              autocloses: !1,
            },
          ],
          [
            "noparse",
            {
              Constructor: function (e) {
                return e.children;
              },
              autocloses: !1,
            },
          ],
          [
            "url",
            {
              Constructor: function (e) {
                let t = bf(e.args);
                if (!t) {
                  const r = e.children;
                  "string" == typeof r &&
                    (r.startsWith("http://") || r.startsWith("https://")) &&
                    (t = r);
                }
                const r =
                  "button" == bf(e.args, "style") ? hf().LinkButton : null;
                let n = bf(e.args, "id");
                n &&
                  "string" == typeof n &&
                  n.length > 0 &&
                  "#" === n[0] &&
                  (n = n.substring(1));
                if (void 0 === t && !n) return e.children || "";
                if (
                  void 0 === t ||
                  ("string" == typeof t && t.length > 0 && "#" == t[0])
                )
                  return s.createElement(
                    "a",
                    { href: null != t ? t : null, id: n },
                    e.children,
                  );
                return s.createElement(
                  vf,
                  { className: r, href: t, id: n },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "quote",
            {
              Constructor: function (e) {
                const t = bf(e.args, "author");
                return s.createElement(
                  "blockquote",
                  { className: xr(hf().BlockQuote, e.className) },
                  !!t &&
                    s.createElement(
                      "div",
                      { className: hf().QuoteAuthor },
                      We("#Bbcode_Originally_Posted_By") + " ",
                      " ",
                      s.createElement("b", null, t + ":"),
                    ),
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "pullquote",
            {
              Constructor: function (e) {
                return s.createElement(
                  "div",
                  { className: hf().PullQuote },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "code",
            {
              Constructor: function (e) {
                return s.createElement(
                  "div",
                  { className: hf().CodeBlock },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "c",
            {
              Constructor: function (e) {
                return s.createElement(
                  "code",
                  { className: hf().Code },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "list",
            {
              Constructor: function (e) {
                return s.createElement(
                  "ul",
                  { className: hf().List },
                  e.children,
                );
              },
              autocloses: !1,
              skipInternalNewline: !0,
            },
          ],
          [
            "olist",
            {
              Constructor: function (e) {
                return s.createElement(
                  "ol",
                  { className: hf().OrderedList },
                  e.children,
                );
              },
              autocloses: !1,
              skipInternalNewline: !0,
            },
          ],
          [
            "*",
            {
              Constructor: function (e) {
                let t = bf(e.args, "id");
                t &&
                  "string" == typeof t &&
                  t.length > 0 &&
                  "#" === t[0] &&
                  (t = t.substring(1));
                return s.createElement(
                  "li",
                  { className: hf().ListItem, id: t || void 0 },
                  e.children,
                );
              },
              autocloses: !0,
              skipInternalNewline: !0,
            },
          ],
          [
            "table",
            {
              Constructor: function (e) {
                const t = bf(e.args, "noborder"),
                  r = bf(e.args, "equalcells");
                return s.createElement(
                  "div",
                  {
                    className: xr(
                      hf().Table,
                      "BB_Table",
                      t && hf().NoBorder,
                      r && hf().EqualCells,
                    ),
                  },
                  e.children,
                );
              },
              autocloses: !1,
              skipInternalNewline: !0,
            },
          ],
          [
            "tr",
            {
              Constructor: function (e) {
                return s.createElement(
                  "div",
                  { className: xr(hf().TableRow, "BB_TableRow") },
                  e.children,
                );
              },
              autocloses: !1,
              skipInternalNewline: !0,
              skipFollowingNewline: !0,
            },
          ],
          [
            "th",
            {
              Constructor: function (e) {
                return s.createElement(
                  "div",
                  { className: hf().TableHeader },
                  e.children,
                );
              },
              autocloses: !1,
              skipInternalNewline: !0,
              skipFollowingNewline: !0,
            },
          ],
          [
            "td",
            {
              Constructor: function (e) {
                const t = bf(e.args, "width");
                return s.createElement(
                  "div",
                  {
                    className: xr(hf().TableData, "BB_TableData"),
                    style: t && { width: t },
                  },
                  e.children,
                );
              },
              autocloses: !1,
              skipInternalNewline: !0,
              skipFollowingNewline: !0,
            },
          ],
          [
            "expand",
            {
              Constructor: function (e) {
                const t = Boolean(bf(e.args, "expanded")),
                  [r, n] = s.useState(t),
                  i = (function (e, t) {
                    switch (e) {
                      case "details":
                        return {
                          collapsed: "#Bbcode_Expand_Details_Collapsed",
                          expanded: "#Bbcode_Expand_Details_Expanded",
                          style: hf().ExpandSection_Details,
                        };
                      case "spoiler":
                        return {
                          collapsed: "#Bbcode_Expand_Spoiler_Collapsed",
                          expanded: "#Bbcode_Expand_Spoiler_Expanded",
                          style: hf().ExpandSection_Spoiler,
                        };
                      case "title":
                        return {
                          collapsed: t || "#Bbcode_Expand_ShowMore_Collapsed",
                          expanded: t || "#Bbcode_Expand_ShowMore_Expanded",
                          style: hf().ExpandSection_WithTitle,
                        };
                      default:
                        return {
                          collapsed: "#Bbcode_Expand_ShowMore_Collapsed",
                          expanded: "#Bbcode_Expand_ShowMore_Expanded",
                          style: hf().ExpandSection_ShowMore,
                        };
                    }
                  })(bf(e.args, "type"), bf(e.args, "title"));
                return s.createElement(
                  "div",
                  {
                    className: xr(
                      hf().ExpandSectionBlock,
                      i.style,
                      r
                        ? hf().ExpandSectionExpanded
                        : hf().ExpandSectionCollapsed,
                    ),
                  },
                  s.createElement(
                    "div",
                    {
                      className: hf().ExpandSectionHeader,
                      onClick: () => n(!r),
                    },
                    We(r ? i.expanded : i.collapsed),
                    s.createElement(
                      "div",
                      { className: hf().EmbedArrow },
                      s.createElement(ec, { angle: r ? 180 : 0 }),
                    ),
                  ),
                  r &&
                    s.createElement(
                      "div",
                      { className: hf().ExpandSectionBody },
                      e.children,
                    ),
                );
              },
              autocloses: !1,
              skipInternalNewline: !0,
              allowWrapTextForCopying: !0,
            },
          ],
          [
            "remindme",
            {
              Constructor: function (e) {
                const { event: t, showErrorInfo: r } = e.context,
                  n = bf(e.args);
                if (n)
                  return s.createElement(lf, { eventGID: n, bPreviewMode: r });
                if (t) {
                  const e = te(w.LANGUAGE);
                  return s.createElement(of, { eventModel: t, lang: e });
                }
                return null;
              },
              autocloses: !1,
            },
          ],
          [
            "doclink",
            {
              Constructor: function (e) {
                const t = bf(e.args),
                  r = "button" == bf(e.args, "style") ? hf().LinkButton : null;
                return s.createElement(
                  vf,
                  { className: r, href: `${w.PARTNER_BASE_URL}doc/${t}` },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
          [
            "color",
            {
              Constructor: function (e) {
                const t = bf(e.args);
                return s.createElement(
                  "span",
                  { style: { color: t } },
                  e.children,
                );
              },
              autocloses: !1,
            },
          ],
        ]),
        gf = new Map([
          [
            "looping_media",
            {
              Constructor: function (e) {
                const t = yf(e);
                return s.createElement(mf, {
                  video: t,
                  bAutoPlay: !0,
                  bControls: !1,
                  bLoop: !0,
                });
              },
              autocloses: !1,
            },
          ],
          ["video", { Constructor: Sf, autocloses: !1 }],
          [
            "youtubeorvideo",
            {
              Constructor: function (e) {
                if (D() || "CN" == w.COUNTRY.toLocaleUpperCase()) return Sf(e);
                const t = bf(e.args, "youtubeid"),
                  r = bf(e.args, "size"),
                  n = bf(e.args, "seconds");
                let i = "full" == r ? Wl.sizeFull : Wl.sizeThumb,
                  a =
                    "full" == r
                      ? ""
                      : "leftthumb" == r
                        ? Wl.floatLeft
                        : Wl.floatRight;
                return s.createElement(Vl, {
                  videoID: t,
                  nStartSeconds: n ? Number.parseInt(n) : void 0,
                  classNameAlign: a,
                  classNameSize: i,
                  bShowVideoImmediately: !0,
                });
              },
              autocloses: !1,
            },
          ],
          [
            "previewyoutube",
            {
              Constructor: function (e) {
                if (D()) return null;
                let t = bf(e.args);
                if (t) {
                  let e = t.split(";");
                  if (2 == e.length) {
                    let t = e[0],
                      r = e[1].toLocaleLowerCase(),
                      n = "full" == r ? Wl.sizeFull : Wl.sizeThumb,
                      i =
                        "full" == r
                          ? ""
                          : "leftthumb" == r
                            ? Wl.floatLeft
                            : Wl.floatRight;
                    return s.createElement(Vl, {
                      videoID: t,
                      classNameAlign: i,
                      classNameSize: n,
                      bShowVideoImmediately: !0,
                    });
                  }
                }
                return s.createElement(s.Fragment, null);
              },
              autocloses: !1,
            },
          ],
        ]);
      function bf(e, t) {
        return void 0 === t ? e[""] : e[t];
      }
      function ff(e, t) {
        let r = bf(e.args, "id");
        return (
          r &&
            "string" == typeof r &&
            r.length > 0 &&
            "#" === r[0] &&
            (r = r.substring(1)),
          s.createElement(
            "div",
            { id: r || void 0, className: xr(t, e.className) },
            e.children,
          )
        );
      }
      const vf = (e) => {
        const { href: t } = e,
          r = (0, i._T)(e, ["href"]);
        let n,
          a = Gl(t, Wh());
        var o;
        !(function (e, t) {
          if (e.startsWith("steam://")) return !1;
          if (e.startsWith("/")) return !1;
          const r = gc(e).toLowerCase(),
            n = gc(w.COMMUNITY_BASE_URL).toLowerCase(),
            i = gc(w.STORE_BASE_URL).toLowerCase(),
            a = gc(w.HELP_BASE_URL).toLowerCase(),
            s = gc(w.PARTNER_BASE_URL || "").toLowerCase();
          return (
            r !== n &&
            r !== i &&
            r !== a &&
            "support.steampowered.com" !== r &&
            r !== s &&
            "www.dota2.com" !== r &&
            (!t || 0 == t.filter((e) => r == e).length)
          );
        })(a)
          ? (a = (function (e) {
              return (
                w.IN_STEAMUI &&
                  !e.startsWith("steam://") &&
                  (e = `steam://openurl/${e}`),
                e
              );
            })(a))
          : ((a =
              (w.IN_CLIENT ? "steam://openurl_external/" : "") +
              ((o = a),
              w.COMMUNITY_BASE_URL + "linkfilter/?u=" + encodeURIComponent(o))),
            (n = "noopener nofollow"));
        const l =
          "string" == typeof e.children &&
          e.children.length > 0 &&
          t &&
          !t.startsWith("steam://")
            ? (function (e) {
                let t = Fl(e);
                return t.startsWith("www.") && (t = t.slice(4)), t;
              })(t)
            : void 0;
        return s.createElement(
          Ml,
          Object.assign({}, r, { href: a, rel: n }),
          s.createElement("span", { "data-tooltip-text": l }, e.children),
        );
      };
      function yf(e) {
        let t = bf(e.args, "poster");
        t && (t = kl(t));
        const r = new Array();
        {
          const t = bf(e.args, "mp4");
          t && r.push({ sURL: kl(t), sFormat: "video/mp4" });
          const n = bf(e.args, "webm");
          n && r.push({ sURL: kl(n), sFormat: "video/webm" });
        }
        const n = te(w.LANGUAGE),
          i = 0 != n,
          a = new Array();
        for (let t = 0; t < 31; t++) {
          const r = bf(e.args, "sub_" + Z(t));
          r &&
            a.push({
              sURL: kl(r),
              eLanguage: t,
              sKind: "subtitles",
              bDefault: i && t == n,
            });
          const s = bf(e.args, "cap_" + Z(t));
          s &&
            a.push({
              sURL: kl(s),
              eLanguage: t,
              sKind: "captions",
              bDefault: i && t == n,
            });
        }
        return { sPoster: t, rgVideoSources: r, rgVideoTracks: a };
      }
      function Sf(e) {
        const t = yf(e),
          r = e.children ? e.children.toString() : void 0;
        r &&
          r.startsWith("http") &&
          t.rgVideoSources.push({ sURL: kl(r), sFormat: "video/webm" });
        const n = bf(e.args, "autoplay"),
          i = "0" !== n && "off" !== n && "false" !== n,
          a = bf(e.args, "controls"),
          o = "0" !== a && "off" !== a && "false" !== a;
        return s.createElement(mf, {
          video: t,
          bAutoPlay: i,
          bControls: o,
          bLoop: i,
        });
      }
      const wf = 940;
      function Cf(e = wf) {
        return (
          (function () {
            const [e, t] = (0, s.useState)(window.innerWidth);
            return (
              (0, s.useEffect)(() => {
                const e = () => {
                  t(window.innerWidth);
                };
                return (
                  window.addEventListener("resize", e),
                  () => window.removeEventListener("resize", e)
                );
              }, []),
              e
            );
          })() >= e
        );
      }
      var Bf = r(8752);
      const Ef =
        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUQ5NEMwOTYzRDc4MTFFQUExREZEODRBMDBCNjdENTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUQ5NEMwOTczRDc4MTFFQUExREZEODRBMDBCNjdENTEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBRDk0QzA5NDNENzgxMUVBQTFERkQ4NEEwMEI2N0Q1MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBRDk0QzA5NTNENzgxMUVBQTFERkQ4NEEwMEI2N0Q1MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po/TXacAAABMSURBVHjaYvz//z8DNQHjyDMQDICGJgDx3f/kA5DeBJhh8f+pB+JBXr4DNFeZSp69CzLwP7UjZdTAkWAgVdMh1XMK1fPyCCwPAQIMAKf/Y+3dveJlAAAAAElFTkSuQmCC";
      var If = r(6832);
      class Rf extends s.Component {
        constructor() {
          super(...arguments),
            (this.m_observer = null),
            (this.m_refElement = s.createRef()),
            (this.m_elTracked = null),
            (this.m_bPreviouslyIntersecting = !1);
        }
        static GetScrollableClassname() {
          return "vt-scrollable";
        }
        BTriggerOnce() {
          return "once" == (this.props.trigger || "once");
        }
        GetBoundingClientRect() {
          return this.m_refElement.current
            ? this.m_refElement.current.getBoundingClientRect()
            : null;
        }
        DestroyObserver() {
          this.m_observer &&
            (this.m_observer.disconnect(),
            (this.m_observer = null),
            (this.m_elTracked = null));
        }
        componentWillUnmount() {
          this.DestroyObserver();
        }
        componentDidMount() {
          this.UpdateObserver(null);
        }
        componentDidUpdate(e) {
          this.UpdateObserver(e);
        }
        UpdateObserver(e) {
          if (this.m_bPreviouslyIntersecting && this.BTriggerOnce()) return;
          this.m_observer &&
            e &&
            (e.rootMargin != this.m_observer.rootMargin ||
              e.thresholds != this.m_observer.thresholds) &&
            this.DestroyObserver();
          let t = this.m_refElement.current;
          if (
            (this.m_observer &&
              t != this.m_elTracked &&
              (this.m_observer.unobserve(this.m_elTracked),
              (this.m_elTracked = null)),
            !this.m_observer && t)
          ) {
            let e = { root: this.FindScrollableAncestor(t) };
            this.props.rootMargin && (e.rootMargin = this.props.rootMargin),
              this.props.thresholds && (e.threshold = this.props.thresholds),
              (this.m_observer = (function (e, ...t) {
                const r = new e.ownerDocument.defaultView.IntersectionObserver(
                  ...t,
                );
                return r.observe(e), r;
              })(t, this.OnIntersection, e));
          }
          this.m_observer &&
            t &&
            t != this.m_elTracked &&
            (this.m_observer.observe(t), (this.m_elTracked = t));
        }
        FindScrollableAncestor(e) {
          return (function (e, t) {
            let r = e;
            for (; r; ) {
              if (t(r)) return r;
              r = r.parentElement;
            }
          })(e, (e) => {
            const t = this.props.bHorizontal
              ? window.getComputedStyle(e).overflowX
              : window.getComputedStyle(e).overflowY;
            return (
              "scroll" == t ||
              "auto" == t ||
              !!e.classList.contains(Rf.GetScrollableClassname())
            );
          });
        }
        OnIntersection(e, t) {
          let r = !1;
          for (const t of e)
            if (t.isIntersecting) {
              r = !0;
              break;
            }
          this.m_bPreviouslyIntersecting != r &&
            ((this.m_bPreviouslyIntersecting = r),
            this.props.onVisibilityChange && this.props.onVisibilityChange(r),
            r && this.BTriggerOnce() && this.DestroyObserver());
        }
        render() {
          let e = this.props,
            {
              onVisibilityChange: t,
              rootMargin: r,
              trigger: n,
              bHorizontal: a,
            } = e,
            o = (0, i._T)(e, [
              "onVisibilityChange",
              "rootMargin",
              "trigger",
              "bHorizontal",
            ]);
          return s.createElement(
            "div",
            Object.assign({ ref: this.m_refElement }, o),
            this.props.children,
          );
        }
      }
      (0, i.gn)([ye], Rf.prototype, "OnIntersection", null);
      class Tf extends s.Component {
        constructor() {
          super(...arguments),
            (this.state = {
              bRenderChildren: !1,
              nPrevRenderWidth: 0,
              nPrevRenderHeight: 0,
            }),
            (this.m_refContainer = s.createRef());
        }
        BLoadAndUnload() {
          return "LoadAndUnload" == (this.props.mode || "JustLoad");
        }
        OnVisibilityChange(e) {
          let t = this.state.bRenderChildren;
          if (t == e) return;
          if (t && !this.BLoadAndUnload()) return;
          let r = 0,
            n = 0;
          if (this.m_refContainer.current) {
            const e = this.m_refContainer.current.GetBoundingClientRect();
            e && ((r = e.width), (n = e.height));
          }
          this.setState({
            bRenderChildren: e,
            nPrevRenderWidth: r,
            nPrevRenderHeight: n,
          }),
            e && this.props.onRender && this.props.onRender();
        }
        render() {
          const e = this.props,
            {
              placeholderWidth: t,
              placeholderHeight: r,
              onRender: n,
              style: a,
              mode: o,
            } = e,
            l = (0, i._T)(e, [
              "placeholderWidth",
              "placeholderHeight",
              "onRender",
              "style",
              "mode",
            ]),
            c = this.state.bRenderChildren;
          let u = a;
          if (!c) {
            const e = this.state.nPrevRenderWidth || t,
              n = this.state.nPrevRenderHeight || r;
            (void 0 === n && void 0 === e) ||
              (u = Object.assign(Object.assign({}, a), {
                minHeight: n,
                minWidth: e,
              }));
          }
          const d = this.BLoadAndUnload() ? "repeated" : "once";
          return s.createElement(
            Rf,
            Object.assign({ ref: this.m_refContainer, style: u }, l, {
              onVisibilityChange: this.OnVisibilityChange,
              trigger: d,
            }),
            c && this.props.children,
          );
        }
      }
      (0, i.gn)([ye], Tf.prototype, "OnVisibilityChange", null);
      var Mf = r(1019);
      function Df(e) {
        const { padded: t, gap: r, children: n } = e;
        return s.createElement(
          "div",
          {
            style: { gap: r ? r + "px" : "unset" },
            className: xr({
              [Mf.ScrollSnapCarousel]: !0,
              ScrollSnapCarousel: !0,
              SaleSectionCarousel: !0,
              SaleSectionCarouselPadding: t,
              [e.className]: !0,
            }),
          },
          n,
        );
      }
      class Af extends s.Component {
        render() {
          const { showArrows: e } = this.props,
            t = this.props.visibleSlides,
            r = this.props.totalSlides,
            n = this.props.currentSlide;
          if (t >= r) return null;
          const i = (100 * n) / r,
            a = 100 * (1 - Math.min(n + t, r) / r),
            o = i + (50 * t) / r,
            l = 100 - o;
          return s.createElement(
            "div",
            { className: If.pipScrollerContainer },
            e &&
              s.createElement(
                Bf.jp,
                {
                  className: xr(
                    If.pipScrollButton,
                    If.left,
                    If.carouselNavButton,
                  ),
                },
                s.createElement(ac, null),
              ),
            s.createElement(
              "div",
              { className: If.pipScroller },
              s.createElement("div", { className: If.scrollBackground }),
              s.createElement("div", {
                className: If.scrollForeground,
                style: { left: i + "%", right: a + "%" },
              }),
              s.createElement(
                "div",
                {
                  className: If.scrollNavDiv,
                  style: { left: "0%", width: o + "%" },
                },
                s.createElement(
                  Bf.jp,
                  { className: xr(If.carouselNavButton, If.scrollNavButton) },
                  s.createElement("div", null),
                ),
              ),
              s.createElement(
                "div",
                {
                  className: If.scrollNavDiv,
                  style: { right: "0%", width: l + "%" },
                },
                s.createElement(
                  Bf.P1,
                  { className: xr(If.carouselNavButton, If.scrollNavButton) },
                  s.createElement("div", null),
                ),
              ),
            ),
            e &&
              s.createElement(
                Bf.P1,
                {
                  className: xr(
                    If.pipScrollButton,
                    If.right,
                    If.carouselNavButton,
                  ),
                },
                s.createElement(ac, null),
              ),
          );
        }
      }
      const Of = (0, Bf.Rq)(Af, (e) => ({
        currentSlide: e.currentSlide,
        totalSlides: e.totalSlides,
        visibleSlides: e.visibleSlides,
      }));
      function Ff(e) {
        const t = M();
        return e.screenIsWide || t
          ? s.createElement(Lf, Object.assign({}, e), e.children)
          : s.createElement(Df, Object.assign({}, e), e.children);
      }
      function Lf(e) {
        const t = M(),
          r = () => s.Children.count(e.children),
          n = r(),
          i = Math.min(r(), e.visibleElements);
        if (!n || !i) return null;
        const a = i < n,
          o = e.hideArrows || !a,
          l = !a || e.hidePips;
        let c = 4 / 3,
          u = !0;
        e.slideAspectRatio && ((c = e.slideAspectRatio), (u = !1));
        const d = `items_in_row_${e.visibleElements}`;
        return s.createElement(
          Ol,
          {
            "flow-children": "row",
            className: xr(If.carouselBody, e.className, d),
            navKey: e.navKey,
          },
          s.createElement(
            Bf.sj,
            {
              visibleSlides: e.visibleElements,
              totalSlides: r(),
              naturalSlideWidth: 100 * c,
              naturalSlideHeight: 100,
              step: e.visibleElements,
              infinite: !e.disableEdgeWrap,
              isIntrinsicHeight: u,
              dragEnabled: !1,
              touchEnabled: !1,
              lockOnWindowScroll: !0,
              orientation: "horizontal",
              disableKeyboard: !0,
            },
            s.createElement(
              Nf,
              {
                bHideArrows: o,
                bAutoAdvance: e.bAutoAdvance && !t,
                onSlide: e.onSlide,
              },
              s.Children.map(e.children, (t, r) => {
                const n = e.bLazyRenderChildren
                  ? s.createElement(
                      Tf,
                      {
                        rootMargin: "0px 100% 0px 100%",
                        bHorizontal: !0,
                        placeholderWidth: 1,
                        placeholderHeight: 1,
                      },
                      t,
                    )
                  : t;
                return s.createElement(
                  Bf.Mi,
                  { className: If.innerSlide, key: "slide_" + r, index: r },
                  n,
                );
              }),
            ),
            !l &&
              (e.useTestScrollbar
                ? s.createElement(Of, { showArrows: o, carouselStore: null })
                : s.createElement(
                    "div",
                    { className: If.breadcrumbContainer },
                    ((t) =>
                      s.Children.map(e.children, (e, r) =>
                        r % t != 0
                          ? null
                          : s.createElement(
                              Bf.oT,
                              { slide: r, className: If.pip },
                              s.createElement("img", { src: Ef }),
                            ),
                      ))(i),
                  )),
          ),
        );
      }
      function kf(e) {
        e && (window.clearTimeout(e.current), (e.current = null));
      }
      function Nf(e) {
        const { bHideArrows: t, bAutoAdvance: r, children: n, onSlide: i } = e,
          a = s.useContext(Bf.ro),
          o = s.useRef(a.state.currentSlide),
          [l, c] = s.useState(null),
          [u, d] = s.useState(!!r),
          m = s.useRef(null),
          _ = s.useRef(null);
        s.useEffect(() => {
          const e = () => {
            m.current = window.setTimeout(() => {
              if (m.current) {
                kf(m);
                const e = (a.state.currentSlide + 1) % a.state.totalSlides;
                a.setStoreState({ currentSlide: e });
              }
            }, 8e3);
          };
          u && e();
          const t = () => {
            const t = o.current,
              r = a.state.currentSlide;
            i && i(r), c(r > t ? "Right" : r < t ? "Left" : null), kf(_);
            (_.current = window.setTimeout(() => {
              _.current && (c(null), kf(_));
            }, 1e3)),
              (o.current = r),
              m.current ? (kf(m), d(!1)) : u && e();
          };
          return (
            a.subscribe(t),
            () => {
              a.unsubscribe(t), kf(m), kf(_);
            }
          );
        }, [a, u]);
        const h = !!l && "CarouselSliding" + l;
        return s.createElement(
          "div",
          { className: xr(If.sliderBody, "SliderBody", h) },
          !t &&
            s.createElement(
              Bf.jp,
              {
                className: xr(
                  If.carouselBtnCtn,
                  If.left,
                  If.carouselNavButton,
                  "CarouselBtnLeft",
                ),
              },
              s.createElement(ac, null),
            ),
          s.createElement(
            Bf.iR,
            {
              className: Rf.GetScrollableClassname(),
              classNameTray: If.slideTrayCustomize,
              classNameAnimation: If.DisableSliderMotion,
            },
            s.createElement(hd, null, n),
          ),
          !t &&
            s.createElement(
              Bf.P1,
              {
                className: xr(
                  If.carouselBtnCtn,
                  If.right,
                  If.carouselNavButton,
                  "CarouselBtnRight",
                ),
              },
              s.createElement(ac, null),
            ),
        );
      }
      function Pf(e) {
        const t = M(),
          r = Cf(wf),
          n = "true" === String(bf(e.args, "autoadvance")).toLowerCase();
        return s.createElement(
          Ff,
          {
            hideArrows: !r,
            hidePips: t,
            visibleElements: 1,
            useTestScrollbar: !1,
            bLazyRenderChildren: !0,
            screenIsWide: r,
            bAutoAdvance: n,
            className: Uh().ScreenshotCarousel,
          },
          e.children,
        );
      }
      class Gf {
        constructor() {
          (this.m_nSelectedAbilityIndex = 0),
            (this.m_asyncShortFilmOwnership = new os()),
            (this.m_BBCodeDictionary = new Map([
              ...Array.from(pf.entries()),
              ...Array.from(gf.entries()),
              ["color", { Constructor: Tr, autocloses: !1 }],
              ["block", { Constructor: Mr, autocloses: !1 }],
              ["spoiler", { Constructor: Dr, autocloses: !1 }],
              ["minor", { Constructor: Ar, autocloses: !1 }],
              ["b", { Constructor: Or, autocloses: !1 }],
              ["superscript", { Constructor: Lr, autocloses: !1 }],
              ["sup", { Constructor: Lr, autocloses: !1 }],
              ["strike", { Constructor: Fr, autocloses: !1 }],
              ["previewyoutube", { Constructor: kr, autocloses: !1 }],
              ["img", { Constructor: Nr, autocloses: !1 }],
              ["div", { Constructor: Pr, autocloses: !1 }],
              ["carousel", { Constructor: Pf, autocloses: !1 }],
            ])),
            (this.BBCodeAccumulator = (e) => new mr(new ur(), 0)),
            (this.m_BBCodeParser = new gr(
              this.m_BBCodeDictionary,
              this.BBCodeAccumulator,
            )),
            (0, Je.rC)(this);
        }
        Init() {
          a.s(document.getElementById("csgo_react_root")).render(
            s.createElement(ts, { app: this }),
          );
        }
        GetBBCodeParser() {
          return this.m_BBCodeParser;
        }
      }
      (0, i.gn)([Je.LO], Gf.prototype, "m_nSelectedAbilityIndex", void 0);
      let xf = new Gf();
      (0, Je.jQ)({ enforceActions: "never" }),
        document.addEventListener("DOMContentLoaded", function () {
          return (0, i.mG)(this, void 0, void 0, function* () {
            !(function (e = h) {
              const t = {},
                r = b("config", e);
              r && (delete r.SESSIONID, Object.assign(w, r), (t.config = !0));
              const n = b("userinfo", e);
              n &&
                (Object.assign(C, n),
                (t.userConfig = !0),
                C.is_support && S() && (C.is_support = !1));
              const i = b("broadcast", e);
              i && (Object.assign(B, i), (t.broadcastConfig = !0));
              const a = b("community", e);
              a && (Object.assign(E, a), (t.communityConfig = !0));
              const s = b("event", e);
              s && (Object.assign(I, s), (t.eventConfig = !0));
            })("application_config"),
              (function () {
                let e = b("csgo_react", "application_config");
                e && Object.assign(k, e);
              })(),
              yield (function (e) {
                return (0, i.mG)(this, void 0, void 0, function* () {
                  const [t, n] = yield Promise.all([
                      r(6576)(`./shared_${e}.json`),
                      r(5175)(`./main_${e}.json`),
                    ]),
                    i = Object.assign({}, n.default),
                    a = ze.GetLanguageFallback(e);
                  if (e === a) Qe.InitFromObjects(i, null, t.default, null);
                  else {
                    const [e, n] = yield Promise.all([
                        r(1319)(`./shared_${a}.json`),
                        r(9790)(`./main_${a}.json`),
                      ]),
                      s = Object.assign({}, n.default);
                    Qe.InitFromObjects(i, s, t.default, e.default);
                  }
                });
              })(k.LANGUAGE),
              xf.Init();
          });
        });
    },
    2471: (e, t, r) => {
      "use strict";
      "VALVE_PUBLIC_PATH" in window
        ? (r.p = window.VALVE_PUBLIC_PATH)
        : console.error(
            "VALVE_PUBLIC_PATH not defined; check for a call to CHTMLHelpers::WebpackConfigScriptlet",
          ),
        console.assert(
          123 === Array.from(new Set([123]))[0],
          "Should not include prototypejs.",
        );
    },
    6576: (e, t, r) => {
      var n = {
        "./shared_arabic.json": [5340, 2431],
        "./shared_brazilian.json": [2727, 8385],
        "./shared_bulgarian.json": [5400, 1313],
        "./shared_czech.json": [9498, 4189],
        "./shared_danish.json": [9906, 9753],
        "./shared_dutch.json": [833, 5925],
        "./shared_english.json": [3594, 7975],
        "./shared_finnish.json": [9827, 3557],
        "./shared_french.json": [8896, 3112],
        "./shared_german.json": [9022, 6007],
        "./shared_greek.json": [8701, 4297],
        "./shared_hungarian.json": [4179, 5948],
        "./shared_indonesian.json": [9934, 8754],
        "./shared_italian.json": [6451, 5933],
        "./shared_japanese.json": [5217, 2844],
        "./shared_koreana.json": [7896, 6542],
        "./shared_latam.json": [2566, 2443],
        "./shared_norwegian.json": [403, 4108],
        "./shared_polish.json": [3509, 3252],
        "./shared_portuguese.json": [8392, 5849],
        "./shared_romanian.json": [8151, 4823],
        "./shared_russian.json": [4731, 9062],
        "./shared_sc_schinese.json": [9212, 2029],
        "./shared_schinese.json": [7974, 2537],
        "./shared_spanish.json": [1267, 6492],
        "./shared_swedish.json": [8366, 5625],
        "./shared_tchinese.json": [8889, 7602],
        "./shared_thai.json": [3041, 1162],
        "./shared_turkish.json": [968, 5438],
        "./shared_ukrainian.json": [7448, 7781],
        "./shared_vietnamese.json": [9631, 4964],
      };
      function i(e) {
        if (!r.o(n, e))
          return Promise.resolve().then(() => {
            var t = new Error("Cannot find module '" + e + "'");
            throw ((t.code = "MODULE_NOT_FOUND"), t);
          });
        var t = n[e],
          i = t[0];
        return r.e(t[1]).then(() => r.t(i, 19));
      }
      (i.keys = () => Object.keys(n)), (i.id = 6576), (e.exports = i);
    },
    1319: (e, t, r) => {
      var n = {
        "./shared_arabic.json": [5340, 2431],
        "./shared_brazilian.json": [2727, 8385],
        "./shared_bulgarian.json": [5400, 1313],
        "./shared_czech.json": [9498, 4189],
        "./shared_danish.json": [9906, 9753],
        "./shared_dutch.json": [833, 5925],
        "./shared_english.json": [3594, 7975],
        "./shared_finnish.json": [9827, 3557],
        "./shared_french.json": [8896, 3112],
        "./shared_german.json": [9022, 6007],
        "./shared_greek.json": [8701, 4297],
        "./shared_hungarian.json": [4179, 5948],
        "./shared_indonesian.json": [9934, 8754],
        "./shared_italian.json": [6451, 5933],
        "./shared_japanese.json": [5217, 2844],
        "./shared_koreana.json": [7896, 6542],
        "./shared_latam.json": [2566, 2443],
        "./shared_norwegian.json": [403, 4108],
        "./shared_polish.json": [3509, 3252],
        "./shared_portuguese.json": [8392, 5849],
        "./shared_romanian.json": [8151, 4823],
        "./shared_russian.json": [4731, 9062],
        "./shared_sc_schinese.json": [9212, 2029],
        "./shared_schinese.json": [7974, 2537],
        "./shared_spanish.json": [1267, 6492],
        "./shared_swedish.json": [8366, 5625],
        "./shared_tchinese.json": [8889, 7602],
        "./shared_thai.json": [3041, 1162],
        "./shared_turkish.json": [968, 5438],
        "./shared_ukrainian.json": [7448, 7781],
        "./shared_vietnamese.json": [9631, 4964],
      };
      function i(e) {
        if (!r.o(n, e))
          return Promise.resolve().then(() => {
            var t = new Error("Cannot find module '" + e + "'");
            throw ((t.code = "MODULE_NOT_FOUND"), t);
          });
        var t = n[e],
          i = t[0];
        return r.e(t[1]).then(() => r.t(i, 19));
      }
      (i.keys = () => Object.keys(n)), (i.id = 1319), (e.exports = i);
    },
  },
  (e) => {
    e.O(0, [3250], () => {
      return (t = 8197), e((e.s = t));
      var t;
    });
    e.O();
  },
]);
